func TestClientGetServerDebugInfo(t *testing.T) { htraceBld := &MiniHTracedBuilder{Name: "TestClientGetServerDebugInfo", DataDirs: make([]string, 2)} ht, err := htraceBld.Build() if err != nil { t.Fatalf("failed to create datastore: %s", err.Error()) } defer ht.Close() var hcl *htrace.Client hcl, err = htrace.NewClient(ht.ClientConf(), nil) if err != nil { t.Fatalf("failed to create client: %s", err.Error()) } defer hcl.Close() debugInfo, err := hcl.GetServerDebugInfo() if err != nil { t.Fatalf("failed to call GetServerDebugInfo: %s", err.Error()) } if debugInfo.StackTraces == "" { t.Fatalf(`debugInfo.StackTraces == ""`) } if debugInfo.GCStats == "" { t.Fatalf(`debugInfo.GCStats == ""`) } }
// Print information retrieved from an htraced server via /server/debugInfo func printServerDebugInfo(hcl *htrace.Client) int { stats, err := hcl.GetServerDebugInfo() if err != nil { fmt.Println(err.Error()) return EXIT_FAILURE } fmt.Println("=== GOROUTINE STACKS ===") fmt.Print(stats.StackTraces) fmt.Println("=== END GOROUTINE STACKS ===") fmt.Println("=== GC STATISTICS ===") fmt.Print(stats.GCStats) fmt.Println("=== END GC STATISTICS ===") return EXIT_SUCCESS }