api_request_completed: 所有境界から信頼できるクエリへ
api_request_completed を永続的な分析コントラクトとして扱います。所有者は文書化された 1 つの穀物を放出し、備品は畑を証明し、レビューされたクエリは指定された質問に答えます。
- 1
結果が最終的になる
HTTP middleware at request completion emits only after the final response status and latency are known.
- 2
契約には制限がある
9 required fields preserve the declared grain: One completed API request.
- 3
治具が検証されました
タイプ、UTC 時間、代替結果、冪等性、およびすべての仮名フィールドまたはレビュー分類フィールドをチェックします。
- 4
質問が解決されました
エラーや遅いリクエストは顧客にどのような影響を与えますか?
穀物
1 つの完了した API リクエスト。
オーナー
リクエスト完了時のHTTPミドルウェア
いつ発行するか
最終的な応答ステータスと遅延が判明した後。
フィールド契約
明示的なプライバシー境界を持つ型付きフィールド
運用クエリが既存のフィールド名とタイプに依存した後も、既存のフィールド名とタイプを安定した状態に保ちます。オプションのコンテキストは、特定の決定によって制限され、文書化され、正当化されたままにする必要があります。
| フィールド | 種類 | 必須 | プライバシー | 意味 |
|---|---|---|---|---|
| timestamp_utc | timestamp | yes | non-sensitive | 結果境界の UTC 時間。 |
| event_id | string | yes | non-sensitive | 重複排除に使用される安定した一意の識別子。 |
| release | string | yes | non-sensitive | イベントを発行したアプリケーションまたはサービスのバージョン。 |
| account_id | string | yes | pseudonymous | 安定した内部アカウント識別子。電子メールや名前ではありません。 |
| request_id | string | yes | pseudonymous | 相関識別子。認証資料を公開しないでください。 |
| route | string | yes | non-sensitive | /v1/query/:id などのカーディナリティの低いルート テンプレート。 |
| method | string | yes | non-sensitive | HTTP方式。 |
| status_code | number | yes | non-sensitive | 最終的な HTTP 応答ステータス。 |
| latency_ms | number | yes | non-sensitive | エンドツーエンドの期間 (ミリ秒単位)。 |
| error_type | string | no | non-sensitive | 限界のある故障カテゴリ。スタック トレースとペイロードを省略します。 |
合成 JSON イベント
{
"timestamp_utc": "2026-07-28T14:15:06Z",
"event_id": "evt_api_01",
"account_id": "acct_8f31",
"release": "2026.07.2",
"request_id": "req_2f71",
"route": "/v1/query/:id",
"method": "POST",
"status_code": 200,
"latency_ms": 184
}プライバシーのレビュー
取り込む前に識別子を確認する
この例では合成識別子を使用します。仮名の値も個人データである可能性があり、レビュー フィールドによってビジネスまたはプロバイダーのコンテキストが公開される可能性があります。独自の同意、保持、アクセス、常駐、および削除の要件を適用します。
account_id: pseudonymousrequest_id: pseudonymous
検証チェックリスト
ダッシュボードを構築する前に契約を証明する
- Send one known api_request_completed fixture after the documented outcome boundary.
- Verify all 9 required fields arrive with the documented types.
- 同じイベント識別子を再試行し、選択した重複排除動作を確認します。
- ワークフローがサポートしている場合は、制御された失敗または代替結果を送信します。
- 関連する SQL を固定ウィンドウで実行し、結果をフィクスチャと照合します。
よくある間違い
1 つの行を 1 つの永続的な結果と等しく保つ
- Emitting api_request_completed before http middleware at request completion knows the final outcome.
- 1 つのテーブルに複数の穀物を混ぜると、個数と割合が曖昧になります。
- 制御されたカテゴリを生の URL、ペイロード、プロンプト、またはエラー テキストに置き換えます。
- 保存されたクエリとダッシュボードがフィールド タイプに依存した後、その場でフィールド タイプを変更します。
- 文書化された調査、アクセス、保持の必要がない識別子の追加。
契約書を利用する
イベントをクエリして操作可能にする
関連契約
本番トラフィックの前にフィクスチャを送信する
ライブ ワークフローに接続する前に、無料の API キーを作成し、合成イベントを送信し、推論されたテーブルを検査します。