説明
V4.4.2系列では、このビューはV4.4.2 BP4で導入されました。
機能の概要
このビューは、現在のOBServerノードにおける現在のテナントのJava UDFの実行統計を表示します。呼び出し回数、成功回数と失敗回数、同時実行中の呼び出し数、呼び出しにかかった時間の分布、各実行段階の所要時間などを確認できます。統計はJava UDFごとに、関数の種類と実行モード別に集計されます。
利用時の注意点は以下のとおりです。
- 統計情報はメモリ内にのみ保存され、OBServerノードが再起動するとクリアされます。
- 各テナントが保持できる統計情報は、OBServerノードごとに最大1024件です。上限を超える場合は、まず削除済みのJava UDFの統計情報を削除し、次に最終呼び出し時刻が古いものから順に削除します。統計情報を削除または破棄しても、Java UDFの実行には影響しません。
- 現在のテナントに存在し、かつ現在のユーザーがアクセス権限を持つJava UDFの統計情報のみが表示されます。
フィールドの説明
フィールド名 |
型 |
NULL許容 |
説明 |
|---|---|---|---|
| SVR_IP | varchar(46) | NO | OBServerノードのIPアドレス。 |
| SVR_PORT | bigint(20) | NO | OBServerノードのポート番号。 |
| TENANT_ID | bigint(20) | NO | テナントID。 |
| PACKAGE_ID | bigint(20) | NO | Java UDFが属するパッケージのID。 |
| UDF_ID | bigint(20) | NO | Java UDFのID。 |
| DATABASE_ID | bigint(20) | YES | Java UDFが属するデータベースのID。取得できない場合はNULL。 |
| UDF_NAME | varchar(128) | NO | Java UDFの名前。 |
| SCHEMA_STATUS | varchar(16) | NO | Java UDFのスキーマ状態:
|
| CLASS_NAME | varchar(1024) | YES | Java UDFに対応するJavaクラス名。取得できない場合はNULL。 |
| ROUTINE_TYPE | varchar(32) | NO | 関数タイプ:
|
| EXECUTION_MODE | varchar(16) | NO | 実行モード:
|
| CALL_COUNT | bigint(20) unsigned | NO | 累計呼び出し回数。1回のベクトル化バッチ呼び出しを1回と数えます。 |
| ROW_COUNT | bigint(20) unsigned | NO | 処理した入力行の総数。 |
| SUCCESS_COUNT | bigint(20) unsigned | NO | 成功した呼び出しの累計回数。 |
| FAIL_COUNT | bigint(20) unsigned | NO | 失敗した呼び出しの累計回数。タイムアウトおよび中断された呼び出しが含まれます。 |
| TIMEOUT_COUNT | bigint(20) unsigned | NO | タイムアウトした呼び出しの累計回数。FAIL_COUNTに含まれます。 |
| INTERRUPT_COUNT | bigint(20) unsigned | NO | Killやキャンセルなどによって中断された呼び出しの累計回数。FAIL_COUNTに含まれます。 |
| CURRENT_CONCURRENCY | bigint(20) | NO | 現在実行中の呼び出し数。 |
| PEAK_CONCURRENCY | bigint(20) | NO | 同時実行中の呼び出し数の最大値。 |
| CALL_COUNT_1M | bigint(20) unsigned | NO | 過去1分間の呼び出し回数。 |
| QPS_1M | double | NO | 過去1分間の1秒あたりの平均呼び出し回数。 |
| TOTAL_ELAPSED_US | bigint(20) unsigned | NO | 完了した呼び出しの累積所要時間(マイクロ秒単位)。 |
| AVG_ELAPSED_US | bigint(20) unsigned | YES | 完了した呼び出しの平均所要時間(マイクロ秒単位)。完了した呼び出しがない場合はNULL。 |
| MAX_ELAPSED_US | bigint(20) | NO | 単一呼び出しの最大所要時間(マイクロ秒単位)。 |
| P95_ELAPSED_US_5M | bigint(20) | YES | 過去5分間の呼び出しにかかった時間のP95値(マイクロ秒単位)。計算できない場合はNULL。 |
| P99_ELAPSED_US_5M | bigint(20) | YES | 過去5分間の呼び出しにかかった時間のP99値(マイクロ秒単位)。計算できない場合はNULL。 |
| SERIALIZE_TIME_US | bigint(20) unsigned | NO | OceanBaseパラメータをJavaパラメータまたはサンドボックスリクエストに変換するための累積実行時間(マイクロ秒単位)。 |
| DISPATCH_TIME_US | bigint(20) unsigned | NO | 入力準備完了からJava実行結果またはサンドボックス応答を受信するまでの経過時間の合計(マイクロ秒単位)。 |
| JAVA_TIME_US | bigint(20) unsigned | YES | Javaコードの実行にかかった累計時間(マイクロ秒)。取得できない場合はNULL。 |
| DESERIALIZE_TIME_US | bigint(20) unsigned | NO | Java実行結果またはサンドボックス応答をOceanBase結果に変換するための累積実行時間(マイクロ秒単位)。 |
| INPUT_BYTES | bigint(20) unsigned | YES | サンドボックスプロセスに送信された累積リクエストデータ量(バイト単位)。SANDBOX実行モードでのみ集計。集計できない場合はNULL。 |
| OUTPUT_BYTES | bigint(20) unsigned | YES | サンドボックスプロセスから受信した累積応答データ量(バイト単位)。SANDBOX実行モードでのみ集計。集計できない場合はNULL。 |
| LAST_CALL_TIME | timestamp(6) | YES | 最終呼び出しの時刻。 |
| LAST_ERROR_CODE | bigint(20) | YES | 直近の呼び出し失敗時のエラーコード。エラーが発生していない場合はNULL。 |
| LAST_ERROR_TIME | timestamp(6) | YES | 最後に呼び出しが失敗した時刻。エラーが発生していない場合はNULL。 |
| STAT_START_TIME | timestamp(6) | NO | この統計情報の記録開始時刻。 |
クエリ例
現在のOBServerノードにおける現在のテナントのJava UDFについて、呼び出し回数の多い順に上位10件の実行統計を取得します。
obclient> SELECT SVR_IP, TENANT_ID, UDF_NAME, ROUTINE_TYPE, EXECUTION_MODE, CALL_COUNT, FAIL_COUNT, AVG_ELAPSED_US, P99_ELAPSED_US_5M FROM oceanbase.V$OB_JAVA_UDF_STATS ORDER BY CALL_COUNT DESC LIMIT 10;