数值类型格式
数值类型通常与其对应的时间序列类型相似,不同之处在于其值是一个单一数字,而非一系列(时间,数值)对。因此,每个指标的值是一个单一数字,例如 1、2.3 或 NaN。
这通常对应于 Prometheus 的瞬时向量,或具有字符串和数字列及多行的 SQL 表。
数值宽格式 (NumericWide)
版本:0.1
示例
类型:数字 名称:cpu 标签:{"host": "a"} | 类型:数字 名称:cpu 标签:{"host": "b"} |
1 | 6 |
属性
- 应只有一个带有类型指示符的帧
- 帧中应无行或只有一行
- 所有字段应为数字或布尔类型(例如,Go 中的 float64、*int 等)
- 使用字段标签
剩余数据
- 任何不带类型指示符或带不同类型指示符的附加帧
- 任何时间或字符串字段
数值多格式 (NumericMulti)
版本:0.1
这在逻辑上与 NumericWide 没有区别,只是 NumericWide 是一个帧有多个字段,而 NumericMulti 是多个帧每个帧有一个字段。
示例
帧 0
类型:数字 名称:cpu 标签:{"host": "a"} |
1 |
帧 1
类型:数字 名称:cpu 标签:{"host": "b"} |
6 |
属性
- 帧中应无行或只有一行
- 每个帧应有一个值字段
剩余数据
- 任何时间或字符串字段
- 第一个值字段之后的任何其他值字段
- 任何不带类型指示符的附加帧
数值长格式 (NumericLong)[类似 SQL 表]
版本:0.1
这类似于使用 `Select Host, avg(cpu) … group by host` 之类查询时可能得到的响应。这与 TimeSeriesLong 格式相似,因为维度存在于字符串列中9。
示例
类型:数字 名称:cpu 标签:nil | 类型:字符串 名称:host 标签:nil |
1 | a |
6 | b |
属性
- 应有一个单独的帧
- 可能有一个或多个值字段
- 如果有多行,则需要有一个或多个字符串字段
- 每个字符串列是一个维度,其中字段/字段名称是维度的名称,字段的对应值是维度的值(例如,名称为“host”的字段会为该字段中包含“web1”的行/值创建一个维度,如“host=web1”)
- 每个字段的标签属性未被使用
- 对于每个值字段,项目名称(值字段名称)及其键(字符串字段名称)和值(字符串字段值)对的集合的唯一组合构成每个唯一的项目标识符。
剩余数据
- 任何带有不同类型指示符或不带类型指示符的附加帧
- 任何时间字段
备注
- 除了此关联之外,在此上下文中,“长格式 (Long)” 或许不是一个好名称,也许叫“数值表 (numeric table)” 更好?↩