prometheus/vendor/github.com/go-stack/stack
Krasi Georgiev 3c17e51391 vendor: update go-stack to fix sigpanic when debugging with delve
Signed-off-by: Krasi Georgiev <krasi.root@gmail.com>
2017-09-29 15:04:58 +03:00
..
LICENSE.md vendor: update go-stack to fix sigpanic when debugging with delve 2017-09-29 15:04:58 +03:00
README.md vendor: add fabx/tsdb 2017-02-07 03:42:02 -08:00
stack.go vendor: update go-stack to fix sigpanic when debugging with delve 2017-09-29 15:04:58 +03:00

README.md

GoDoc Go Report Card TravisCI Coverage Status

stack

Package stack implements utilities to capture, manipulate, and format call stacks. It provides a simpler API than package runtime.

The implementation takes care of the minutia and special cases of interpreting the program counter (pc) values returned by runtime.Callers.

Versioning

Package stack publishes releases via semver compatible Git tags prefixed with a single 'v'. The master branch always contains the latest release. The develop branch contains unreleased commits.

Formatting

Package stack's types implement fmt.Formatter, which provides a simple and flexible way to declaratively configure formatting when used with logging or error tracking packages.

func DoTheThing() {
    c := stack.Caller(0)
    log.Print(c)          // "source.go:10"
    log.Printf("%+v", c)  // "pkg/path/source.go:10"
    log.Printf("%n", c)   // "DoTheThing"

    s := stack.Trace().TrimRuntime()
    log.Print(s)          // "[source.go:15 caller.go:42 main.go:14]"
}

See the docs for all of the supported formatting options.