Documentation ¶
Overview ¶
Package tracing provides the canonical tracing functionality used by Go-based Istio components.
The package provides direct integration with the Cobra command-line processor which makes it easy to build programs that use a consistent interface for tracing. Here's an example of a simple Cobra-based program using this tracing package:
func main() { // get the default tracing options options := tracing.DefaultOptions() rootCmd := &cobra.Command{ Run: func(cmd *cobra.Command, args []string) { // configure the tracing system if _, err := tracing.Configure(options); err != nil { // print an error and quit } // Generate a trace ot.StartSpan(...) }, } // add tracing-specific flags to the cobra command options.AttachCobraFlags(rootCmd) rootCmd.SetArgs(os.Args[1:]) rootCmd.Execute() }
The point of this package is to configure the global OpenTracing tracer for the process as read from ot.GlobalTracer and used by ot.StartSpan.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Options ¶
type Options struct { // URL of zipkin collector (example: 'http://zipkin:9411/api/v1/spans'). This enables tracing for Mixer itself. ZipkinURL string // URL of jaeger HTTP collector (example: 'http://jaeger:14268/api/traces?format=jaeger.thrift'). This enables tracing for Mixer itself. JaegerURL string // Whether or not to emit trace spans as log records. LogTraceSpans bool }
Options defines the set of options supported by Istio's component tracing package.
func DefaultOptions ¶
func DefaultOptions() *Options
DefaultOptions returns a new set of options, initialized to the defaults
func (*Options) AttachCobraFlags ¶
AttachCobraFlags attaches a set of Cobra flags to the given Cobra command.
Cobra is the command-line processor that Istio uses. This command attaches the necessary set of flags to expose a CLI to let the user control all tracing options.
func (*Options) TracingEnabled ¶
TracingEnabled returns whether the given options enable tracing to take place.