# Functions

MakePrometheusExporter returns an initialized prometheus exporter.
NewCounter creates a counter.
NewCounterWithRates registers and returns a new Counter along with some a set of EWMA-based rates at time scales specified by DefaultTimeScales.
NewFunctionalGauge creates a Gauge metric whose value is determined when asked for by calling the provided function.
NewGauge creates a Gauge.
NewGaugeFloat64 creates a GaugeFloat64.
NewHistogram initializes a given Histogram.
NewLatency is a convenience function which returns a histogram with suitable defaults for latency tracking.
NewRate creates an EWMA rate on the given timescale.
NewRegistry creates a new Registry.
TestingSetNow changes the clock used by the metric system.

# Constants

MaxLatency is the maximum value tracked in latency histograms.
TestSampleInterval is passed to histograms during tests which don't want to concern themselves with supplying a "correct" interval.

# Variables

DefaultTimeScales are the durations used for helpers which create windowed metrics in bulk (such as Rates).
Scale10M is a 10 minute window for windowed stats (e.g.
Scale1H is a 1 hour window for windowed stats (e.g.
Scale1M is a 1 minute window for windowed stats (e.g.

# Structs

A Counter holds a single mutable atomic value.
CounterWithRates is a counter and associated EWMA backed rates at different time scales (which are ignored when visiting the object, and are thus not exported).
A Gauge atomically stores a single integer value.
A GaugeFloat64 atomically stores a single float64 value.
A Histogram collects observed values by keeping bucketed counts.
Metadata holds metadata about a metric.
PrometheusExporter contains a map of metric families (a metric with multiple labels).
A Rate is a exponential weighted moving average.
A Registry is a list of metrics.
A TimeScale is a named duration.

# Interfaces

Iterable provides a method for synchronized access to interior objects.
PrometheusExportable is the standard interface for an individual metric that can be exported to prometheus.
Struct can be implemented by the types of members of a metric container so that the members get automatically registered.