イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | トランザクション終了イベント時間。 |
| service | Utf8 | アプリケーション サービスを所有しています。 |
| transaction_name | Utf8 | 安定した論理トランザクション クラス。 |
| release | Utf8 | アプリケーションのリリース。 |
| duration_ms | Float64 | 開始から端末までのトランザクション期間。 |
| outcome | Utf8 | コミット済み、rolled_back、または timed_out。 |
クエリをコピーする
SELECT
service,
transaction_name,
release,
COUNT(*) AS transactions,
approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms,
MAX(duration_ms) AS max_duration_ms,
SUM(CASE WHEN outcome <> 'committed' THEN 1 ELSE 0 END) AS unsuccessful
FROM database_transaction_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY service, transaction_name, release
ORDER BY p95_duration_ms DESC, unsuccessful DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
p95 トランザクション期間
請求書の最終処理はテールが最も長く、結果が最も失敗します。
| service | transaction_name | release | transactions | p95_duration_ms | max_duration_ms | unsuccessful |
|---|---|---|---|---|---|---|
| billing | invoice-finalize | api-88 | 820 | 6,800 | 24,100 | 28 |
| projects | member-import | api-88 | 240 | 4,210 | 18,200 | 9 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1トランザクション クラスは、期間をアプリケーション所有者に接続します。
- 2最大値は、安定したパーセンタイルの横にある極端なリソース ホールドを公開します。
- 3非コミットの結果には、完全なターミナル ビューのロールバックとタイムアウトが含まれます。
決定すべきエッジケース
- ターミナル イベントが欠落している場合は、開始からターミナルへの個別の結合が必要です。
- サーバー待機イベントとロック グラフには、データベース ネイティブの診断が必要です。
- バインドされた値を含むステートメントをログに記録しないでください。
推奨されるダッシュボード
- バー: トランザクション別 p95_duration_ms
- 傾向: リリースまでに失敗
- 表: 最長の安全なトランザクション イベント
レシピを活用する
関連する機器とガイド
分析を続ける
遅いデータベース クエリをフィンガープリントで検出する
生の SQL やパラメーターを保存せずに、正規化されたデータベース操作を低速クエリ レート、平均継続時間、観測された最悪の継続時間によってランク付けします。
レシピを開くデータベース接続プールの飽和状態を測定する
平均プール使用率、キューに入れられた取得待機、タイムアウト、およびアプリケーション サービスごとのアイドル容量を測定します。
レシピを開くデータベーストランザクションのロールバック率の計算
エラー カテゴリ、期間、影響を受けるアカウントを維持しながら、コミットされたトランザクションとロールバックされたトランザクションをサービスごとに比較します。
レシピを開く実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。