From 8e68591933b5e94b7a53b23592241dac229189ad Mon Sep 17 00:00:00 2001 From: "Anand Babu (AB) Periasamy" Date: Fri, 23 Oct 2015 19:59:08 -0700 Subject: [PATCH] updated probe --- main.go | 4 ++++ .../github.com/minio/minio-xl/pkg/probe/probe.go | 15 ++++++++++++++- .../minio/minio-xl/pkg/probe/probe_test.go | 2 ++ vendor/vendor.json | 4 ++-- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 2664635f1..016ff0cc9 100644 --- a/main.go +++ b/main.go @@ -25,6 +25,7 @@ import ( "github.com/dustin/go-humanize" "github.com/minio/cli" + "github.com/minio/minio-xl/pkg/probe" ) func init() { @@ -147,6 +148,9 @@ VERSION: } func main() { + // Set projet's root source path. + probe.SetRoot() + app := registerApp() app.Before = func(c *cli.Context) error { globalJSONFlag = c.GlobalBool("json") diff --git a/vendor/github.com/minio/minio-xl/pkg/probe/probe.go b/vendor/github.com/minio/minio-xl/pkg/probe/probe.go index c82df6bd1..b18069585 100644 --- a/vendor/github.com/minio/minio-xl/pkg/probe/probe.go +++ b/vendor/github.com/minio/minio-xl/pkg/probe/probe.go @@ -29,6 +29,19 @@ import ( "github.com/dustin/go-humanize" ) +// Root path to the project's source. +var rootPath string + +// SetRoot sets the project's root path. Root path is automatically +// determined from the calling function's source file location. It is +// typically called from the main() function. +func SetRoot() { + // Catch the calling function's source file path. + _, file, _, _ := runtime.Caller(1) + // Save the directory alone. + rootPath = filepath.Dir(file) +} + // GetSysInfo returns useful system statistics. func GetSysInfo() map[string]string { host, err := os.Hostname() @@ -113,7 +126,7 @@ func (e *Error) trace(fields ...string) *Error { pc, file, line, _ := runtime.Caller(2) function := runtime.FuncForPC(pc).Name() _, function = filepath.Split(function) - file = "..." + strings.TrimPrefix(file, os.Getenv("GOPATH")) // trim gopathSource from file + file = strings.TrimPrefix(file, rootPath+string(os.PathSeparator)) // trims project's root path. tp := TracePoint{} if len(fields) > 0 { tp = TracePoint{Line: line, Filename: file, Function: function, Env: map[string][]string{"Tags": fields}} diff --git a/vendor/github.com/minio/minio-xl/pkg/probe/probe_test.go b/vendor/github.com/minio/minio-xl/pkg/probe/probe_test.go index 96cdc47a0..594adc963 100644 --- a/vendor/github.com/minio/minio-xl/pkg/probe/probe_test.go +++ b/vendor/github.com/minio/minio-xl/pkg/probe/probe_test.go @@ -43,6 +43,8 @@ func testDummy2() *probe.Error { } func (s *MySuite) TestProbe(c *C) { + probe.SetRoot() // Set project's root source path. + es := testDummy2().Trace("TopOfStack") // Uncomment the following Println to visually test probe call trace. // fmt.Println("Expecting a simulated error here.", es) diff --git a/vendor/vendor.json b/vendor/vendor.json index bba41be3b..d9e2b8076 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -64,8 +64,8 @@ }, { "path": "github.com/minio/minio-xl/pkg/probe", - "revision": "a5fc6d2430ba2ebcab31b938ab02a42bac85dc2e", - "revisionTime": "2015-10-20T11:16:42-07:00" + "revision": "0ccfa2965bc93efde3efda8b0f0779690f192d4f", + "revisionTime": "2015-10-23T19:31:44-07:00" }, { "path": "github.com/minio/minio-xl/pkg/quick",