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.