本文へ移動
Telemetry
ドキュメントを見る
概念とSQLパターン更新日: 2026年7月28日Telemetry 編集チームと製品チームによるレビュー1 最小読み取り時間

コーディング エージェントでこのドキュメントを使用してください

Claude Code、Codex、Cursor、または別のコーディング エージェント用の集中プロンプト パックを開き、それをここで説明するワークフローに適応させます。

SQL イベント データの時間バケット化

時間バケット化により、個々のイベントがトレンドに変わります。重要な選択は、時間と日だけではありません。一貫したタイムスタンプ、タイムゾーン、間隔の境界、完全性ルール、欠落しているバケットの処理も必要です。 1 時間全体と現在の時間の最初の 3 分間を比較すると、グラフが信頼できるように見えます。

安定した UTC シリーズを構築する

SELECT
  date_trunc('hour', timestamp_utc) AS hour,
  COUNT(*) AS requests,
  100.0 * SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS error_rate_pct
FROM api_request_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY date_trunc('hour', timestamp_utc)
ORDER BY hour;

サーバー管理のものを使用する timestamp_utc クエリ境界のフィールド。モバイル クライアントがオフライン アクションを開始したときなど、別のビジネスの瞬間を表すソース タイムスタンプを別のフィールドとして保持します。ダッシュボードが動作している場合、UTC は夏時間のギャップや現地時間の繰り返しを回避します。

date_trunc は、カレンダーに合わせた時間と曜日の最も簡単な選択です。 date_bin 5 分などの固定間隔の場合に便利です。

date_bin(INTERVAL '5 minutes', timestamp_utc, TIMESTAMP '1970-01-01')

整列する必要があるすべてのクエリで同じオリジンを使用します。

不完全なバケットと空のバケットを処理する

通常、最新のバケットは不完全です。比較から除外するか、明確にラベルを付けます。アラートの場合は、最後に完了した間隔を判断する前に取り込み遅延を考慮してください。

集計では、行を含むバケットのみが返されます。欠落しているポイントは、アクティビティがゼロであるか、取り込みが遅延しているか、クエリのギャップを意味している可能性があります。それらの解釈は互換性がありません。ビジュアライゼーションでギャップをゼロで埋める場合は、その変換を明示的に行い、ゼロが意味的に正しいことを確認します。

安定した量を生み出すのに十分な大きさでありながら、応答をサポートするのに十分な小さいバケットを選択してください。 5 分間のバケットではインシデントが明らかになる可能性があります。多くの場合、毎日のバケットのほうが保持に優れています。参照 タイムスタンプの操作インシデント対応ガイド、そして ローリングエラー率のレシピ 完全な例については、

関連製品の機能

構造化イベント テーブルに対して読み取り専用 DataFusion SQL を実行し、結果を再利用します。

所有権と技術リファレンス

Telemetry 編集チームがこの説明を所有しています。製品チームは動作、例、境界をレビューします。

編集基準を見直す