跳至主要内容

数值类型格式

数值类型通常与其对应的时间序列类型类似,区别在于其值为单个数字,而不是一系列的(时间,数值)。因此,每个指标的值都是一个单一数字,例如 1、2.3 或 NaN。

这通常对应于 Prometheus 即时向量,或具有字符串和数字列以及多行的 SQL 表。

数值宽格式 (NumericWide)

版本:0.1

示例

类型:数字
名称:cpu
标签:{"host": "a"}
类型:数字
名称:cpu
标签:{"host": "b"}
16

属性

  • 应该只有一个包含类型指示符的帧。
  • 帧中不应包含行或仅包含一行。
  • 所有字段都应具有数值或布尔类型(例如,如果 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
1a
6b

属性

  • 应该只有一个帧。
  • 可能有一个或多个值字段。
  • 如果有多行,则需要有一个或多个字符串字段。
  • 每个字符串列都是一个维度,其中字段/字段名称是维度的名称,字段的对应值是维度的值(例如,名为“host”的字段将为包含“web1”的该字段中的一行/值创建一个像“host=web1”这样的维度)。
  • 每个字段的 Labels 属性未使用。
  • 对于每个值字段,项目名称(值字段名称)及其键集(字符串字段名称)和值(字符串字段值)对的唯一组合形成每个唯一的项目标识符。

剩余数据

  • 任何具有不同或没有类型指示符的其他帧。
  • 任何时间字段。

备注


  1. 除了这种关联之外,“Long”在这个上下文中可能是一个不好的名称,也许“numeric table”(数值表)更合适?