jaeger-lib: github.com/uber/jaeger-lib/metrics Index | Files | Directories

package metrics

import "github.com/uber/jaeger-lib/metrics"

Index

Package Files

counter.go factory.go gauge.go histogram.go keys.go metrics.go stopwatch.go timer.go

func GetKey Uses

func GetKey(name string, tags map[string]string, tagsSep string, tagKVSep string) string

GetKey converts name+tags into a single string of the form "name|tag1=value1|...|tagN=valueN", where tag names are sorted alphabetically.

func Init Uses

func Init(m interface{}, factory Factory, globalTags map[string]string) error

Init does the same as MustInit, but returns an error instead of panicking.

func MustInit Uses

func MustInit(metrics interface{}, factory Factory, globalTags map[string]string)

MustInit initializes the passed in metrics and initializes its fields using the passed in factory.

It uses reflection to initialize a struct containing metrics fields by assigning new Counter/Gauge/Timer values with the metric name retrieved from the `metric` tag and stats tags retrieved from the `tags` tag.

Note: all fields of the struct must be exported, have a `metric` tag, and be of type Counter or Gauge or Timer.

Errors during Init lead to a panic.

type Counter Uses

type Counter interface {
    // Inc adds the given value to the counter.
    Inc(int64)
}

Counter tracks the number of times an event has occurred

var NullCounter Counter = nullCounter{}

NullCounter counter that does nothing

type Factory Uses

type Factory interface {
    Counter(metric Options) Counter
    Timer(metric TimerOptions) Timer
    Gauge(metric Options) Gauge
    Histogram(metric HistogramOptions) Histogram

    // Namespace returns a nested metrics factory.
    Namespace(scope NSOptions) Factory
}

Factory creates new metrics

var NullFactory Factory = nullFactory{}

NullFactory is a metrics factory that returns NullCounter, NullTimer, and NullGauge.

type Gauge Uses

type Gauge interface {
    // Update the gauge to the value passed in.
    Update(int64)
}

Gauge returns instantaneous measurements of something as an int64 value

var NullGauge Gauge = nullGauge{}

NullGauge gauge that does nothing

type Histogram Uses

type Histogram interface {
    // Records the value passed in.
    Record(float64)
}

Histogram that keeps track of a distribution of values.

var NullHistogram Histogram = nullHistogram{}

NullHistogram that does nothing

type HistogramOptions Uses

type HistogramOptions struct {
    Name    string
    Tags    map[string]string
    Help    string
    Buckets []float64
}

HistogramOptions defines the information associated with a metric

type NSOptions Uses

type NSOptions struct {
    Name string
    Tags map[string]string
}

NSOptions defines the name and tags map associated with a factory namespace

type Options Uses

type Options struct {
    Name string
    Tags map[string]string
    Help string
}

Options defines the information associated with a metric

type Stopwatch Uses

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

A Stopwatch tracks the execution time of a specific event

func StartStopwatch Uses

func StartStopwatch(timer Timer) Stopwatch

StartStopwatch begins recording the executing time of an event, returning a Stopwatch that should be used to stop the recording the time for that event. Multiple events can be occurring simultaneously each represented by different active Stopwatches

func (Stopwatch) ElapsedTime Uses

func (s Stopwatch) ElapsedTime() time.Duration

ElapsedTime returns the amount of elapsed time (in time.Duration)

func (Stopwatch) Stop Uses

func (s Stopwatch) Stop()

Stop stops executing of the stopwatch and records the amount of elapsed time

type Timer Uses

type Timer interface {
    // Records the time passed in.
    Record(time.Duration)
}

Timer accumulates observations about how long some operation took, and also maintains a historgam of percentiles.

var NullTimer Timer = nullTimer{}

NullTimer timer that does nothing

type TimerOptions Uses

type TimerOptions struct {
    Name    string
    Tags    map[string]string
    Help    string
    Buckets []time.Duration
}

TimerOptions defines the information associated with a metric

Directories

PathSynopsis
adapters
expvar
go-kit
go-kit/expvar
go-kit/influx
metricstest
multi
prometheus
tally

Package metrics imports 6 packages (graph) and is imported by 193 packages. Updated 2019-09-25. Refresh now. Tools for package owners.