本节重点介绍 : prometheus 四种查询类型
- 4种查询类型
- vector
- matrix
- scalar
- string
- instant query 对应vector
- range query 对应matrix
prometheus四种查询类型
- 文档地址
- 查询类型源码地址 D:\nyy_work\go_path\src\github.com\prometheus\prometheus\promql\parser\value.go
// The valid value types.
const (
ValueTypeNone ValueType = "none"
ValueTypeVector ValueType = "vector"
ValueTypeScalar ValueType = "scalar"
ValueTypeMatrix ValueType = "matrix"
ValueTypeString ValueType = "string"
)
即时向量 Instant vector
: 一组时间序列,每个时间序列包含一个样本,所有样本共享相同的时间戳
- vector 向量 源码位置 D:\nyy_work\go_path\src\github.com\prometheus\prometheus\promql\value.go
// Vector is basically only an alias for model.Samples, but the
// contract is that in a Vector, all Samples have the same timestamp.
type Vector []Sample
- vector 向量,是samples的别名,但是所有sample具有相同timestamp ,常用作instant_query的结果
- 在prometheus页面上就是table查询 ,对应查询接口 /api/v1/query
- 举例图片
范围向量 Range vector
: 一组时间序列,一段时间的结果
- 在prometheus页面上就是graph查询 ,对应查询接口 /api/v1/query_range
- 返回的结果是Matrix 矩阵,源码位置 D:\nyy_work\go_path\src\github.com\prometheus\prometheus\promql\value.go
// Matrix is a slice of Series that implements sort.Interface and
// has a String method.
type Matrix []Series
- Matrix是series的切片 Series源码位置 D:\nyy_work\go_path\src\github.com\prometheus\prometheus\promql\value.go
// Series is a stream of data points belonging to a metric.
type Series struct {
Metric labels.Labels `json:"metric"`
Points []Point `json:"values"`
}
- series 是标签组+Points的组合
- 举例图片
标量 Scalar
一个简单的数字浮点值
- 举例图片
String 一个简单的字符串值;目前未使用
本节重点总结 : prometheus 四种查询类型
- 4种查询类型
- vector 一个时刻的结果
- matrix 一段时间的结果
- scalar 浮点数
- string
- instant query 对应vector
- range query 对应matrix