package metric

import "go.opentelemetry.io/otel/internal/metric"

Index

Types

type Async

type Async struct {
	Instrument
	// contains filtered or unexported fields
}

func (*Async) Implementation

func (a *Async) Implementation() interface{}

type Batch

type Batch struct {
	// Measurement needs to be aligned for 64-bit atomic operations.
	Measurements []Measurement
	Ctx          context.Context
	LabelSet     *LabelSet
}

type Handle

type Handle struct {
	Instrument *Sync
	LabelSet   *LabelSet
}

func (*Handle) RecordOne

func (h *Handle) RecordOne(ctx context.Context, number core.Number)

func (*Handle) Unbind

func (h *Handle) Unbind()

type Instrument

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

func (Instrument) Descriptor

func (i Instrument) Descriptor() apimetric.Descriptor

type LabelSet

type LabelSet struct {
	TheMeter *Meter
	Labels   map[core.Key]core.Value
}

type Measurement

type Measurement struct {
	// Number needs to be aligned for 64-bit atomic operations.
	Number     core.Number
	Instrument apimetric.InstrumentImpl
}

type Meter

type Meter struct {
	MeasurementBatches []Batch
	AsyncInstruments   []*Async
}

func NewMeter

func NewMeter() (*Meter, apimetric.Meter)

func (*Meter) Labels

func (m *Meter) Labels(labels ...core.KeyValue) apimetric.LabelSet

func (*Meter) NewAsyncInstrument

func (m *Meter) NewAsyncInstrument(descriptor metric.Descriptor, callback func(func(core.Number, apimetric.LabelSet))) (apimetric.AsyncImpl, error)

func (*Meter) NewSyncInstrument

func (m *Meter) NewSyncInstrument(descriptor metric.Descriptor) (apimetric.SyncImpl, error)

func (*Meter) RecordBatch

func (m *Meter) RecordBatch(ctx context.Context, labels apimetric.LabelSet, measurements ...apimetric.Measurement)

func (*Meter) RunAsyncInstruments

func (m *Meter) RunAsyncInstruments()

type MeterProvider

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

func NewProvider

func NewProvider() *MeterProvider

func (*MeterProvider) Meter

func (p *MeterProvider) Meter(name string) apimetric.Meter

type Sync

type Sync struct {
	Instrument
}

func (*Sync) Bind

func (s *Sync) Bind(labels apimetric.LabelSet) apimetric.BoundSyncImpl

func (*Sync) Implementation

func (s *Sync) Implementation() interface{}

func (*Sync) RecordOne

func (s *Sync) RecordOne(ctx context.Context, number core.Number, labels apimetric.LabelSet)

Source Files

mock.go

Version
v0.3.0
Published
Mar 21, 2020
Platform
darwin/amd64
Imports
4 packages
Last checked
1 hour ago

Tools for package owners.