作用:表示样本数据的分布情况,通常用于统计请求的耗时、大小等。它提供了多个时间序列,包括_sum(总和)、_count(总数)以及多个_bucket(分桶统计)。 PromQL实例:假设我们有一个请求耗时的Histogram类型指标http_request_duration_seconds,我们想要查询请求耗时在0.5秒到1秒之间的请求次数: promql`histogram_quantile(0.95, ...
流观察到的事件的 φ-quantiles(0≤φ≤1) ,显示为 <basename>{quantile="<φ>"}所有观测值的总和,显示为 <basename>_sum观察到的事件计数,显示为 <basename>_count φ (phi)是 Summary 类型中的参数,表示分位数。 φ 的取值范围是 到 1 之间,表示分位数的位置。Summary 用于记录某些东西的 平均...
需要注意的是通过histogram_quantile计算的分位数,并非为精确值,而是通过http_request_duration_seconds_bucket和http_request_duration_seconds_sum近似计算的结果。 动态标签替换 一般来说来说,使用PromQL查询到时间序列后,可视化工具会根据时间序列的标签来渲染图表。例如通过up指标可以获取到当前所有运行的Exporter实例以及...
0.9, # histogram_quantile() 的第一个参数,分位数的目标值 # histogram_quantile() 的第二个参数,聚合的直方图 sum by(le, method, path) ( # sum() 的参数,直方图过去5分钟每秒增量。 rate( # rate() 的参数,过去5分钟的原始直方图序列 demo_api_request_duration_seconds_bucket{job="demo"}[5m] )...
Histogram#直方图,或称为柱状图 Summary#Summary 和 Histogram 十分相似,也用于跟踪事件发生的规模,不同之处是,它提供了一个 quantiles 的功能,可以按百分比划分跟踪的结果。例如:quantile 取值 0.95,表示取采样值里面的 95% 数据。 表达式类型: Instant Vector#瞬时向量 ...
sum_over_time(range-vector):指定区间内所有值的总和。 sum_over_time(prometheus_http_requests_total[5m]) #每个接口5分钟内请求的总和 count_over_time(range-vector):指定区间内所有值的计数。 quantile_over_time(scalar, range-vector):指定区间内的值的 φ 分位数(0≤ φ≤1)。
分布情况:其中中位数(quantile=0.5 百分之50的操作耗时)的耗时为 0.012352463,9 分位数(quantile=0.9 百分之90的操作)的耗时为 0.014458005s,百分之99的操作耗时0.017316173。 Histogram 摘要非常有用,但是平均值会隐藏一些细节,上图中 10 与 113 的总和包含非常广的范围,如果我们想查看时间花在什么地方了,那么我们...
不同在于 Histogram 通过 histogram_quantile 函数是在服务器端计算的分位数。 而 Sumamry 的分位数则是直接在客户端计算完成。因此对于分位数的计算而言,Summary 在通过 PromQL 进行查询时有更好的性能表现,而 Histogram 则会消耗更多的资源。反之对于客户端而言 Histogram 消耗的资源更少。在选择这两种方式时用户...
histogram_quantile(0.95, rate(metric_name[1m])) 这个语句计算了最近一分钟内,metric_name指标的0.95分位数。 过滤时间序列数据: metric_name{label_name="label_value"} 这个语句只查询metric_name指标中label_name为label_value的时间序列数据。 聚合时间序列数据: sum(metric_name) by (label_name) 这个语句...
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{job="api-server"}[5m])) by (le)) 这个查询使用了histogram_quantile函数来计算在过去5分钟内,所有"api-server"服务中95%的请求所观察到的最大延迟。 综合应用 考虑到一个更复杂的场景,我们不仅想要监控服务的延迟,还想要根据不同的HTT...