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

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

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

このページの内容
  1. 耐久性の高いタイプを選ぶ
  2. 欠損値を理解する
  3. 意味を変えずに進化する

イベントのデータ型とNull可能性

Telemetry は、構造化イベントからテーブル スキーマを推測します。柔軟な取り込みにより事前の移行手順が不要になりますが、有用な SQL は依然として安定したフィールドの意味と型に依存します。

耐久性の高いタイプを選ぶ

識別子と制御されたカテゴリには文字列を、計算される値には数値を、真の 2 状態の事実にはブール値を、瞬間にはタイムスタンプを使用します。

おすすめ分野
期間 数値 duration_ms
お金 正規化された数値とソース通貨の合計
識別子 数字のみを含む場合でも文字列
結果 次のような制御された文字列 success, failed、または timeout
機能フラグ 正確に 2 つの意味がある場合のブール値
イベント時間 タイムゾーン修飾された入力を正規化したもの timestamp_utc

送信しないでください "842" 1 つの展開で一定期間、 842 別のところで。再利用しないでください status あるサービスの HTTP コードと別のサービスのワークフロー カテゴリの場合。

欠損値を理解する

ログ API は、正規化中に null 値、空のオブジェクト、および空の配列を削除します。したがって、フィールドが欠落しているということは、その行に値が格納されていないことを意味します。これは、ゼロ、偽、空の文字列、または不明を意味するものではありません。

使用する IS NULL 不在が分析的に意味のある場合。使用する COALESCE 代替品に防御可能なビジネス上の意味がある場合のみ:

SELECT
  event_name,
  100.0 * SUM(CASE WHEN account_id IS NULL THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS missing_account_rate_pct
FROM product_events
GROUP BY event_name;

必須フィールドのヌルレートレシピ ボリューム保護機能とプロデューサー バージョン コンテキストを追加します。

意味を変えずに進化する

通常、Null 許容フィールドの追加には互換性があります。フィールドのタイプを変更したり、既存のカテゴリを再定義したりすることはできません。意味が変わったら、新しい分野を導入したり、 schema_version そしてクエリを意図的に移行します。

ネストされたオブジェクトはクエリ可能な点線フィールドになります。入れ子になった各パスを安定した状態に保ち、要素構造がイベント間で変化する配列を避けます。

レビュー スキーマの進化, イベントスキーマ設計、そして ネストされた JSON のクエリ 生産契約を拡大する前に。

関連製品の機能

安定したイベント名、型指定されたフィールド、プライバシーがレビューされたコンテキストをキャプチャします。

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

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

編集基準を見直す