ノードのホットスレッドAPI

クラスタ内の各選択ノードのホットスレッドを返します。

リクエスト

GET /_nodes/hot_threads

GET /_nodes/<node_id>/hot_threads

前提条件

  • Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するにはmonitorまたはmanage クラスタ特権を持っている必要があります。

説明

このAPIは、クラスタ内の各選択ノードのホットスレッドの内訳を提供します。出力はプレーンテキストで、各ノードのトップホットスレッドの内訳が含まれています。

パスパラメータ

  • <node_id>
  • (オプション、文字列)返される情報を制限するために使用されるノードIDまたは名前のカンマ区切りリスト。

クエリパラメータ

  • ignore_idle_threads
  • (オプション、ブール値)trueの場合、既知のアイドルスレッド(例:ソケットセレクトで待機中、または空のキューからタスクを取得するために待機中)はフィルタリングされます。デフォルトはtrueです。
  • interval
  • (オプション、時間単位)スレッドの2回目のサンプリングを行う間隔。デフォルトは500msです。
  • snapshots
  • (オプション、整数)スレッドスタックトレースのサンプル数。デフォルトは10です。
  • threads
  • (オプション、整数)情報を提供するホットスレッドの数を指定します。デフォルトは3です。このAPIをトラブルシューティングに使用する場合、このパラメータを大きな数(例:9999)に設定して、システム内のすべてのスレッドに関する情報を取得します。
  • timeout
  • (オプション、時間単位)各ノードからの応答を待つ時間を指定します。省略した場合、無限に待機します。
  • type
  • (オプション、文字列)サンプリングするタイプ。利用可能なオプションはblockcpu、およびwaitです。デフォルトはcpuです。

Python

  1. resp = client.nodes.hot_threads()
  2. print(resp)
  3. resp1 = client.nodes.hot_threads(
  4. node_id="nodeId1,nodeId2",
  5. )
  6. print(resp1)

Ruby

  1. response = client.nodes.hot_threads
  2. puts response
  3. response = client.nodes.hot_threads(
  4. node_id: 'nodeId1,nodeId2'
  5. )
  6. puts response

Js

  1. const response = await client.nodes.hotThreads();
  2. console.log(response);
  3. const response1 = await client.nodes.hotThreads({
  4. node_id: "nodeId1,nodeId2",
  5. });
  6. console.log(response1);

コンソール

  1. GET /_nodes/hot_threads
  2. GET /_nodes/nodeId1,nodeId2/hot_threads