/api/tree/test
Для отладки набора правил можно использовать конечную точку test для выполнения объекта TSMeta через правила дерева и определения, где в иерархии будет находиться лист. Или узнать, почему временной ряд не соответствовал набору правил или столкнулся с существующим временным рядом. Поддерживается только метод GET и при использовании этой конечной точки к фактическому дереву в хранилище никаких изменений не будет внесено.
Поле messages ответа содержит информацию о том, что произошло во время обработки. Если TSUID не существовал или произошла ошибка, причина будет найдена в этом поле. Во время обработки каждое правило, через которое проходит TSMeta, сгенерирует сообщение. Если правило успешно соответствовало TSMeta или потерпело неудачу, причина будет записана.
Глаголы
- GET
Запросы
Для этой конечной точки требуются следующие поля.
| Имя | Тип данных | Обязательно | Описание | По умолчанию | QS | RW | Пример |
|---|---|---|---|---|---|---|---|
| treeId | Целое число | Обязательно | Идентификатор дерева, через которое необходимо передать объекты TSMeta | treeid | 1 | ||
| tsuids | Строка | Обязательно | Список одного или нескольких TSUIDs для извлечения TSMeta. Если запрашивается проверка более одного TSUID, они должны быть разделены запятой. | tsuids | 000001000001000001,00000200000200002 |
Ответ
Успешный ответ вернёт список JSON-объектов с несколькими элементами, включая объект TSMeta, сообщения о шагах обработки и результат ветвления. Будет один объект для каждого запрошенного TSUID с TSUID в качестве имени объекта. Если запрошенное дерево не существовало в системе, будет возвращён 404, содержащий сообщение об ошибке. Если были предоставлены некорректные данные, будет возвращена ошибка 400.
Поля, найденные в ответе, включают:
| Имя | Тип данных | Описание | Пример |
|---|---|---|---|
| messages | Массив строк | Список сообщений для каждого уровня и правила набора правил | См. ниже |
| meta | Объект | Объект TSMeta, загруженный из хранилища | См. ниже |
| branch | Объект | Полное дерево, если оно успешно обработано | См. ниже |
Пример ответа
{
"000001000001000001000002000002": {
"messages": [
"Processing rule: [1:0:0:TAGK]",
"Matched tagk [host] for rule: [1:0:0:TAGK]",
"Processing rule: [1:1:0:METRIC]",
"Depth [3] Adding leaf [name: sys.cpu.0 tsuid: 000001000001000001000002000002] to parent branch [Name: [web-01.lga.mysite.com]]"
],
"meta": {
"tsuid": "000001000001000001000002000002",
"metric": {
"uid": "000001",
"type": "METRIC",
"name": "sys.cpu.0",
"description": "",
"notes": "",
"created": 1368979404,
"custom": null,
"displayName": ""
},
"tags": [
{
"uid": "000001",
"type": "TAGK",
"name": "host",
"description": "",
"notes": "",
"created": 1368979404,
"custom": null,
"displayName": ""
},
{
"uid": "000001",
"type": "TAGV",
"name": "web-01.lga.mysite.com",
"description": "",
"notes": "",
"created": 1368979404,
"custom": null,
"displayName": ""
},
{
"uid": "000002",
"type": "TAGK",
"name": "type",
"description": "",
"notes": "",
"created": 1368979404,
"custom": null,
"displayName": ""
},
{
"uid": "000002",
"type": "TAGV",
"name": "user",
"description": "",
"notes": "",
"created": 1368979404,
"custom": null,
"displayName": ""
}
],
"description": "",
"notes": "",
"created": 0,
"units": "",
"retention": 0,
"max": "NaN",
"min": "NaN",
"displayName": "",
"lastReceived": 0,
"totalDatapoints": 0,
"dataType": ""
},
"branch": {
"leaves": null,
"branches": [
{
"leaves": [
{
"metric": "",
"tags": null,
"tsuid": "000001000001000001000002000002",
"displayName": "sys.cpu.0"
}
],
"branches": null,
"path": {
"0": "ROOT",
"1": "web-01.lga.mysite.com"
},
"treeId": 1,
"displayName": "web-01.lga.mysite.com",
"branchId": "0001247F7202",
"numLeaves": 1,
"numBranches": 0,
"depth": 1
}
],
"path": {
"0": "ROOT"
},
"treeId": 1,
"displayName": "ROOT",
"branchId": "0001",
"numLeaves": 0,
"numBranches": 1,
"depth": 0
}
}
}
Пример ответа об ошибке
{
"000001000001000001000002000003": {
"branch": null,
"messages": [
"Unable to locate TSUID meta data"
],
"meta": null
}
}
© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/api_http/tree/test.html