reporter

package
v1.17.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddFlags

func AddFlags(flags *flag.FlagSet)

AddFlags adds flags for Options.

Types

type ClientMetricsReporter

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

ClientMetricsReporter is a decorator that emits data loss metrics on behalf of clients. The clients must send a Process.Tag `client-uuid` with a unique string for each client instance.

func WrapWithClientMetrics

func WrapWithClientMetrics(params ClientMetricsReporterParams) *ClientMetricsReporter

WrapWithClientMetrics creates ClientMetricsReporter.

func (*ClientMetricsReporter) Close

func (r *ClientMetricsReporter) Close()

Close stops background gc goroutine for client stats map.

func (*ClientMetricsReporter) EmitBatch

func (r *ClientMetricsReporter) EmitBatch(batch *jaeger.Batch) error

EmitBatch processes client data loss metrics and delegates to the underlying reporter.

func (*ClientMetricsReporter) EmitZipkinBatch

func (r *ClientMetricsReporter) EmitZipkinBatch(spans []*zipkincore.Span) error

EmitZipkinBatch delegates to underlying Reporter.

type ClientMetricsReporterParams

type ClientMetricsReporterParams struct {
	Reporter        Reporter        // required
	Logger          *zap.Logger     // required
	MetricsFactory  metrics.Factory // required
	ExpireFrequency time.Duration
	ExpireTTL       time.Duration
}

ClientMetricsReporterParams is used as input to WrapWithClientMetrics.

type MetricsReporter

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

MetricsReporter is reporter with metrics integration.

func WrapWithMetrics

func WrapWithMetrics(reporter Reporter, mFactory metrics.Factory) *MetricsReporter

WrapWithMetrics wraps Reporter and creates metrics for its invocations.

func (*MetricsReporter) EmitBatch

func (r *MetricsReporter) EmitBatch(batch *jaeger.Batch) error

EmitBatch emits batch to collector.

func (*MetricsReporter) EmitZipkinBatch

func (r *MetricsReporter) EmitZipkinBatch(spans []*zipkincore.Span) error

EmitZipkinBatch emits batch to collector.

type MultiReporter

type MultiReporter []Reporter

MultiReporter provides serial span emission to one or more reporters. If more than one expensive reporter are needed, one or more of them should be wrapped and hidden behind a channel.

func NewMultiReporter

func NewMultiReporter(reps ...Reporter) MultiReporter

NewMultiReporter creates a MultiReporter from the variadic list of passed Reporters.

func (MultiReporter) EmitBatch

func (mr MultiReporter) EmitBatch(batch *jaeger.Batch) error

EmitBatch calls each EmitBatch, returning the first error.

func (MultiReporter) EmitZipkinBatch

func (mr MultiReporter) EmitZipkinBatch(spans []*zipkincore.Span) error

EmitZipkinBatch calls each EmitZipkinBatch, returning the first error.

type Options

type Options struct {
	ReporterType Type
	AgentTags    map[string]string
}

Options holds generic reporter configuration.

func (*Options) InitFromViper

func (b *Options) InitFromViper(v *viper.Viper, logger *zap.Logger) *Options

InitFromViper initializes Options with properties retrieved from Viper.

type Reporter

type Reporter interface {
	EmitZipkinBatch(spans []*zipkincore.Span) (err error)
	EmitBatch(batch *jaeger.Batch) (err error)
}

Reporter handles spans received by Processor and forwards them to central collectors.

type Type

type Type string

Type defines type of reporter.

const (

	// TCHANNEL is name of tchannel reporter.
	TCHANNEL Type = "tchannel"
	// GRPC is name of gRPC reporter.
	GRPC Type = "grpc"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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