Back to godoc.org

Package tracing

v0.0.0-...-fe632b3
Latest Go to latest

The highest tagged major version is .

Published: Feb 26, 2020 | License: Apache-2.0 | Module: github.com/alipay/sofa-mesh

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

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