apmspan.get

Opis

integer/array apmspan.get(object parameters)

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

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

Parametry

(object) Parametry definiujące żądany wynik.

Metoda obsługuje następujące parametry.

Parameter Type Description
time_from timestamp Zwraca tylko zakresy, które rozpoczęły się o podanym czasie lub później.

Zachowanie parametru:
- required
time_till timestamp Zwraca tylko zakresy, które rozpoczęły się przed podanym czasem.

Zachowanie parametru:
- required
traceids string/array Zwraca tylko zakresy należące do podanych śladów.
spanids string/array Zwraca tylko zakresy o podanych identyfikatorach.
parent_spanids string/array Zwraca tylko zakresy z podanymi zakresami nadrzędnymi.
resource_attributes object/array Zwraca tylko zakresy z podanymi atrybutami zasobu.
Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Pusta tablica zwraca wszystkie zakresy.

Możliwe wartości operatora:
0 - (default) 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 - (default) And/Or;
2 - Or.
span_attributes object/array Zwraca tylko zakresy z podanymi atrybutami zakresu.
Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Pusta tablica zwraca wszystkie zakresy.

Możliwe wartości operatora:
0 - (default) 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 - (default) And/Or;
2 - Or.
min_duration integer Zwraca tylko zakresy, których czas trwania jest większy lub równy podanej wartości, w nanosekundach.
max_duration integer Zwraca tylko zakresy, których czas trwania jest krótszy niż podana wartość, w nanosekundach.
filter object Zwraca tylko wyniki dokładnie pasujące do podanego filtra.

Przyjmuje obiekt, w którym kluczami są nazwy właściwości, a wartościami są pojedyncze wartości lub tablice wartości, względem których wykonywane jest dopasowanie.

Obsługiwane właściwości: traceid, spanid, parent_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ą ciągi znaków, których należy szukać. 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, parent_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 Opis tych parametrów znajduje się 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 hierarchii spanów śladu

Pobierz pierwsze cztery spany śladu „dee625f33cb0994e86c5cd4640e3b09c”, posortowane według czasu rozpoczęcia. Właściwość parent_spanid pokazuje zależności między spanami: span główny nie ma elementu nadrzędnego, a każdy inny span odwołuje się do spanu, który go uruchomił.

Żądanie:

{
    "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
}

Odpowiedź:

{
    "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
}

Zobacz także

Źródło

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