クエリ状態の照会

現在のセッションのユーザーが実行した特定のフォアグラウンドまたはバックグラウンドクエリの状態を照会します。

必要な権限

MEMBER以上のロールが必要であり、自分が作成したクエリのみ照会できます。

HTTPリクエスト

GET /api/sonar/queries/:id
cURL例
curl -H "Authorization: Bearer <API_KEY>" \
     https://HOSTNAME/api/sonar/queries/12345

正常応答

{
  "id": 60,
  "source": "adhoc",
  "login_name": "gildong",
  "remote_ip": "0:0:0:0:0:0:0:1",
  "rows": 32,
  "elapsed": 21,
  "is_finished": true,
  "is_cancelled": false,
  "is_scheduled_query": false,
  "constants": {},
  "query_string": "system tables",
  "start_time": 1663044689188,
  "finish_time": 1663044689209,
  "last_started": "2022-09-13 13:51:29+0900",
  "background": false,
  "commands": [
    {
      "command": "system tables",
      "status": "End",
      "push_count": 32
    }
  ],
  "sub_queries": [],
  "stamp": 5,
  "tags": {}
}
  • id(32ビット整数): クエリID
  • source(文字列): クエリ実行タイプ
    • ユーザー任意実行(adhoc)
    • CLIコンソール実行(console)
    • 予約クエリ実行(scheduled-query)
    • REST APIクライアント(rest-api)
    • Javaクライアント(java-client)
    • Pythonクライアント(python-client)
    • ログプレッソ・エンタープライズの内部実行(system)
    • ログプレッソ・ソナーの内部実行(sonar)
    • ログプレッソ・ソナーのバッチ検出シナリオ(batch-rule)
  • login_name(文字列): ログインユーザー名
  • remote_ip(文字列): クライアントIPアドレス。ロードバランサーを経由する場合は、X-Forwarded-Forヘッダー値が使用されます。
  • rows(64ビット整数): クエリ結果件数。クエリ完了前は単調増加する場合があります。
  • elapsed(64ビット整数): クエリ実行経過時間(ミリ秒単位)
  • is_finished(ブール値): クエリ完了状態
  • is_cancelled(ブール値): クエリキャンセル要求状態。ユーザーが明示的にキャンセル要求した場合や、コマンド内部処理中の失敗(ネットワーク障害等)でクエリがキャンセルされることがあります。キャンセル要求後、クエリ完了までにタイムラグが発生する場合があります。
  • is_scheduled_query(ブール値): 予約クエリかどうか
  • constants(マップ): 定数キー・値リスト。プロシージャや予約クエリ実行時など、クエリパラメータの受け渡しに使用されます。
  • query_string(文字列): クエリ文字列の原文(初回入力形式を保持)
  • start_time(64ビット整数): クエリ開始時刻(UNIXエポック)
  • finish_time(64ビット整数): クエリ完了時刻(UNIXエポック)
  • last_started(文字列): クエリ開始時刻(yyyy-MM-dd HH:mm:ssZ形式)
  • background(ブール値): バックグラウンド実行かどうか。フォアグラウンドクエリはセッション終了時に即座にキャンセルされますが、バックグラウンドクエリはセッション終了後も継続して実行されます。
  • commands(配列): クエリを構成するコマンドリスト
    • command(文字列): 正規化されたクエリコマンド
    • status(文字列): コマンド実行状態。待機中(Waiting)、実行中(Running)、完了処理中(Finalizing)、完了(End)のいずれか。
    • push_count(64ビット整数): 次のコマンドに渡したレコード数
  • sub_queries(配列): サブクエリリスト
    • id(32ビット整数): クエリID
    • commands(配列): コマンドリスト
      • name(32ビット整数): コマンド名
      • command(文字列): 正規化されたコマンド構文
      • push_count(64ビット整数): 次のコマンドに渡したレコード数
      • status(文字列): コマンド実行状態。待機中(Waiting)、実行中(Running)、完了処理中(Finalizing)、完了(End)のいずれか。
  • stamp(32ビット整数): クエリ状態照会バージョン。クライアントが同時に2件以上の状態照会リクエストを行った場合、同一クエリIDに対する最新バージョンの状態応答を区別するために使用します。
  • tags(マップ): タグのキー・値リスト。クライアントがログプレッソサーバーのクエリオブジェクトに任意の揮発性ユーザー定義データを保持する用途で使用します(例: クエリごとのページング件数)。

エラー応答

クエリが存在しない場合

HTTPステータスコード403で応答します。クエリが存在しない場合や、他のユーザーが実行したクエリの場合は、クエリ状態を照会できません。

{
  "error_code": "invalid-query-id",
  "error_msg": "cannot access query 42"
}
クエリIDが整数でない場合

HTTPステータスコード400で応答します。

{
  "error_code": "invalid-param-type",
  "error_msg": "query id should be integer type"
}