Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Exponential Histogram?

rmatsuoka
March 05, 2024
220

Exponential Histogram?

OpenTelemetry Meetup 2024-02 - connpass の LT で発表した資料です。

rmatsuoka

March 05, 2024
Tweet

Transcript

  1. Histogram のデータ形式 Bucket: []float ExplicitBounds: []float Timestamp: Time Bucket ExplicitBounds

    度数分布表 より引用 実際にはもっとフィールドがある。このデータは概念的なもの。
  2. Exponential Histogram で計装する - デフォルトでは Histogram として計装され る。 - Exponential

    Histogram で計装するには設定 が必要 export OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION= BASE2_EXPONENTIAL_BUCKET_HISTOGRAM
  3. Exponential Histogram は何が嬉しい - 階級(Scale) を自動に設定してくれる。 - 普通の Histogram では、自分で階級を設定する必要

    がある - 試行錯誤がめんどくさい - 設定した階級がしょぼいと、パーセンタイルなどの誤 差が大きい(p99 が最大値を超えたり)
  4. Histogram を保存するには? - Mackerel が対応しているメトリックの形式は Gauge, Sum など のスカラーな時系列 -

    ただヒストグラムも使いたい! - Exponential Histogram は既存のデータ型とは異なって実装コス トが大変 - Gauge: {timestamp, float} - Exponential Histogram: {timestamp, float, []float}
  5. Mackerel ではどう考えた? - Exponential Histogram の扱いは検討中 - 現状 p99 や

    max などの代表値(スカラー)だけを保存する - Histogram に比べて Exponential Histogram の方がメリットが ある - 将来 Exponential Histogram が主流になりそう - 現実的には代表値で十分かも? - ヒストグラムのユースーケースをぜひ教えてください!