Slide 1

Slide 1 text

© LayerX Inc. Datadog 関数クイズ (初級編) 2025-01-14 新年エンジニアLT会

Slide 2

Slide 2 text

© LayerX Inc. 2 Datadog 関数クイズ (初級編) みなさん Datadog は活用できていますか? これからクイズを3問出題します。 ぜひコメントで回答を! 勘でもいいです!!

Slide 3

Slide 3 text

© LayerX Inc. 3 第1問

Slide 4

Slide 4 text

© LayerX Inc. 4 第1問 とあるエンドポイントのレイテンシを表すグラフです。バッチの重いリクエストで値が跳ねています。 バッチリクエストを除外するため、一定以上のスパイク値を無視したいです。このときに使える関数は? 1: peak_max() 2: cutoff_max() 3: outliers()

Slide 5

Slide 5 text

© LayerX Inc. 5 第1問 正解は 2: cutoff_max() cutoff_max(metric, num) の形で使用すると、num を超える値が削除されます。 補足: num より大きい値を検出できなくなるため、監視で使用する際は注意が必要です。     代替で clamp_max(metric, num) を用いると num を超えた場合に num へ丸めてくれます。

Slide 6

Slide 6 text

© LayerX Inc. 6 第1問 cutoff_max(metric, 3) で3より大きいスパイク値を除外し、通常処理のレイテンシに注目できました。 before: after:

Slide 7

Slide 7 text

© LayerX Inc. 7 第2問

Slide 8

Slide 8 text

© LayerX Inc. 8 第2問 プロダクトの利用傾向を可視化するため、前週との比較グラフを作りたいです。 以下のグラフに、前週のメトリクスも重ねたい場合に使う関数は? 1: before_week() 2: time_diff() 3: timeshift()

Slide 9

Slide 9 text

© LayerX Inc. 9 第2問 正解は 3: timeshift() timeshift(metric, offset) の形で使用すると、offset ずらした値を取得できます。 -604800秒 (60*60*24*7) を指定すると1週間前のグラフが得られます。 ここでは月初のグラフ青に前週分を赤で重ねており、前週比でアクセスが増えたことを確認できます。

Slide 10

Slide 10 text

© LayerX Inc. 10 第2問 calendar_shift() でも正解! calendar_shift(metric, offset, timezone) の形でより直感的に値を指定できます。 1週間前を指定する場合は calendar_shift(metric, ”-1w”, ”Asia/Tokyo”) です。 この例では前週月曜日が祝日で利用数が少ないことをグラフから読み取れます。

Slide 11

Slide 11 text

© LayerX Inc. 11 第3問

Slide 12

Slide 12 text

© LayerX Inc. 12 第3問 CPU 使用率のピークを知りたいのに、長期間のグラフだと値が丸められてしまいます。 高負荷時は 50% を超えるはずが 30% にも届いていない…… 最高値を残したいときに使う関数は? 1: pick_max() 2: rollup(max) 3: aggregate(max)

Slide 13

Slide 13 text

© LayerX Inc. 13 第3問 正解は 2: rollup(max) rollup(max) を指定すると、データポイントの集計方法を最大値に変更できます。 デフォルトでは rollup(avg) が使用されるため最大値を確認できません。

Slide 14

Slide 14 text

© LayerX Inc. 14 第3問 前後を比較すると左軸の数値が異なっています。用途に応じて適切な集計方法を選択しましょう。 before: after:

Slide 15

Slide 15 text

© LayerX Inc. 15 さいごに Datadog には他にもさまざまな便利関数があります。 公式ドキュメントで1つずつ詳しく説明されているため、ぜひ一度確認してみてください。 https://docs.datadoghq.com/ja/dashboards/functions/ クイズのまとめ ● 異常値を除いて集計したい! → cutoff_max() ● 一定時間前の値と比較したい! → timeshift() もしくは calendar_shift() ● ピーク値を残したい! → rollup(max)