Watcherの統計API
現在のWatcherメトリクスを取得します。
リクエスト
GET _watcher/stats
GET _watcher/stats/<metric>
前提条件
- このAPIを使用するには、
manage_watcher
またはmonitor_watcher
クラスター権限が必要です。詳細については、セキュリティ権限を参照してください。
パスパラメータ
emit_stacktraces
- (オプション、ブール値)実行中の各ウォッチに対してスタックトレースが生成されるかどうかを定義します。デフォルト値は
false
です。 <metric>
- (オプション、列挙型)レスポンスに含まれる追加メトリクスを定義します。
current_watches
- レスポンスに現在実行中のウォッチを含めます。
queued_watches
- レスポンスに実行待ちのウォッチを含めます。
_all
- レスポンスにすべてのメトリクスを含めます。
レスポンスボディ
このAPIは常に基本的なメトリクスを返します。metric
パラメータを使用することで、より多くのメトリクスを取得できます。
current_watches
- (リスト)現在実行中のウォッチメトリクスは、Watcherによって現在実行されているウォッチに関する洞察を提供します。現在実行中の各ウォッチに関する追加情報が共有されます。この情報には、
watch_id
、実行が開始された時間、および現在の実行フェーズが含まれます。To include this metric, the `metric` option should be set to `current_watches`
or `_all`. In addition you can also specify the `emit_stacktraces=true`
parameter, which adds stack traces for each watch that is being executed. These
stack traces can give you more insight into an execution of a watch.
queued_watches
- (リスト)Watcherは、ウォッチの実行がノードとそのリソースに過度の負担をかけないように実行を調整します。あまりにも多くのウォッチが同時にトリガーされ、すべてを実行するための十分なキャパシティがない場合、一部のウォッチはキューに入れられ、現在実行中のウォッチが実行を完了するのを待ちます。キューに入れられたウォッチメトリクスは、これらのキューに入れられたウォッチに関する洞察を提供します。
To include this metric, the `metric` option should include `queued_watches` or
例
以下の例は、stats
APIを呼び出して基本的なメトリクスを取得します:
Python
resp = client.watcher.stats()
print(resp)
Ruby
response = client.watcher.stats
puts response
Js
const response = await client.watcher.stats();
console.log(response);
コンソール
GET _watcher/stats
成功した呼び出しは、以下の例に似たJSON構造を返します:
Js
{
"watcher_state": "started",
"watch_count": 1,
"execution_thread_pool": {
"size": 1000,
"max_size": 1
}
}
ウォッチャーの現在の状態。started 、starting 、またはstopped のいずれかです。 |
|
現在登録されているウォッチの数。 | |
トリガーされ、現在実行待ちのウォッチの数。 | |
実行スレッドプールの最大サイズ。これは、同時に実行されるウォッチの最大数を示します。 |
以下の例は、metric
オプションをクエリ文字列引数として指定し、基本的なメトリクスと現在実行中のウォッチに関するメトリクスを含めます:
Python
resp = client.watcher.stats(
metric="current_watches",
)
print(resp)
Ruby
response = client.watcher.stats(
metric: 'current_watches'
)
puts response
Js
const response = await client.watcher.stats({
metric: "current_watches",
});
console.log(response);
コンソール
GET _watcher/stats?metric=current_watches
以下の例は、metric
オプションをURLパスの一部として指定します:
Python
resp = client.watcher.stats(
metric="current_watches",
)
print(resp)
Ruby
response = client.watcher.stats(
metric: 'current_watches'
)
puts response
Js
const response = await client.watcher.stats({
metric: "current_watches",
});
console.log(response);
コンソール
GET _watcher/stats/current_watches
以下のスニペットは、実行中のウォッチをキャプチャする成功したJSONレスポンスの例を示します:
Js
{
"watcher_state": "started",
"watch_count": 2,
"execution_thread_pool": {
"queue_size": 1000,
"max_size": 20
},
"current_watches": [
{
"watch_id": "slow_condition",
"watch_record_id": "slow_condition_3-2015-05-13T07:42:32.179Z",
"triggered_time": "2015-05-12T11:53:51.800Z",
"execution_time": "2015-05-13T07:42:32.179Z",
"execution_phase": "condition"
}
]
}
現在実行中のウォッチのリスト。ウォッチが実行中でない場合、空の配列が返されます。キャプチャされたウォッチは、実行時間の降順でソートされます。したがって、最も長く実行されているウォッチが常に最上位にあります。 | |
実行中のウォッチのID。 | |
ウォッチレコードのID。 | |
トリガーエンジンによってウォッチがトリガーされた時間。 | |
ウォッチが実行された時間。これは、入力が実行される直前です。 | |
現在のウォッチ実行フェーズ。input 、condition 、actions 、awaits_execution 、started 、watch_transform 、aborted 、finished のいずれかです。 |
以下の例は、queued_watches
メトリクスオプションを指定し、基本的なメトリクスとキューに入れられたウォッチの両方を含めます:
Python
resp = client.watcher.stats(
metric="queued_watches",
)
print(resp)
Ruby
response = client.watcher.stats(
metric: 'queued_watches'
)
puts response
Js
const response = await client.watcher.stats({
metric: "queued_watches",
});
console.log(response);
コンソール
GET _watcher/stats/queued_watches
実行中のウォッチをキャプチャする成功したJSONレスポンスの例:
Js
{
"watcher_state": "started",
"watch_count": 10,
"execution_thread_pool": {
"queue_size": 1000,
"max_size": 20
},
"queued_watches": [
{
"watch_id": "slow_condition4",
"watch_record_id": "slow_condition4_223-2015-05-21T11:59:59.811Z",
"triggered_time": "2015-05-21T11:59:59.811Z",
"execution_time": "2015-05-21T11:59:59.811Z"
},
...
]
}
現在実行待ちのすべてのウォッチのリスト。ウォッチがキューに入っていない場合、空の配列が返されます。 | |
実行待ちのウォッチのID。 | |
ウォッチレコードのID。 | |
トリガーエンジンによってウォッチがトリガーされた時間。 | |
ウォッチがキュー状態に入った時間。 |