Back to

Package tracing

Latest Go to latest

The highest tagged major version is .

Published: Feb 26, 2020 | License: Apache-2.0 | Module:


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

			// add tracing-specific flags to the cobra command

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.


func Configure

func Configure(serviceName string, options *Options) (io.Closer, error)

Configure initializes Istio's tracing subsystem.

You typically call this once at process startup. Once this call returns, the tracing system is ready to accept data.

type Options

type Options struct {
	// URL of zipkin collector (example: 'http://zipkin:9411/api/v1/spans').
	ZipkinURL string

	// URL of jaeger HTTP collector (example: 'http://jaeger:14268/api/traces?format=jaeger.thrift').
	JaegerURL string

	// Whether or not to emit trace spans as log records.
	LogTraceSpans bool

	// SamplingRate controls the rate at which a process will decide to generate trace spans.
	SamplingRate float64

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

func (o *Options) AttachCobraFlags(cmd *cobra.Command)

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

func (o *Options) TracingEnabled() bool

TracingEnabled returns whether the given options enable tracing to take place.

func (*Options) Validate

func (o *Options) Validate() error

Validate returns whether the options have been configured correctly or an error

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier