Completed
Resources: attributes describing the process or entity producing metric and trace data, distinct from per-timeseries attributes (a.k.a. "labels", "tags"), an OpenTelemetry-wide concept
Class Central Classrooms beta
YouTube videos curated by Class Central.
Classroom Contents
OpenTelemetry Metrics Deep Dive
Automatically move to the next video in the Classroom when playback concludes
- 1 Intro
- 2 Metrics deep-dive: Outline 1. Goals & timeline 2. Data & semantic models 3. Export features & costs
- 3 Goals: Who is this for? Platform engineer: install SDKS and collectors, configure resources, cloud.region* metrics receivers, export pipelines Software engineer: use metrics APIs, write instrumentati…
- 4 Open Telemetry mandates a strong separation of the API, the SDK, and exporters Decoupling these avoids vendor "lock-in".
- 5 Goals: OpenCensus requirements are met SDK has programmable processing interfaces: . configurable aggregation • high performance
- 6 measurements are sum totals "cumulative" reporting symbol: Σ
- 7 Resources: attributes describing the process or entity producing metric and trace data, distinct from per-timeseries attributes (a.k.a. "labels", "tags"), an OpenTelemetry-wide concept
- 8 Data model: Support both and A Temporality can be Cumulative or Delta Instrument Temporality: describes whether a metric instrument input at the API is a change or a total Aggregation Temporality: de…
- 9 Data model: Why temporality? Instrument temporality? This choice makes the application stateless with respect to the SDK. Counter instruments capture transactional changes (A), while SumObserver inst…
- 10 In both Prometheus and Statsd APIs, the Counter instruments capture changes in a sum (A) In OpenTelemetry: Counter.Add(): increments are non-negative (monotonic) UpDown Counter.Add(): positive and ne…
- 11 Data model: Individual measurements In both Prometheus and Statsd APIs, the Gauge and Histogram instruments capture individual measurements, have the same semantic type. OpenTelemetry creates a new d…
- 12 Data model: Why restrict Gauge? Prometheus and Stats Gauges are sometimes used to capture cumulative sums, sometimes individual values, i.e., different semantic kinds of data. In Open Telemetry: SumO…
- 13 Export: Variable-boundary histograms The histogram data point type is a work-in-progress Choose one: DDSketch, Circlhist, HDR histogram...., just use consistent parameters. with sub-linear bucket
- 14 Export: Configurable cardinality control Metric attributes (a.k.a. labels, tags) can be expensive and valuable, what controls do we have? • Erase high-cardinality attributes in the export pipeline (i…
- 15 Export: In-process stateless cumulative exporter An on-host collector agent gathers host metrics itself The in-process export pipeline is stateless, the collector must keep long-term state.
- 16 Export: In-process stateless Prometheus exporter Prometheus Remote Write exporter configured The in-process export pipeline is stateless, the collector must keep long-term state.
- 17 Export: Push/Pull, Stateless/Cumulative compared Pull/Cumulative (default): Push/Stateless (optional): • Export to Prometheus • Similar to Trace export • Easlier reliability (average dropped data) id…
- 18 Export: Collector export pipeline on Kubernetes Open Telemetry Collector with Host and Kubernetes metrics receivers Configure with OpenMetrics, Statsd, and OTLP receivers.