lightstep

package
v14.2.0 Latest Latest
Warning

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

Go to latest
Published: May 9, 2022 License: MIT Imports: 18 Imported by: 0

README

LightStep Sink

This sink sends Veneur spans to LightStep.

Configuration

See the various lightstep_* keys in example.yaml for all available configuration options.

Status

This sink is stable.

Capabilities

Spans

Enabled if lightstep_access_token is set to non-empty value.

The following rules manage how SSF spans and tags are mapped to LightStep spans:

  • The SSF indicator field is converted a tag.
  • The SSF service field is mapped to LightStep's component field.

Collector Distribution

Veneur can create lightstep_num_clients number of connections to LightStep collectors. Veneur will then distribute spans to each of these connections. This is useful if you don't have a appropriate load-balancer for balancing gRPC connections. You can also set the lightstep_reconnect_period to change how often each of these connections reconnect. Using these together can help facilitate an even distribution of spans across collectors.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateSpanSink added in v14.2.0

func CreateSpanSink(
	server *veneur.Server, name string, logger *logrus.Entry,
	config veneur.Config, sinkConfig veneur.SpanSinkConfig,
) (sinks.SpanSink, error)

NewLightStepSpanSink creates a new instance of a LightStepSpanSink.

func MigrateConfig added in v14.2.0

func MigrateConfig(conf *veneur.Config)

TODO(awb): Remove this once the old configuration format has been removed.

func ParseSpanConfig added in v14.2.0

func ParseSpanConfig(
	name string, config interface{},
) (veneur.SpanSinkConfig, error)

Types

type LightStepSpanSink

type LightStepSpanSink struct {
	// contains filtered or unexported fields
}

LightStepSpanSink is a sink for spans to be sent to the LightStep client.

func (*LightStepSpanSink) Flush

func (ls *LightStepSpanSink) Flush()

Flush doesn't need to do anything to the LS tracer, so we emit metrics instead.

func (*LightStepSpanSink) Ingest

func (ls *LightStepSpanSink) Ingest(ssfSpan *ssf.SSFSpan) error

Ingest takes in a span and passed it along to the LS client after some sanity checks and improvements are made.

func (*LightStepSpanSink) Name

func (ls *LightStepSpanSink) Name() string

Name returns this sink's name.

func (*LightStepSpanSink) Start

func (ls *LightStepSpanSink) Start(cl *trace.Client) error

Start performs final adjustments on the sink.

type LightStepSpanSinkConfig added in v14.2.0

type LightStepSpanSinkConfig struct {
	AccessToken     util.StringSecret `yaml:"lightstep_access_token"`
	CollectorHost   util.Url          `yaml:"lightstep_collector_host"`
	MaximumSpans    int               `yaml:"lightstep_maximum_spans"`
	NumClients      int               `yaml:"lightstep_num_clients"`
	ReconnectPeriod time.Duration     `yaml:"lightstep_reconnect_period"`
}

Jump to

Keyboard shortcuts

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