Skip to content

Latest commit

 

History

History
34 lines (31 loc) · 1.67 KB

openmetrics.md

File metadata and controls

34 lines (31 loc) · 1.67 KB

OpenMetrics Project

Goal: convert imetrics to surface data using the OpenMetrics spec.

Tasks:

  • Copy varz module to a new module called openmetrics to use as a starting point
  • Modify openmetrics module to surface data compliant with the standard:
    • Include # EOF as required by the standard
    • Update Content-Type header
    • Include TYPE metric descriptor and support for main metric types
      • counter
      • gauge
      • unknown
    • Update handling of mapped data to convert mapped counters and stats maps to tagged metric sets
    • Metric type for stats
  • Convert from mod_esi to cowboy to surface data at /metrics URL path (required by the standard)
  • Add openmetrics_strict_compat application environment variable (causes only forwards-incompatible metrics to exist on the legacy endpoint and not exist on the OpenMetrics endpoint)
  • Extend imetrics to support additional OpenMetrics features
    • Exemplars
    • UNIT metric descriptor
    • HELP metric descriptor
    • Tags on a per-metric level
      • counter
      • gauge / multigauge
      • stats
      • histograms
    • New metric types?
      • summary (as a way to surface precomputed percentiles from histograms)
      • histogram and gaugehistogram
      • stateset
      • info
    • More?
  • (Optionally) Extend imetrics to surface OpenMetrics data via Protobuf instead of UTF-8 text