tracing

package
v0.0.0-...-fe632b3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

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

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.

Types

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL