updated probe

This commit is contained in:
Anand Babu (AB) Periasamy
2015-10-23 19:59:08 -07:00
parent e1a992908c
commit 8e68591933
4 changed files with 22 additions and 3 deletions

View File

@@ -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}}

View File

@@ -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)