apmspan.get

Описание

integer/array apmspan.get(object parameters)

Метод позволяет получать спаны в соответствии с указанными параметрами.

Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках роли пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(object) Параметры, определяющие требуемый результат.

Метод поддерживает следующие параметры.

Параметр Тип Описание
time_from timestamp Возвращать только интервалы, начавшиеся в указанное время или позже.

Поведение параметра:
- обязательный
time_till timestamp Возвращать только интервалы, начавшиеся до указанного времени.

Поведение параметра:
- обязательный
traceids string/array Возвращать только интервалы, относящиеся к указанным трассировкам.
spanids string/array Возвращать только интервалы с указанными идентификаторами.
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 - (по умолчанию) И/ИЛИ;
2 - ИЛИ.
span_attributes object/array Возвращать только интервалы с указанными атрибутами интервала.
Формат: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Пустой массив возвращает все интервалы.

Возможные значения оператора:
0 - (по умолчанию) Содержит;
1 - Равно;
2 - Не содержит;
3 - Не равно;
4 - Существует;
5 - Не существует.
span_attributes_evaltype integer Метод оценки условий в span_attributes.

Возможные значения:
0 - (по умолчанию) И/ИЛИ;
2 - ИЛИ.
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", отсортированные по времени начала. Свойство 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
}

См. также

Источник

CApmSpan::get() в файле ui/include/classes/api/services/CApmSpan.php.