clientmetric
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Overview¶
Package clientmetric provides client-side metrics whose valuesget occasionally logged.
Index¶
Constants¶
This section is empty.
Variables¶
var TestHooks testHooksFunctions¶
funcEncodeLogTailMetricsDelta¶
func EncodeLogTailMetricsDelta()string
EncodeLogTailMetricsDelta return an encoded string representing the metricsdifferences since the previous call.
It implements the requirements of a logtail.Config.MetricsDeltafunc. Notably, its output is safe to embed in a JSON string literalwithout further escaping.
The current encoding is:
- name immediately following metric:'N' + hex(varint(len(name))) + name
- set value of a metric:'S' + hex(varint(wireid)) + hex(varint(value))
- increment a metric: (decrements if negative)'I' + hex(varint(wireid)) + hex(varint(value))
funcHasPublished¶added inv1.28.0
HasPublished reports whether a metric with the given name has already beenpublished.
funcWritePrometheusExpositionFormat¶
WritePrometheusExpositionFormat writes all client metrics to w inthe Prometheus text-based exposition format.
Seehttps://github.com/prometheus/docs/blob/main/content/docs/instrumenting/exposition_formats.md
Types¶
typeAggregateCounter¶added inv1.78.0
type AggregateCounter struct {// contains filtered or unexported fields}AggregateCounter returns a sum of expvar counters registered with it.
funcNewAggregateCounter¶added inv1.78.0
func NewAggregateCounter(namestring) *AggregateCounter
NewAggregateCounter returns a new aggregate counter that returnsa sum of expvar variables registered with it.
func (*AggregateCounter)Register¶added inv1.78.0
func (c *AggregateCounter) Register(counter *expvar.Int)
Register registers provided expvar counter.When a counter is added to the counter, it will be resetto start counting from 0. This is to avoid incrementing thecounter with an unexpectedly large value.
func (*AggregateCounter)UnregisterAll¶added inv1.78.0
func (c *AggregateCounter) UnregisterAll()
UnregisterAll unregisters all counters resulting in itstarting back down at zero. This is to ensure monotonicityand respect the semantics of the counter.
func (*AggregateCounter)Value¶added inv1.78.0
func (c *AggregateCounter) Value()int64
typeMetric¶
type Metric struct {// contains filtered or unexported fields}Metric is an integer metric value that's tracked over time.
It's safe for concurrent use.
funcMetrics¶
func Metrics() []*Metric
Metrics returns the sorted list of metrics.
The returned slice should not be mutated.
funcNewCounter¶
NewCounter returns a new metric that can only increment.
funcNewCounterFunc¶added inv1.40.0
NewCounterFunc returns a counter metric that has its value determined bycalling the provided function (calling Add() and Set() will panic). Nolocking guarantees are made for the invocation.
funcNewGaugeFunc¶added inv1.40.0
NewGaugeFunc returns a gauge metric that has its value determined bycalling the provided function (calling Add() and Set() will panic). Nolocking guarantees are made for the invocation.
funcNewUnpublished¶
NewUnpublished initializes a new Metric without calling Publish onit.
func (*Metric)DisableDeltas¶added inv1.40.0
func (m *Metric) DisableDeltas()
DisableDeltas disables uploading of deltas for this metric (absolute valuesare always uploaded).
func (*Metric)Publish¶
func (m *Metric) Publish()
Publish registers a metric in the global map.It panics if the name is a duplicate anywhere in the process.