ステートメントの実行に関する情報とイベント¶
VDBServerRequestsManagementInfo MBean¶
VDBServerRequestsManagementInfo MBean は、Virtual DataPort によって処理されるクエリとコマンドに関する情報を提供します。この MBean は、 com.denodo.vdb.management.mbeans.VDBServerRequestsManagementInfo にあります。
VDBServerRequestsManagementInfo MBean の通知¶
VDBServerRequestsManagementInfo MBean では、以下の 2 つのタイプの通知が生成されます。
リクエストの開始を示す通知。
リクエストの終了を示す通知。
クライアントアプリケーションでこれらの通知をサブスクライブできます。Java VisualVM でサブスクライブするには、VDBServerRequestsManagementInfo MBean を開き、[Notifications] タブをクリックして [Subscribe] をクリックします。
これらの通知には、以下の属性があります。
Timestamp: 通知が生成された日時。Type: 通知のタイプ。想定される値はstartRequestまたはendRequestです。UserData: 複合エレメント。そのプロパティには、このデータベースに送信されたリクエストに関する情報が格納されます。リクエストを表示するには、MBeans ブラウザーでこの MBean のノードを展開します。Requestノードが存在しない場合、このデータベースはまだリクエストを受信していないことを意味します。この MBean には、以下のプロパティがあります。AccessInterface: リクエストを実行したクライアントのタイプ。表「 「access interface」属性の取り得る値 」に、この属性の想定される値のリストを示します。Cache: クエリが実行中にキャッシュにアクセスした場合はtrue、そうでない場合はfalse。ClientIP: クライアントの IP アドレス。Web サービスの場合、これは最終クライアント、つまり HTTP リクエストを送信したクライアントの IP アドレスです。Completed: クエリが正常に完了した場合はtrue、そうでない場合はfalse。CpuTime: クエリが使用した CPU 時間の合計 (ナノ秒)。CpuUsage: クエリの現在の CPU 使用率。CpuUsageTime:CpuUsageが測定された時点。CpuUsageAvg: クエリの実行開始以降の平均 CPU 使用率。CpuUsageMax: クエリの最大 CPU 使用率。CpuUsageMaxTime: クエリが最大 CPU 使用率に達した時点。CpuUsageStdDev: クエリの実行開始以降の CPU 使用率に対する標準偏差。DatabaseName: ステートメントが実行されたデータベースの名前。Elements: クエリで参照されているビューまたはストアドプロシージャの名前とデータベース。このプロパティの形式は "<database of the view/stored procedure>"."<name of the view/stored procedure>" です。EndTime: ステートメントの実行が終了した日時。クライアントアプリケーションがクエリのすべての行を読み取るまで、クエリは終了したと見なされません。Identifier: リクエストの ID。この数値は一意ですが、連続していない場合があります (つまり、あるリクエストの ID が「123」で、その次のリクエストの ID が「125」になる場合があります)。サーバーが再起動されると、この値は 1 から再開されます。InfrastructureProvider: JDBC クライアントのインフラストラクチャプロバイダー。InfrastructureRegion: JDBC クライアントが配置されているインフラストラクチャプロバイダーのリージョン。NumRows: クエリによって返される行の数。Queued: 同時クエリの最大数の制限に達したためにこのクエリがキューに入った場合はtrue、そうでない場合はfalse。RequestType: ステートメントのタイプを示します。想定される値は、SELECT BASE VIEW、SELECT VIEW、CALL STOREDPROCEDURE、INSERT、UPDATE、またはDELETEです。SessionId: このリクエストが属するセッションの ID。StartTime: サーバーがクエリを受信した日時。State: 実行プランの最上位ノードの状態を保存します。想定される値は、OK、ERROR、またはPROCESSINGです。最上位ノードの状態がOKで、他のノードの状態がERRORになる場合があります。たとえば、JOIN クエリの分岐の 1 つが失敗して結果を返さない場合、その状態はERRORです。しかし、JOIN 操作は正常に完了するので、その状態はOKです。このシナリオでは、State属性はOK、Completed属性はfalseです。Swap: サーバーがクエリの実行中に中間結果をディスクにスワップした場合はtrue、そうでない場合はfalseです。TransactionId: トランザクションの ID。このリクエストがトランザクションの一部ではなかった場合は空文字列です。UserAgent: リクエストを実行したアプリケーションの名前。アプリケーションでユーザーエージェントを設定すると、各コネクションを開いたアプリケーションを把握するのに役立ちます。この設定方法については、「 アプリケーションのユーザーエージェントの設定 」を参照してください。UserName: ステートメントを実行したユーザーの ID。VQLQuery: ステートメントの VQL コード。WaitingTime: サーバーがクエリの実行を開始するまでクエリがキューで待機した時間 (ミリ秒単位)。同時リクエスト数の制限に達した場合、クエリはクエリのキューで保留されます。この制限の詳細、および制限の値を増やす方法については、「 同時リクエスト数の制限 」を参照してください。WebServiceName: このリクエストが、Denodo サーバーによって公開された SOAP または REST Web サービスによって送信された場合は、その Web サービスの名前です。他のタイプのクライアントから送信されたリクエストである場合は空文字列です。Workspace: ステートメントが実行されたワークスペースの名前。
SeqNum: この通知の ID。Message: このタイプの通知では、Started the requestまたはFinished the requestの値を取ります。Event: 次のような値になります。javax.management.Notification[source=com.denodo.vdb.management.mbeans:type=VDBServerRequestsManagementInfo][type=endRequest][message=Finished the request '<i>']
ここで、
<i>はステートメント ID です。Source: MBean 名。
RequestsManagementInfo MBean¶
RequestsManagementInfo MBean は、サーバーのデータベースによって処理される「読み取り専用」のデータ操作言語 (DML) クエリに関する情報を提供します。これらの MBean は com.denodo.vdb.management.mbeans > RequestsManagementInfo > データベース名 にあります。
注釈
この MBean は、非推奨であり、デフォルトで無効になっています。有効にするには、管理者でログインして、以下のコマンドを実行してから Virtual DataPort を再起動します。
SET 'com.denodo.vdb.management.server.manager.legacyRequestsMBean'='true';
非推奨のすべての機能のリストについては、「 Denodo Platform で廃止された機能 」のセクションを参照してください。
RequestsManagementInfo MBean の属性¶
データベースごとに RequestsManagementInfo MBean が存在し、以下の属性があります。
DatabaseName: データベースの名前。MaxRequests: この MBean で同時にエクスポートされたリクエストの最大数。各リクエストは、Request<i>という形式の属性として表示されます。TotalRequests: サーバーの起動以降に処理されたリクエストの合計数。ActiveRequests: アクティブなリクエストの数。
RequestsManagementInfo MBean の通知¶
データベースの RequestsManagementInfo MBean では、以下の 2 つのタイプの通知が生成されます。
リクエストの開始を示す通知。
リクエストの終了を示す通知。
クライアントアプリケーションでこれらの通知をサブスクライブできます。Java VisualVM でサブスクライブするには、データベースの RequestsManagementInfo MBean を開き、[Notifications] タブをクリックして [Subscribe] をクリックします。
これらの通知には、 VDBServerRequestsManagementInfo と同じ属性があります。異なるのは以下の点のみです。
Event: 次のような値になります。javax.management.Notification[source=com.denodo.vdb.management.mbeans:type=RequestsManagementInfo,databaseName=<dbname>][type=endRequest][message=Finished the request '<i>']
<dbName>は Virtual DataPort データベースの名前、<i>はステートメント ID です。
