apmtrace.get

Opis

integer/array apmtrace.get(object parameters)

Metoda umożliwia pobieranie śladów zgodnie z podanymi parametrami.

Ta metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywoływania metody można odebrać w ustawieniach ról użytkowników. Więcej informacji można znaleźć w sekcji Role użytkowników.

Parametry

(object) Parametry definiujące żądane dane wyjściowe.

Metoda obsługuje następujące parametry.

Parametr Typ Opis
time_from timestamp Zwraca tylko ślady, których główny span rozpoczął się o podanym czasie lub później.

Zachowanie parametru:
- wymagany
time_till timestamp Zwraca tylko ślady, których główny span rozpoczął się przed podanym czasem.

Zachowanie parametru:
- wymagany
traceids string/array Zwraca tylko ślady o podanych identyfikatorach.
resource_attributes object/array Zwraca tylko ślady, których główny span ma podane atrybuty zasobu.
Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Pusta tablica zwraca wszystkie ślady.

Możliwe wartości operatora:
0 - (domyślnie) Zawiera;
1 - Jest równe;
2 - Nie zawiera;
3 - Nie jest równe;
4 - Istnieje;
5 - Nie istnieje.
resource_attributes_evaltype integer Metoda oceny warunków w resource_attributes.

Możliwe wartości:
0 - (domyślnie) And/Or;
2 - Or.
span_attributes object/array Zwraca tylko ślady, których główny span ma podane atrybuty spanu.
Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Pusta tablica zwraca wszystkie ślady.

Możliwe wartości operatora:
0 - (domyślnie) Zawiera;
1 - Jest równe;
2 - Nie zawiera;
3 - Nie jest równe;
4 - Istnieje;
5 - Nie istnieje.
span_attributes_evaltype integer Metoda oceny warunków w span_attributes.

Możliwe wartości:
0 - (domyślnie) And/Or;
2 - Or.
min_duration integer Zwraca tylko ślady, których główny span ma wartość duration większą lub równą podanej wartości, w nanosekundach.
max_duration integer Zwraca tylko ślady, których główny span ma wartość duration mniejszą od podanej wartości, w nanosekundach.
filter object Zwraca tylko te wyniki, które dokładnie odpowiadają podanemu filtrowi.

Przyjmuje obiekt, w którym kluczami są nazwy właściwości, a wartościami są pojedyncze wartości lub tablice wartości, z którymi należy porównać wyniki.

Obsługiwane właściwości: traceid, spanid, trace_state, span_name, span_kind, service_name, scope_name, scope_version, status_code, status_message.
search object Zwraca wyniki pasujące do podanego wzorca (bez uwzględniania wielkości liter).

Przyjmuje obiekt, w którym kluczami są nazwy właściwości, a wartościami są wyszukiwane ciągi znaków. Jeśli nie podano dodatkowych opcji, wyszukiwanie będzie wykonywane za pomocą LIKE "%…%".

Obsługiwane właściwości: trace_state, span_name, service_name, scope_name, scope_version, status_message.
sortfield string/array Sortuje wynik według podanych właściwości.

Możliwe wartości: timestamp, traceid, spanid, trace_state, span_name, span_kind, service_name, scope_name, scope_version, duration, status_code, status_message.
offset integer Liczba rekordów pomijanych przed zwróceniem wyniku.
countOutput boolean Parametry te opisano w komentarzu referencyjnym.
excludeSearch boolean
limit integer
output query
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Zwracane wartości

(integer/array) Zwraca:

  • tablicę obiektów;
  • liczbę pobranych obiektów, jeśli użyto parametru countOutput.

Przykłady

Pobieranie najwolniejszych śladów

Pobierz dwa najwolniejsze ślady usługi zabbix-nginx. Wyszukaj ślady z okresu od 10:00 do 11:00 1 października 2026 r. (UTC) i uwzględnij tylko te, których czas trwania wynosił co najmniej 1 sekundę.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "apmtrace.get",
    "params": {
        "output": ["timestamp", "traceid", "span_name", "service_name", "duration", "status_code", "span_count", "error_count"],
        "time_from": 1790848800,
        "time_till": 1790852400,
        "filter": {
            "service_name": "zabbix-nginx"
        },
        "min_duration": 1000000000,
        "sortfield": "duration",
        "sortorder": "DESC",
        "limit": 2
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "timestamp": "1790849274910226417",
            "traceid": "8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4",
            "span_name": "POST /zabbix.php",
            "service_name": "zabbix-nginx",
            "duration": "30412907815",
            "status_code": "Error",
            "span_count": "49",
            "error_count": "2"
        },
        {
            "timestamp": "1790850512338104952",
            "traceid": "dee625f33cb0994e86c5cd4640e3b09c",
            "span_name": "POST /zabbix.php",
            "service_name": "zabbix-nginx",
            "duration": "1104826531",
            "status_code": "Unset",
            "span_count": "27",
            "error_count": "0"
        }
    ],
    "id": 1
}

Zobacz także

Źródło

CApmTrace::get() w ui/include/classes/api/services/CApmTrace.php.