Documentation ¶
Overview ¶
Package meter is for instrumentation
Index ¶
- Variables
- func BuildLabels(labels ...string) []string
- func BuildName(name string, labels ...string) string
- func NewContext(ctx context.Context, c Meter) context.Context
- type Counter
- type FloatCounter
- type Gauge
- type Histogram
- type Meter
- type Option
- func Address(value string) Option
- func Context(ctx context.Context) Option
- func LabelPrefix(pref string) Option
- func Labels(ls ...string) Option
- func Logger(l logger.Logger) Option
- func MetricPrefix(pref string) Option
- func Name(n string) Option
- func Path(value string) Option
- func SetOption(k, v interface{}) Option
- func WriteFDMetrics(b bool) Option
- func WriteProcessMetrics(b bool) Option
- type Options
- type Summary
Constants ¶
This section is empty.
Variables ¶
var ( // DefaultMeter is the default meter DefaultMeter = NewMeter() // DefaultAddress data will be made available on this host:port DefaultAddress = ":9090" // DefaultPath the meter endpoint where the Meter data will be made available DefaultPath = "/metrics" // DefaultMetricPrefix holds the string that prepends to all metrics DefaultMetricPrefix = "micro_" // DefaultLabelPrefix holds the string that prepends to all labels DefaultLabelPrefix = "micro_" // DefaultSummaryQuantiles is the default spread of stats for summary DefaultSummaryQuantiles = []float64{0.5, 0.9, 0.97, 0.99, 1} // DefaultSummaryWindow is the default window for summary DefaultSummaryWindow = 5 * time.Minute )
Functions ¶
func BuildLabels ¶
BuildLabels used to sort labels and delete duplicates. Last value wins in case of duplicate label keys.
Types ¶
type FloatCounter ¶
FloatCounter is a float64 counter
type Histogram ¶
Histogram is a histogram for non-negative values with automatically created buckets
type Meter ¶
type Meter interface { // Name returns meter name Name() string // Init initialize meter Init(opts ...Option) error // Clone create meter copy with new options Clone(opts ...Option) Meter // Counter get or create counter Counter(name string, labels ...string) Counter // FloatCounter get or create float counter FloatCounter(name string, labels ...string) FloatCounter // Gauge get or create gauge Gauge(name string, fn func() float64, labels ...string) Gauge // Set create new meter metrics set Set(opts ...Option) Meter // Histogram get or create histogram Histogram(name string, labels ...string) Histogram // Summary get or create summary Summary(name string, labels ...string) Summary // SummaryExt get or create summary with spcified quantiles and window time SummaryExt(name string, window time.Duration, quantiles []float64, labels ...string) Summary // Write writes metrics to io.Writer Write(w io.Writer, opts ...Option) error // Options returns meter options Options() Options // String return meter type String() string }
Meter is an interface for collecting and instrumenting metrics
func FromContext ¶
FromContext get meter from context
type Option ¶
type Option func(*Options)
Option powers the configuration for metrics implementations:
func LabelPrefix ¶ added in v3.8.1
LabelPrefix sets the labels prefix
func MetricPrefix ¶ added in v3.8.1
MetricPrefix sets the metric prefix
func SetOption ¶
func SetOption(k, v interface{}) Option
SetOption returns a function to setup a context with given value
func WriteFDMetrics ¶
WriteFDMetrics enable fd metrics output for write
func WriteProcessMetrics ¶
WriteProcessMetrics enable process metrics output for write
type Options ¶
type Options struct { // Logger used for logging Logger logger.Logger // Context holds external options Context context.Context // Name holds the meter name Name string // Address holds the address that serves metrics Address string // Path holds the path for metrics Path string // MetricPrefix holds the prefix for all metrics MetricPrefix string // LabelPrefix holds the prefix for all labels LabelPrefix string // Labels holds the default labels Labels []string // WriteProcessMetrics flag to write process metrics WriteProcessMetrics bool // WriteFDMetrics flag to write fd metrics WriteFDMetrics bool }
Options for metrics implementations