テレメトリ テーブルリファレンス

Important

この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Manage Azure Databricks プレビューを参照してください。

このページでは、プロジェクトの 可観測性を構成 した後に、Lakebase が Unity カタログ スキーマに書き込むテーブルについて説明します。 Insights と Genie はこの同じデータを読み取り、独自の Unity カタログに格納されるため、任意のAzure Databricks ツールを使用して直接クエリを実行できます。

Note

これはベータ機能です。 テーブル名と列名は、一般提供前に変更される可能性があります。

キャプチャされる内容

Lakebase は、経験豊富な DBA が検索するシグナルをキャプチャし、エクスポート後に直接クエリを実行できるいくつかのテーブルに格納されます。

キャプチャされる内容 着地場所
アクティブなセッションと待機イベント active_session_historywait_event_counters
クエリ プランとクエリごとの実行統計 plan_historypg_stat_statements_counters
スキーマの変更: 変更された内容、いつ、誰が変更したか ddl_history
データベース統計: サイズ、読み取りと変更された行、およびセッション数 database_countersdatabase_gauges
コンピューティング リソースの使用量: CPU、メモリ、キャッシュ、接続 compute_counterscompute_gauges
未加工の Postgres ログ メッセージ (エラーの背後にあるエラーを含む) postgres_logs

InsightsとGenieはこのデータを読み取り、実際にデータベースで何が起きたかに基づいて答えを導き、同じテーブルが既存の 観測可能性ダッシュボードを動かしています。 このページの残りの部分は、各表のすべての列を記録しています。

すべてのテーブルに共通の列

次の各表には、行の由来を識別する次の列が含まれています。

Column タイプ Description
project_id STRING 行の元の Lakebase プロジェクト。
branch_id STRING 行の元の分岐。
endpoint_id STRING 行の元のコンピューティング エンドポイント。
compute_id STRING 特定のコンピューティング インスタンス。 これは、コンピューティングがゼロにスケーリングされて再開されると変わります。
ts TIMESTAMP 行が記録されたとき。
compute_mode STRING 読み取り/書き込みまたは読み取り専用など、当時のコンピューティング のモード。

_countersで終わる名前を持つテーブルには、行の値が累積された間隔の開始位置を示すprevious_ts列も含まれます。 これらは、ポイントインタイム読み取り値ではなく、その間隔の累積値です。 _gaugesで終わるテーブルは、代わりにポイントインタイム読み取り値であり、previous_tsはありません。

次の表に、これらの一般的な列以外の列のみを示します。

セッション アクティビティ

アクティブなすべてのバックエンドのスナップショット。継続的にサンプリングされます。 これは、AWS Performance Insights または Oracle のアクティブ セッション履歴 (ASH) と同じパターンです。セッションが待機を含めて何かを行っている場合は、ここに表示されます。

active_session_history

Column タイプ Description
sample_seq LONG バッチ内でのこのサンプルの序数位置。
pid LONG バックエンドのプロセス ID。
datid LONG データベースのオブジェクト ID。
userid LONG 接続ロールのオブジェクト ID。
queryid LONG 実行されているクエリを識別します。 queryid内のpg_stat_statements_countersと一致します。
wait_event_info LONG 待機イベントの内部エンコード。
wait_event_type STRING 待機イベントのカテゴリ ( TimeoutLockなど)。
wait_event STRING 特定の待機イベント (たとえば、 PgSleep)。
backend_state LONG バックエンドの状態 (アクティブやアイドルなど)。
backend_type LONG バックエンド プロセスの種類。
xact_age_ms LONG 現在のトランザクションが開かれている期間。
query_age_ms LONG 現在のクエリの実行時間。
blocking_pid LONG これをブロックしているセッションの PID (存在する場合)。
leader_pid LONG このバックエンドが並列ワーカーの場合は、並列クエリ リーダーの PID。
flags LONG 内部状態フラグ。
plan_fingerprint LONG plan_historyの特定のプラン図形へのリンク。
appname_hash LONG 接続しているアプリケーションの名前のハッシュ。

待機イベント

集計された待機イベントの数と時間。 active_session_historyのサンプルごとのビューを補完します。

wait_event_counters

Column タイプ Description
wait_event_id LONG 待機イベントの内部エンコード。
wait_class_name STRING 待機イベントのカテゴリ。
wait_event_name STRING 特定の待機イベント。
wait_event_count LONG この待機イベントが間隔内で発生した回数。
wait_event_time DOUBLE 間隔中にこの待機イベントに費やされた合計時間。

クエリ プラン

完全なプランと Neon 固有のストレージ統計を含む、クエリ プランの実行ごとのレコード。これは最も詳細なテーブルであり、通常はクエリの調査が遅くなります。

plan_history

Column タイプ Description
row_position LONG バッチ内でのこの行の序数位置。
analyze_enabled BOOLEAN 見積もりだけでなく、プランに実際の実行統計 (EXPLAIN ANALYZE) が含まれているかどうか。
buffers_enabled BOOLEAN プランにバッファー使用量の統計情報が含まれているかどうか。
query_hash STRING クエリ テキストを識別するハッシュ。
queryid LONG クエリを識別します。 queryidpg_stat_statements_countersactive_session_historyと一致します。
duration_ms DOUBLE クエリの実行にかかった時間。
total_cost DOUBLE クエリのプランナーの推定コスト。
plan_rows LONG プランナーの推定行数。
actual_rows LONG 返された実際の行数。
plan_fingerprint LONG この特定のプラン図形を識別します。 plan_fingerprint内のactive_session_historyと一致します。
lock_wait_time_ms DOUBLE ロックの待機に費やされた時間。
planning_time_ms DOUBLE 実行とは別に、クエリの計画に費やされた時間。
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written LONG この実行の共有バッファー キャッシュ アクティビティ。
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written LONG 一時テーブルのローカル バッファー アクティビティ。
temp_blks_read / temp_blks_written LONG 大規模な並べ替えやハッシュなどの一時ファイル アクティビティ。
neon_getpage_count LONG ページ サーバーに送信されたページ要求の数。
neon_file_cache_hits LONG ページ サーバーの代わりにローカル ファイル キャッシュから提供されるページの数。
neon_getpage_wait_us LONG ページ サーバー ページ要求の待機に費やされた時間 (マイクロ秒単位)。
backend_pid LONG このクエリを実行したバックエンド プロセス ID。
lock_wait_count LONG この実行がロックで待機した回数。
userid / dbid LONG 接続ロールとデータベースのオブジェクト ID。
query_text STRING クエリ テキスト。
plan_json STRING 完全なクエリ プラン (JSON)。
usename / datname STRING 接続ロールとデータベースの名前。
application_name / client_addr STRING 接続しているアプリケーションの名前とクライアント アドレス。
wait_events STRING この実行中に観察された待機イベント。
parameters STRING クエリで使用されるバインド パラメーター (存在する場合)。
blocking_pids STRING この実行をブロックしたセッションの PID (存在する場合)。
neon_branch_id / neon_endpoint_id / neon_timeline_id STRING ブランチ、エンドポイント、タイムラインの内部 Neon 識別子。
cpu_user_time_ms / cpu_sys_time_ms DOUBLE この実行によって消費される CPU 時間。ユーザー時間とシステム時間に分割されます。
voluntary_csw / involuntary_csw LONG この実行中にコンテキストが切り替わります。
trace_id / span_id / trace_flags / service_name 弦 / 弦 / 長い / 弦 クエリがトレースされた要求の一部であった場合は、OpenTelemetry スタイルのトレース識別子。
timeline_id LONG 内部タイムライン識別子。
truncated BOOLEAN この行のデータ (大きなプランなど) が書き込まれる前に切り捨てられたかどうか。

クエリ統計情報

標準の pg_stat_statements 拡張機能から取得されたクエリごとの集計統計。

pg_stat_statements_counters

Column タイプ Description
userid / dbid LONG 接続ロールとデータベースのオブジェクト ID。
queryid LONG クエリを識別します。 queryidplan_historyactive_session_historyと一致します。
toplevel BOOLEAN PL/pgSQL 関数またはプロシージャ内に入れ子になった行ではなく、この行が最上位レベルのステートメント用かどうか。 PL/pgSQL の制限事項を参照してください。
query STRING クエリ テキスト。
calls LONG このクエリが間隔内で実行された回数。
plans LONG このクエリが間隔内で計画された回数。
rows LONG 返された行または影響を受ける行の合計数。
total_exec_time / total_plan_time DOUBLE 間隔でこのクエリの実行と計画に費やされた合計時間。
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written LONG 共有バッファー キャッシュ アクティビティ。
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written LONG 一時テーブルのローカル バッファー アクティビティ。
temp_blks_read / temp_blks_written LONG 一時ファイル アクティビティ。
wal_bytes / wal_fpi / wal_records LONG このクエリによって生成された先書きログ ボリューム。
jit_emission_count / jit_emission_time / jit_functions / jit_generation_time / jit_inlining_count / jit_inlining_time / jit_optimization_count / jit_optimization_time Mixed JIT (Just-In-Time) コンパイル統計 (このクエリに JIT が使用された場合)。

スキーマの変更

スキーマの変更: 変更された内容、いつ、だれが変更したか。 これは、Genie が読み取り、デプロイまたは手動編集のどちらからでも、スキーマの変更にインシデントをトレースするために読み取ります。

ddl_history

Column タイプ Description
row_position LONG バッチ内でのこの行の序数位置。
command_tag STRING DDL コマンドの種類 ( ALTER TABLEなど)。
object_type / object_name STRING 変更されたオブジェクトの種類と名前。
schema_name STRING オブジェクトが属する Postgres スキーマ。
query_text STRING 完全な DDL ステートメント。
duration_ms DOUBLE DDL ステートメントの実行にかかった時間。
userid / usename LONG/STRING 接続ロールのオブジェクト ID と名前。
application_name STRING 接続しているアプリケーションの名前。
backend_pid LONG ステートメントを実行したバックエンド プロセス ID。
dbid LONG データベースのオブジェクト ID。
search_path STRING その時点でのセッションの検索パス。
ddl_json STRING DDL ステートメントの構造化された解析された表現。

Note

DDL キャプチャには実際のギャップがあります。スケールからゼロへのコンピューティング再開の前後で行われた変更を見逃す可能性があります。 スキーマの変更が発生したことがわかっているにもかかわらず、ここに表示されない場合は、それが最も可能性の高い理由です。 制限事項を参照してください。

Postgres ログ

未加工の Postgres ログ メッセージ (エラーの背後にある特定のエラーを含む)。

postgres_logs

Column タイプ Description
sample_seq LONG バッチ内でのこの行の序数位置。
elevel LONG 内部ログ レベルのエンコード。
severity STRING ログの重大度 ( ERRORLOGなど)。
sqlstate STRING Postgres SQLSTATE エラー コード 。たとえば、未定義の列の 42703
backend_pid / leader_backend_pid LONG バックエンド プロセス ID と、その並列クエリ リーダーの PID (該当する場合)。
userid / usename LONG/STRING 接続ロールのオブジェクト ID と名前。
datid / datname LONG/STRING データベースのオブジェクト ID と名前。
application_name / client_addr STRING 接続しているアプリケーションの名前とクライアント アドレス。
schema_name / table_name / column_name / constraint_name / datatype_name STRING Postgres にエラーがある場合に、エラーによって参照されるスキーマ、テーブル、列、制約、またはデータ型。
funcname STRING エラーが発生した関数 (該当する場合)。
filename / lineno 弦 / ロング エラーの発生元の Postgres ソース ファイルと行。
message STRING ログ メッセージ テキスト。
detail / hint / context STRING Postgres にエラーがある場合の追加の詳細、推奨される修正プログラム、およびエラーのコンテキスト。
internalquery STRING エラーに関連する内部で生成されたクエリ (該当する場合)。
statement STRING このログ エントリをトリガーしたステートメント。
truncated_mask LONG 書き込まれる前に切り捨てられたフィールド (ある場合) を示します。

Note

構造化 schema_nametable_name、および column_name フィールドは、エラーの種類ごとに設定されるわけではありません。 たとえば、プレーンな "列が存在しません" 解析エラー (SQLSTATE 42703) は、列に直接名前を付 message 場合でも空のままにします。 これらのフィールドが設定されることに依存しないでください。 最初 message 確認します。

コンピューティング メトリック

コンピューティング レベルのリソース使用量: CPU、メモリ、ディスク、ネットワーク I/O、ローカル ファイル キャッシュ (LFC)、ページ サーバーの前にある Lakebase のコンピューティング側キャッシュ。

compute_counters

Column タイプ Description
backpressure_throttling_seconds DOUBLE ストレージ レイヤーがこの間隔で書き込みの調整に費やされた時間。 ゼロ以外の値は、書き込みボリュームがストレージが吸収できる量を超えたことを意味します。
host_busiest_cpu_seconds / host_cpu_seconds DOUBLE 最も負荷の高いコアと合計で CPU 時間が消費されました。
host_disk_read_bytes / host_disk_written_bytes DOUBLE ディスク I/O ボリューム。
host_network_receive_bytes / host_network_transmit_bytes DOUBLE ネットワーク I/O ボリューム。
lfc_evictions / lfc_hits / lfc_misses / lfc_writes LONG この間隔のローカル ファイル キャッシュ アクティビティ。
replica_lfc_redo_evictions LONG このコンピューティングが読み取りレプリカの場合、レプリカ再実行によって発生するローカル ファイル キャッシュの削除。

compute_gauges

Column タイプ Description
current_lsn LONG 現在の先行書き込みログ位置。
replica_wal_replay_lsn / replica_wal_receive_lsn LONG WAL 再生と受信位置 (このコンピューティングが読み取りレプリカの場合)。
max_connections LONG 構成された接続制限。
lfc_working_set_size_5m / lfc_working_set_size_15m / lfc_working_set_size_60m LONG 過去 5 分、15 分、60 分間のワーキング セットの推定サイズ。
lfc_size_limit / lfc_allocated / lfc_used LONG ローカル ファイル キャッシュの容量と現在の使用状況。
total_size_limit / total_size LONG 全体的なストレージ容量と現在の使用状況。
replication_lag_bytes / replication_lag_time_ms ロング / ダブル レプリケーションのラグ (このコンピューティングが読み取りレプリカの場合)。
host_logical_cpus / host_memory_total_bytes DOUBLE コンピューティングのプロビジョニングされた CPU とメモリ。

データベース メトリック

データベースごとのアクティビティ: 行の変更、トランザクション、セッション、バキュームの正常性。 これは、テーブルの肥大化と自動バキューム信号が生きている場所です。

database_counters

Column タイプ Description
datid / datname LONG/STRING データベースのオブジェクト ID と名前。
active_time_ms / idle_in_transaction_time_ms / session_time_ms DOUBLE アクティブで、開いているトランザクションでアイドル状態になり、全体的に接続された時間。
deadlocks LONG 検出されたデッドロックの数。
rows_deleted / rows_fetched / rows_inserted / rows_returned / rows_updated LONG 間隔の行レベルのアクティビティ。
sessions_abandoned / sessions_established / sessions_fatal / sessions_killed LONG セッション のライフサイクル数。
shared_blks_hit / shared_blks_read LONG 共有バッファー キャッシュ アクティビティ。
xact_commit / xact_rollback LONG コミットされたトランザクションとロールバックされたトランザクション。

database_gauges

Column タイプ Description
datid / datname LONG/STRING データベースのオブジェクト ID と名前。
numbackends LONG このデータベースへの現在の接続数。
size LONG データベースのディスク上のサイズ。
oldest_frozen_xid_age / oldest_mxid_age LONG 最も古い非frozen 行のトランザクション ID とマルチアクト ID の有効期間。 立ち上がり値は、テーブルサイズで肥大化が見える前に、真空が遅れる最も早い信号です。

制限事項

Warning

アプリケーションを接続するためのロールを作成すると、 CREATE ROLE ... PASSWORD '...' SQL ステートメントに入力されたパスワードが、最終的にクエリまたはステートメントの履歴に含まれる可能性があります。 代わりにUI、SDK、API、CLIでロールを作成し、サーバー側でパスワードを生成するので、クリアテキストで入力することはありません。 UIは生成されたパスワードを一度だけ表示します。 SDK、API、CLIは返してくれないので、後からパスワードを取得してください。 パスワード の取得方法をご覧ください。

ベータ期間中は、次の制限事項が適用されます。

  • COPY 操作は現在、クエリ プランの履歴にはキャプチャされません。

  • PL/pgSQL 関数またはプロシージャ内で実行されたクエリは、最上位レベルのステートメントとしても実行されない限り、クエリ レベルのテレメトリにはキャプチャされません。 Postgres 独自のステートメント追跡では、既定では最上位レベルのステートメントのみがカウントされます。

  • ブランチとエンドポイントは、"production" のような表示名ではなく、エクスポートされたテレメトリと分析情報に内部 ID ( br-odd-mud-y2icrn1h など) で表示されます。分析情報またはテーブル行が参照するブランチまたはエンドポイントを確認する必要がある場合は、Lakebase UI で ID を相互参照します。

  • テレメトリ キャプチャを有効にする GUC は、既存のコンピューティングに自動的に伝達されない場合があります。 可観測性を構成した後にテレメトリが表示されない場合は、プロジェクトに接続して、次のことを確認します。

    SHOW neon_monitor.log_capture_enabled;
    SHOW databricks.o11y_exporter_enabled;
    

    両方とも onを返す必要があります。 いずれかの offが返された場合は、コンピューティング エンドポイントを再起動します。

次のステップ