Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Exponential Histogram? OpenTelemetry Meet Up 2024-02-15 id:rmatsuoka
Slide 2
Slide 2 text
id:rmatsuoka - 株式会社はてな - 2023年新卒!! - Mackerel - Application Engineer
Slide 3
Slide 3 text
Mackerel
Slide 4
Slide 4 text
Mackerel では OpenTelemetry の メトリクスへの対応を 進めています
Slide 5
Slide 5 text
OpenTelemetry のメトリクス形式 - Sum - Gauge - Histogram - Exponential Histogram <- これなに?
Slide 6
Slide 6 text
Histogram!
Slide 7
Slide 7 text
ヒストグラムは何に使われているのか - HTTPレスポンスタイム - SQL のクエリにかかった時間 - GC が stop the world した時間 - Span Metric Connector
Slide 8
Slide 8 text
Histogram のデータ形式 Bucket: []float ExplicitBounds: []float Timestamp: Time Bucket ExplicitBounds 度数分布表 より引用 実際にはもっとフィールドがある。このデータは概念的なもの。
Slide 9
Slide 9 text
Exponential Histogram?
Slide 10
Slide 10 text
Exponential Histogram が送ってくる データ形式 - Bucket: []float - Scale: int - Timestamp: Time
Slide 11
Slide 11 text
(再掲) Histogram のデータ形式 - Bucket: []float - ExplicitBounds: []float - Timestamp: Time
Slide 12
Slide 12 text
階級はどうやって計算される? s=Scale, Bucket の i-番目の Boundsは 上の数式で表される
Slide 13
Slide 13 text
Exponential Histogram で計装する - デフォルトでは Histogram として計装され る。 - Exponential Histogram で計装するには設定 が必要 export OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION= BASE2_EXPONENTIAL_BUCKET_HISTOGRAM
Slide 14
Slide 14 text
Exponential Histogram は何が嬉しい - 階級(Scale) を自動に設定してくれる。 - 普通の Histogram では、自分で階級を設定する必要 がある - 試行錯誤がめんどくさい - 設定した階級がしょぼいと、パーセンタイルなどの誤 差が大きい(p99 が最大値を超えたり)
Slide 15
Slide 15 text
階級の設定の失敗例 https://opentelemetry.io/blog/2022/exponential-histograms/ から拝借
Slide 16
Slide 16 text
Histogram を保存するには? - Mackerel が対応しているメトリックの形式は Gauge, Sum など のスカラーな時系列 - ただヒストグラムも使いたい! - Exponential Histogram は既存のデータ型とは異なって実装コス トが大変 - Gauge: {timestamp, float} - Exponential Histogram: {timestamp, float, []float}
Slide 17
Slide 17 text
Mackerel ではどう考えた? - Exponential Histogram の扱いは検討中 - 現状 p99 や max などの代表値(スカラー)だけを保存する - Histogram に比べて Exponential Histogram の方がメリットが ある - 将来 Exponential Histogram が主流になりそう - 現実的には代表値で十分かも? - ヒストグラムのユースーケースをぜひ教えてください!