/api/tree/branch
Ветка представляет уровень в иерархии дерева и содержит информацию о дочерних ветках и/или листьях. Ветки неизменяемы с точки зрения API и могут быть созданы или изменены только путем обработки TSMeta с помощью правил дерева через команду CLI или при появлении новых временных рядов или изменении объекта TSMeta. Поэтому конечная точка branch поддерживает только глагол GET.
Ветка идентифицируется branchId, шестнадцатерично закодированной строкой, которая представляет собой идентификатор дерева, а также идентификаторы каждого родительского элемента, от которого исходит ветка. Все ветви берут начало от ветки ROOT дерева, и это обычно отправная точка при просмотре. Для получения ROOT просто вызовите эту конечную точку с допустимым treeId. Идентификатор корневой ветки также является 4-символьным кодированием идентификатора дерева.
Глаголы
- GET
Запросы
Для запроса ветки можно использовать следующие поля. Можно использовать только одно из них.
| Имя | Тип данных | Обязательно | Описание | По умолчанию | QS | RW | Пример |
|---|---|---|---|---|---|---|---|
| treeId | Целое число | Необязательно | Используется для получения корневой ветки дерева. Если используется в сочетании с branchId, идентификатор дерева будет проигнорирован. | treeid | RO | 1 | |
| branch | Строка | Обязательно | Шестнадцатеричное представление идентификатора ветки, необходимое для всех запросов, кроме запроса корневой ветки | branch | RO | 000183A21C8F |
Ответ
При успешном ответе на запрос будет возвращен объект ветки с использованием запрошенного сериализатора. Если запрошенное дерево или ветка не существовали в системе, будет возвращен 404 с сообщением об ошибке.
Возвращаемые поля ответа включают:
| Имя | Тип данных | Описание | Пример |
|---|---|---|---|
| treeId | Целое число | Идентификатор дерева, к которому принадлежит ветка | 1 |
| displayName | Строка | Имя ветки, определенное набором правил | sys |
| branchId | Строка | Шестнадцатерично закодированный идентификатор ветки | 00010001BECD |
| depth | Целое число | Глубина ветки в дереве, начиная с 0 для корневой ветки | 1 |
| path | Массив | Список имен родительских веток и их глубины. | См. ниже |
| branches | Массив | Массив объектов дочерних веток. Может быть null. | См. ниже |
| leaves | Массив | Массив объектов дочерних листьев. Может быть null. | См. ниже листья |
Листья
Если ветка содержит дочерние листья, т.е. временные ряды, хранящиеся в OpenTSDB, их метрика, метки, TSUID и имя отображения будут содержаться в результатах. Поля листьев следующие:
| Имя | Тип данных | Описание | Пример |
|---|---|---|---|
| metric | Строка | Имя метрики для временного ряда | sys.cpu.0 |
| tags | Массив | Список имен меток и значений, представляющих временной ряд | См. ниже |
| tsuid | Строка | Шестнадцатерично закодированный идентификатор временного ряда | 000001000001000001 |
| displayName | Строка | Имя, проанализированное набором правил | user |
GET
Пример запроса GET для корня
http://localhost:4242/api/tree/branch?treeid=1
Пример ответа
{
"leaves": null,
"branches": [
{
"leaves": null,
"branches": null,
"path": {
"0": "ROOT",
"1": "sys"
},
"treeId": 1,
"displayName": "sys",
"branchId": "00010001BECD",
"depth": 1
}
],
"path": {
"0": "ROOT"
},
"treeId": 1,
"displayName": "ROOT",
"branchId": "0001",
"depth": 0
}
Пример запроса GET для ветки
http://localhost:4242/api/tree/branch?branchid=00010001BECD000181A8
Пример ответа
{
"leaves": [
{
"metric": "sys.cpu.0.user",
"tags": {
"host": "web01"
},
"tsuid": "000001000001000001",
"displayName": "user"
}
],
"branches": [
{
"leaves": null,
"branches": null,
"path": {
"0": "ROOT",
"1": "sys",
"2": "cpu",
"3": "mboard"
},
"treeId": 1,
"displayName": "mboard",
"branchId": "00010001BECD000181A8BF992A99",
"depth": 3
}
],
"path": {
"0": "ROOT",
"1": "sys",
"2": "cpu"
},
"treeId": 1,
"displayName": "cpu",
"branchId": "00010001BECD000181A8",
"depth": 2
}
© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/api_http/tree/branch.html