lingua franca in the whole observability story being built using the Prometheus exposition format as the starting point. It’s (still) a draft In the CNCF sandbox
hardly anyone in the landscape … Everyone knows it nowadays. It displays metrics line-by-line in a text-based format. Histograms, counters, gauges, summaries. N-dimensional space with labels. It is really good at doing metrics And what else?! ♂ So why do we really need OpenMetrics? Mess Prometheus OpenMetrics @leodido
RFC Secret goal ➡ kill the concept of hierarchical data models Open Standard: • no brand. • vendor neutral. • available to all to read and implement ➡ foster cooperation. OpenMetrics @leodido
in seconds What are you counting? # UNIT foo_seconds seconds ⬅ not applicable to state sets and info metrics UNIT descriptor directive # HELP test_m Bla bla bla description no one really reads # TYPE test_m counter # UNIT potatoes test_m{...} x test_m{...} x # EOF ⬅ Metric sets followed by an end marker attach an ID off a trace to directly link to that trace foo_bucket{le="0.1"} 8 # {} 0.054 foo_bucket{le="1"} 10 # {id="9856e"} 0.67 foo_bucket{le="10"} 17 # {id="12fa8"} 9.8 1520879607.789 ⬆ Exemplars Registered content-type/mime-type Normalization • same escape rules for HELP directive and labels • better handling of white spaces between tokens Maybe application/openmetrics-text? @leodido
# TYPE x info x_info{entity="ctrl",name="pretty",version="8.1"} 1 x_info{entity="repl",name="prettier",version="8.2"} 1 Info metrics Just histograms for gauges. What else am I supposed to say? Gauge histograms # TYPE foo stateset foo{entity="controller",foo="a"} 0 foo{entity="controller",foo="b"} 1 foo{entity="replica",foo="a"} 0 foo{entity="replica",foo="b"} 1 # EOF State sets What Prometheus calls untyped metrics. Unknown @leodido
you want to verify your output is valid OpenMetrics? Google, Uber, OpenCensus ... ~2 years in the making, nothing more than this out there yet … Suggestions • Better outward communication • Test suite to let other developers build against it Give birth to it! @leodido