From 67c3922863ddfc7809a7e0e064bae06388557065 Mon Sep 17 00:00:00 2001 From: Brian Goff Date: Thu, 20 Sep 2018 16:34:37 -0700 Subject: [PATCH] Add support for zpages --- cmd/census.go | 17 +++++++++++++++++ cmd/root.go | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/cmd/census.go b/cmd/census.go index dfe7d174f..9f8cbd1c7 100644 --- a/cmd/census.go +++ b/cmd/census.go @@ -1,8 +1,14 @@ package cmd import ( + "context" + "net/http" + "os" + "github.com/pkg/errors" + "github.com/virtual-kubelet/virtual-kubelet/log" "go.opencensus.io/trace" + "go.opencensus.io/zpages" ) var ( @@ -49,3 +55,14 @@ func AvailableTraceExporters() []string { } return out } + +func setupZpages() { + ctx := context.TODO() + p := os.Getenv("ZPAGES_PORT") + if p == "" { + log.G(ctx).Error("Missing ZPAGES_PORT env var, cannot setup zpages endpoint") + } + mux := http.NewServeMux() + zpages.Handle(mux, "/debug") + http.ListenAndServe(p, mux) +} diff --git a/cmd/root.go b/cmd/root.go index 160dc1a79..c9ef4ca09 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -275,6 +275,10 @@ func initConfig() { userTraceConfig.Tags["provider"] = provider userTraceConfig.Tags["nodeName"] = nodeName for _, e := range userTraceExporters { + if e == "zpages" { + go setupZpages() + continue + } exporter, err := GetTracingExporter(e, userTraceConfig) if err != nil { log.L.WithError(err).WithField("exporter", e).Fatal("Cannot initialize exporter")