diff --git a/cmd/ghcs/root.go b/cmd/ghcs/root.go index b71f4a0ff..c9fdd2876 100644 --- a/cmd/ghcs/root.go +++ b/cmd/ghcs/root.go @@ -1,21 +1,12 @@ package ghcs import ( - "fmt" - "log" - "strconv" - "strings" - - "github.com/lightstep/lightstep-tracer-go" - "github.com/opentracing/opentracing-go" "github.com/spf13/cobra" ) var version = "DEV" // Replaced in the release build process (by GoReleaser or Homebrew) by the git tag version number. func NewRootCmd(app *App) *cobra.Command { - var lightstep string - root := &cobra.Command{ Use: "ghcs", SilenceUsage: true, // don't print usage message after each error (see #80) @@ -25,14 +16,8 @@ func NewRootCmd(app *App) *cobra.Command { Running commands requires the GITHUB_TOKEN environment variable to be set to a token to access the GitHub API with.`, Version: version, - - PersistentPreRunE: func(cmd *cobra.Command, args []string) error { - return initLightstep(lightstep) - }, } - root.PersistentFlags().StringVar(&lightstep, "lightstep", "", "Lightstep tracing endpoint (service:token@host:port)") - root.AddCommand(newCodeCmd(app)) root.AddCommand(newCreateCmd(app)) root.AddCommand(newDeleteCmd(app)) @@ -43,51 +28,3 @@ token to access the GitHub API with.`, return root } - -// initLightstep parses the --lightstep=service:token@host:port flag and -// enables tracing if non-empty. -func initLightstep(config string) error { - if config == "" { - return nil - } - - cut := func(s, sep string) (pre, post string) { - if i := strings.Index(s, sep); i >= 0 { - return s[:i], s[i+len(sep):] - } - return s, "" - } - - // Parse service:token@host:port. - serviceToken, hostPort := cut(config, "@") - service, token := cut(serviceToken, ":") - host, port := cut(hostPort, ":") - portI, err := strconv.Atoi(port) - if err != nil { - return fmt.Errorf("invalid Lightstep configuration: %s", config) - } - - opentracing.SetGlobalTracer(lightstep.NewTracer(lightstep.Options{ - AccessToken: token, - Collector: lightstep.Endpoint{ - Host: host, - Port: portI, - Plaintext: false, - }, - Tags: opentracing.Tags{ - lightstep.ComponentNameKey: service, - }, - })) - - // Report failure to record traces. - lightstep.SetGlobalEventHandler(func(ev lightstep.Event) { - switch ev := ev.(type) { - case lightstep.EventStatusReport, lightstep.MetricEventStatusReport: - // ignore - default: - log.Printf("[trace] %s", ev) - } - }) - - return nil -}