このページで
apmspan.get
説明
integer/array apmspan.get(object parameters)
指定したパラメータに従ってスパンを取得できます。
このメソッドは、すべてのタイプのユーザーが利用できます。 メソッドを呼び出す権限は、ユーザーロールの設定で取り消すことができます。 詳細については、ユーザーロールを参照してください。
パラメータ
(object) 目的の出力を定義するパラメータ。
このメソッドでは、以下のパラメータをサポートしています。
| パラメータ | 型 | 説明 |
|---|---|---|
| time_from | timestamp | 指定した時刻以降に開始したスパンのみを返します。 パラメータの動作: - 必須 |
| time_till | timestamp | 指定した時刻より前に開始したスパンのみを返します。 パラメータの動作: - 必須 |
| traceids | string/array | 指定したトレースに属するスパンのみを返します。 |
| spanids | string/array | 指定したIDを持つスパンのみを返します。 |
| parent_spanids | string/array | 指定した親スパンを持つスパンのみを返します。 |
| resource_attributes | object/array | 指定したリソース属性を持つスパンのみを返します。 形式: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...]。空の配列を指定すると、すべてのスパンを返します。 使用可能な演算子の値: 0 - (デフォルト) 含む; 1 - 等しい; 2 - 含まない; 3 - 等しくない; 4 - 存在する; 5 - 存在しない。 |
| resource_attributes_evaltype | integer | resource_attributes の条件に対する評価方法。使用可能な値: 0 - (デフォルト) And/Or; 2 - Or。 |
| span_attributes | object/array | 指定したスパン属性を持つスパンのみを返します。 形式: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...]。空の配列を指定すると、すべてのスパンを返します。 使用可能な演算子の値: 0 - (デフォルト) 含む; 1 - 等しい; 2 - 含まない; 3 - 等しくない; 4 - 存在する; 5 - 存在しない。 |
| span_attributes_evaltype | integer | span_attributes の条件に対する評価方法。使用可能な値: 0 - (デフォルト) And/Or; 2 - Or。 |
| min_duration | integer | 指定した値以上の期間を持つスパンのみを返します。値の単位はナノ秒です。 |
| max_duration | integer | 指定した値未満の期間を持つスパンのみを返します。値の単位はナノ秒です。 |
| filter | object | 指定したフィルターに完全に一致する結果のみを返します。 プロパティ名をキーとし、一致させる単一の値または値の配列を値とするオブジェクトを受け取ります。 サポートされるプロパティ: traceid, spanid, parent_spanid, trace_state, span_name, span_kind, service_name, scope_name, scope_version, status_code, status_message。 |
| search | object | 指定したパターンに一致する結果を返します(大文字と小文字を区別しません)。 プロパティ名をキーとし、検索対象の文字列を値とするオブジェクトを受け取ります。追加のオプションを指定しない場合、 LIKE "%…%" 検索を実行します。サポートされるプロパティ: trace_state, span_name, service_name, scope_name, scope_version, status_message。 |
| sortfield | string/array | 指定したプロパティで結果を並べ替えます。 使用可能な値: timestamp, traceid, spanid, parent_spanid, trace_state, span_name, span_kind, service_name, scope_name, scope_version, duration, status_code, status_message。 |
| offset | integer | 結果を返す前にスキップするレコード数。 |
| countOutput | boolean | これらのパラメータについては、リファレンスコメントで説明しています。 |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
戻り値
(integer/array) 次のいずれかを返します。
- オブジェクトの配列
countOutputパラメータが使用されている場合は、取得したオブジェクトの数
例
トレースのスパン階層の取得
トレース「dee625f33cb0994e86c5cd4640e3b09c」の最初の4つのスパンを、開始時刻順に取得します。
parent_spanid プロパティは、スパン間の関係を示します。ルートスパンには親がなく、それ以外の各スパンは、そのスパンを開始したスパンを参照します。
{
"jsonrpc": "2.0",
"method": "apmspan.get",
"params": {
"output": ["spanid", "parent_spanid", "service_name", "span_name", "duration", "status_code"],
"time_from": 1790848800,
"time_till": 1790852400,
"traceids": "dee625f33cb0994e86c5cd4640e3b09c",
"sortfield": "timestamp",
"sortorder": "ASC",
"limit": 4
},
"id": 1
}
レスポンス:
{
"jsonrpc": "2.0",
"result": [
{
"spanid": "7c1a9e2f4b6d8a03",
"parent_spanid": "",
"service_name": "zabbix-nginx",
"span_name": "POST /zabbix.php",
"duration": "1104826531",
"status_code": "Unset"
},
{
"spanid": "3f8b2c6d1e9a7054",
"parent_spanid": "7c1a9e2f4b6d8a03",
"service_name": "zabbix-frontend",
"span_name": "POST /zabbix.php",
"duration": "1098230418",
"status_code": "Unset"
},
{
"spanid": "b3390ad41931ed08",
"parent_spanid": "3f8b2c6d1e9a7054",
"service_name": "zabbix-frontend",
"span_name": "mysqli::real_connect",
"duration": "36671360",
"status_code": "Ok"
},
{
"spanid": "e41f7a2c9d5b3086",
"parent_spanid": "3f8b2c6d1e9a7054",
"service_name": "zabbix-frontend",
"span_name": "mysqli_query",
"duration": "19704118",
"status_code": "Ok"
}
],
"id": 1
}
関連項目
ソース
ui/include/classes/api/services/CApmSpan.php の CApmSpan::get()。