signalfxcorrelationexporter

package module
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2020 License: Apache-2.0 Imports: 18 Imported by: 0

README

SignalFx Correlation Exporter

This exporter observes traces being sent for their service and environment. When a new service or environment is seen it associates the source (e.g. host or pod) to that source or environment in SignalFx metrics so that those metrics can be filtered by the service and environment.

Supported pipeline types: traces

Configuration

The following configuration options are required:

  • endpoint (required, no default): This is the base URL for API requests (e.g. https://api.signalfx.com).
  • access_token (no default): The authentication token provided by SignalFx.
  • timeout (default = 5s): Is the timeout for every attempt to send data to the backend.
  • stale_service_timeout (default = 5 minutes): How long to wait after a span's service name is last seen before uncorrelating it.
  • max_requests (default = 20): Max HTTP requests to be made in parallel.
  • max_buffered (default = 10,000): Max number of correlation updates that can be buffered before updates are dropped.
  • max_retries (default = 2): Max number of retries that will be made for failed correlation updates.
  • log_updates (default = false): Whether or not to log correlation updates to dimensions (at DEBUG level).
  • retry_delay (default = 30 seconds): How long to wait between retries.
  • cleanup_interval (default = 1 minute): How frequently to purge duplicate requests.
  • sync_attributes (default = {"k8s.pod.uid": "k8s.pod.uid", "container.id": "container.id"}) Map containing key of the attribute to read from spans to sync to dimensions specified as the value.

Example:

exporters:
  signalfx_correlation:
    access_token: YOUR_ACCESS_TOKEN
    endpoint: https://api.YOUR_SIGNALFX_REALM.signalfx.com

The full list of settings exposed for this exporter are documented here with detailed sample configurations here.

This exporter also offers proxy support as documented here.

Documentation

Overview

Package signalfxcorrelationexporter performs span to metric correlation for SignalFx.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFactory

func NewFactory() component.ExporterFactory

NewFactory creates a factory for signalfx_correlation exporter.

Types

type Config

type Config struct {
	configmodels.ExporterSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct.
	confighttp.HTTPClientSettings `mapstructure:",squash"`
	correlations.Config           `mapstructure:",squash"`

	// How long to wait after a trace span's service name is last seen before
	// uncorrelating that service.
	StaleServiceTimeout time.Duration `mapstructure:"stale_service_timeout"`
	// SyncAttributes is a key of the span attribute name to sync to the dimension as the value.
	SyncAttributes map[string]string `mapstructure:"sync_attributes"`

	// AccessToken is the authentication token provided by SignalFx.
	AccessToken string `mapstructure:"access_token"`

	// HostTranslations is a map where the key is the host attribute name to rename to the value.
	// TODO: Remove once translations are removed from signalfx exporter.
	HostTranslations map[string]string `mapstructure:"host_translations"`
}

Config defines configuration for signalfx_correlation exporter.

type Tracker

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

Tracker correlation

func NewTracker

func NewTracker(cfg *Config, params component.ExporterCreateParams) *Tracker

NewTracker creates a new tracker instance for correlation.

func (*Tracker) AddSpans

func (cor *Tracker) AddSpans(ctx context.Context, traces pdata.Traces)

AddSpans processes the provided spans to correlate the services and environment observed to the resources (host, pods, etc.) emitting the spans.

func (*Tracker) Shutdown

func (cor *Tracker) Shutdown()

Shutdown correlation tracking.

func (*Tracker) Start

func (cor *Tracker) Start()

Start correlation tracking.

Jump to

Keyboard shortcuts

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