stats

package
v1.7.1 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2023 License: AGPL-3.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CountType     = "count"
	TimerType     = "timer"
	GaugeType     = "gauge"
	HistogramType = "histogram"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Counter added in v1.2.0

type Counter interface {
	Count(n int)
	Increment()
}

Counter represents a counter metric

type Gauge added in v1.2.0

type Gauge interface {
	Gauge(value interface{})
}

Gauge represents a gauge metric

type Histogram added in v1.2.0

type Histogram interface {
	Observe(value float64)
}

Histogram represents a histogram metric

type Measurement added in v1.2.0

type Measurement interface {
	Counter
	Gauge
	Histogram
	Timer
}

Measurement provides all stat measurement functions TODO: the API should not return a union of measurement methods, but rather a distinct type for each measurement type

type Option added in v1.7.0

type Option func(*statsConfig)

func WithServiceName added in v1.7.0

func WithServiceName(name string) Option

WithServiceName sets the service name for the stats service.

func WithServiceVersion added in v1.7.0

func WithServiceVersion(version string) Option

WithServiceVersion sets the service version for the stats service.

type Stats added in v0.1.10

type Stats interface {
	// NewStat creates a new Measurement with provided Name and Type
	NewStat(name, statType string) (m Measurement)

	// NewTaggedStat creates a new Measurement with provided Name, Type and Tags
	NewTaggedStat(name, statType string, tags Tags) Measurement

	// NewSampledTaggedStat creates a new Measurement with provided Name, Type and Tags
	// Deprecated: use NewTaggedStat instead
	NewSampledTaggedStat(name, statType string, tags Tags) Measurement

	// Start starts the stats service and the collection of periodic stats.
	Start(ctx context.Context) error

	// Stop stops the service and the collection of periodic stats.
	Stop()
}

Stats manages stat Measurements

var Default Stats

Default is the default (singleton) Stats instance

func NewStats added in v1.2.0

func NewStats(
	config *config.Config, loggerFactory *logger.Factory, metricManager svcMetric.Manager, opts ...Option,
) Stats

NewStats create a new Stats instance using the provided config, logger factory and metric manager as dependencies

type Tags added in v0.1.10

type Tags map[string]string

Tags is a map of key value pairs

func (Tags) String added in v0.2.0

func (t Tags) String() string

String returns all key value pairs as a single string, separated by commas, sorted by increasing key order

func (Tags) Strings added in v0.2.0

func (t Tags) Strings() []string

Strings returns all key value pairs as an ordered list of strings, sorted by increasing key order

type Timer added in v1.2.0

type Timer interface {
	SendTiming(duration time.Duration)
	Since(start time.Time)
	RecordDuration() func()
}

Timer represents a timer metric

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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