micro/metrics
Prawn 2998735bf3
Tidying up the new Metrics implementations (#1974)
* Unit tests to check tagging and aggregation of Prometheus metrics

* Removing the logger output routing (because it doesn't actually work in the logger implementation)

* Emitting values with the logging reporter

Co-authored-by: chris <chris@Profanity.local>
2020-08-27 09:08:51 +01:00
..
logging Tidying up the new Metrics implementations (#1974) 2020-08-27 09:08:51 +01:00
noop Observability/metrics update (#1962) 2020-08-21 20:57:10 +12:00
prometheus Tidying up the new Metrics implementations (#1974) 2020-08-27 09:08:51 +01:00
wrapper Metrics interface and Prometheus implementation (#1929) 2020-08-18 08:27:50 +01:00
metrics.go Rename reporter.go to metrics.go 2020-08-23 22:18:28 +01:00
options_test.go Observability/metrics update (#1962) 2020-08-21 20:57:10 +12:00
options.go Observability/metrics update (#1962) 2020-08-21 20:57:10 +12:00
README.md Metrics interface and Prometheus implementation (#1929) 2020-08-18 08:27:50 +01:00

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