# README
metrics
The metrics package provides a simple metrics "Reporter" interface which allows the user to submit counters, gauges and timings (along with key/value tags).
Implementations
- Prometheus (pull): will be first
- Prometheus (push): certainly achievable
- InfluxDB: could quite easily be done
- Telegraf: almost identical to the InfluxDB implementation
- Micro: Could we provide metrics over Micro's server interface?
Todo
- Include a handler middleware which uses the Reporter interface to generate per-request level metrics
- Throughput
- Errors
- Duration
# Functions
Address is the listen address to serve metrics on:.
Count submits a counter metric using the DefaultMetricsReporter:.
DefaultTags will be added to every metric:.
Gauge submits a gauge metric using the DefaultMetricsReporter:.
IsSet lets you know if the DefaultMetricsReporter has been set already:.
NewOptions prepares a set of options:.
Path used to serve metrics over HTTP:.
Percentiles defines the desired spread of statistics for histogram / timing metrics:.
SetDefaultMetricsReporter allows other packages (such as profiles) to set the DefaultMetricsReporter The "initialized" flag prevents this from being overwritten (because other packages may already be using it).
Timing submits a timing metric using the DefaultMetricsReporter:.
# Variables
DefaultMetricsReporter implementation.
# Interfaces
Reporter is an interface for collecting and instrumenting metrics.