数值类型格式
数值类型通常与其对应的时间序列类型类似,区别在于其值为单个数字,而不是一系列的(时间,数值)。因此,每个指标的值都是一个单一数字,例如 1、2.3 或 NaN。
这通常对应于 Prometheus 即时向量,或具有字符串和数字列以及多行的 SQL 表。
数值宽格式 (NumericWide)
版本:0.1
示例
类型:数字 名称:cpu 标签:{"host": "a"} | 类型:数字 名称:cpu 标签:{"host": "b"} |
1 | 6 |
属性
- 应该只有一个包含类型指示符的帧。
- 帧中不应包含行或仅包含一行。
- 所有字段都应具有数值或布尔类型(例如,如果 Go float64,*int 等)。
- 使用字段标签。
剩余数据
- 任何不包含类型指示符或具有不同类型指示符的其他帧。
- 任何时间或字符串字段。
数值多格式 (NumericMulti)
版本:0.1
从逻辑上讲,这与 NumericWide 没有区别,只是它不是在一个帧中包含多个字段,而是有多个帧,每个帧包含一个字段。
示例
帧 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”这样的维度)。
- 每个字段的 Labels 属性未使用。
- 对于每个值字段,项目名称(值字段名称)及其键集(字符串字段名称)和值(字符串字段值)对的唯一组合形成每个唯一的项目标识符。
剩余数据
- 任何具有不同或没有类型指示符的其他帧。
- 任何时间字段。
备注
- 除了这种关联之外,“Long”在这个上下文中可能是一个不好的名称,也许“numeric table”(数值表)更合适?↩