跳到主要内容

数值类型格式

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

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

数值宽格式 (NumericWide)

版本:0.1

示例

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

属性

  • 应只有一个带有类型指示符的帧
  • 帧中应无行或只有一行
  • 所有字段应为数字或布尔类型(例如,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
1a
6b

属性

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

剩余数据

  • 任何带有不同类型指示符或不带类型指示符的附加帧
  • 任何时间字段

备注


  1. 除了此关联之外,在此上下文中,“长格式 (Long)” 或许不是一个好名称,也许叫“数值表 (numeric table)” 更好?