/api/tree/branch

分支代表树层次结构中的一个级别,并包含有关子分支和/或叶子的信息。从 API 角度来看,分支是不可变的,并且只能通过使用 CLI 命令通过树规则通过树规则处理 TSMeta,或者遇到新的时间序列或修改 TSMeta 对象时,才能创建或修改分支。因此,branch端点仅支持GET动词。

分支由branchId(十六进制编码的字符串)标识,该字符串表示其所属树的 ID 以及该分支所源自的每个父级的 ID。所有分支都起源于树的 ROOT 分支,这通常是浏览时的起点。要获取 ROOT ,只需使用有效的treeId调用此 endpoingt 即可。根分支 ID 也是树 ID 的 4 个字符的编码。

Verbs

  • GET

Requests

以下字段可用于请求分支。只能使用其中一个。

NameData TypeRequiredDescriptionDefaultQSRWExample
treeIdIntegerOptional用于获取树的根分支。如果与 branchId 结合使用,树 ID 将被忽略。 treeidRO1
branchStringRequired分支 ID 的十六进制表示,除了根分支请求之外的所有请求都需要 branchRO000183A21C8F

Response

对请求的成功响应将使用请求的序列化程序返回分支对象。如果请求的树或分支在系统中不存在,则将返回404并显示错误消息。

响应返回的字段包括:

NameData TypeDescriptionExample
treeIdInteger分支所属树的 ID1
displayNameString规则集确定的分支名称sys
branchIdString分支的十六进制编码 ID00010001BECD
depthInteger树内分支的深度,从根分支的* 0 *开始1
pathMap父分支名称及其深度的列表。See Below
branchesArray子分支对象的数组。可能是nullSee Below
leavesArray一组子叶对象。可能是null请参阅下面的叶子

Leaves

如果分支包含子叶子,即存储在 OpenTSDB 中的时间序列,则其 Metrics,标签,TSUID 和显示名称将包含在结果中。叶字段如下:

NameData TypeDescriptionExample
metricString时间序列的 Metrics 名称sys.cpu.0
tagsMap代表时间序列的标签名称和值的列表See Below
tsuidString十六进制编码的时间序列 ID000001000001000001
displayNameString规则集解析的名称user

GET

示例根 GET 查询

http://localhost:4242/api/tree/branch?treeid=1

Example Response

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

Example Response

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