参考手册
函数 使用数学函数、直方图函数、排序和时间转换。
这些方法通常接收即时向量。scalar() 等函数会改变查询值类型,Rust 会检查后续组合是否合法。
from metricraft import QueryBuilder as Q
buckets = Q.from_metric( "request_duration_seconds_bucket" ).rate( "5m" )
query = buckets.sum().by( "le" ).histogram_quantile( 0.95 )
print (query.build( mode = "promql" ))
日历函数把样本的值 解释为 UTC Unix 时间戳,不会自动读取样本本身的时间戳;需要后者时使用 .timestamp()。直方图编码与原生直方图支持取决于后端。
方法与参数 QueryBuilder abs()将各样本替换为绝对值。
QueryBuilder.abs() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
absent()输入即时向量为空时返回单个值 1,否则不返回序列。
QueryBuilder.absent() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
acos()计算各样本的反余弦。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.acos() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
acosh()计算各样本的反双曲余弦。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.acosh() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
asin()计算各样本的反正弦。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.asin() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
asinh()计算各样本的反双曲正弦。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.asinh() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
atan()计算各样本的反正切。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.atan() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
atanh()计算各样本的反双曲正切。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.atanh() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
ceil()将各样本向上取整。
QueryBuilder.ceil() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
clamp()将样本值限制在包含上下边界的范围内。
QueryBuilder.clamp(minimum: ScalarInput, maximum: ScalarInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 minimumint | float | QueryBuilder 必填 包含边界的样本值下界,应不大于 maximum;between() 要求数字字面量。 maximumint | float | QueryBuilder 必填 包含边界的样本值上界,应不小于 minimum;between() 要求数字字面量。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
clamp_max()将大于上界的样本替换为上界。
QueryBuilder.clamp_max(maximum: ScalarInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 maximumint | float | QueryBuilder 必填 包含边界的样本值上界,应不小于 minimum;between() 要求数字字面量。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
clamp_min()将小于下界的样本替换为下界。
QueryBuilder.clamp_min(minimum: ScalarInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 minimumint | float | QueryBuilder 必填 包含边界的样本值下界,应不大于 maximum;between() 要求数字字面量。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
cos()计算各样本的余弦。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.cos() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
cosh()计算各样本的双曲余弦。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.cosh() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
day_of_month()将输入样本值解释为 Unix 秒,返回对应的 UTC 月内日期(1–31)。
QueryBuilder.day_of_month() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
day_of_week()将输入样本值解释为 Unix 秒,返回对应的 UTC 星期(0 为星期日,6 为星期六)。
QueryBuilder.day_of_week() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
day_of_year()将输入样本值解释为 Unix 秒,返回对应的 UTC 年内天数(1–366)。
QueryBuilder.day_of_year() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
days_in_month()将输入样本值解释为 Unix 秒,返回对应的 UTC 当月天数(28–31)。
QueryBuilder.days_in_month() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
deg()将样本值从弧度转换为角度。
QueryBuilder.deg() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
exp()计算 e 的各样本值次幂。
QueryBuilder.exp() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
floor()将各样本向下取整。
QueryBuilder.floor() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
histogram_avg()提取或估算直方图的算术平均值,支持的直方图编码由后端决定。
QueryBuilder.histogram_avg() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
histogram_count()提取或估算直方图的数量,支持的直方图编码由后端决定。 仅限 PromQL 仅限 PromQL
QueryBuilder.histogram_count() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
histogram_fraction()估算直方图中位于上下界之间的观测值比例。
QueryBuilder.histogram_fraction(lower: ScalarInput, upper: ScalarInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 lowerint | float | QueryBuilder 必填 直方图观测值下界,应小于 upper,也可为负无穷。 upperint | float | QueryBuilder 必填 直方图观测值上界,应大于 lower,也可为正无穷。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
histogram_quantile()从传统直方图桶或支持的原生直方图中估算一个分位数。
QueryBuilder.histogram_quantile(q: ScalarInput, *, bounds_label: Optional[StringInput]=None) -> QueryBuilder 传统 Prometheus 桶在聚合时需要保留 le 标签。原生直方图支持与插值由后端决定。
参数 参数 / 类型 含义与可接受的值 qint | float | QueryBuilder 必填 请求的分位数,通常在 [0, 1] 内。范围外的值遵循后端分位数语义,构建器不会一律拒绝。 bounds_labelstr | None 默认值: None 可选的上下估算边界输出标签。提供该参数会选择仅限 MetricsQL 的参数形式。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
示例 from metricraft import QueryBuilder as Q
Q.from_metric("request_duration_seconds_bucket").rate("5m").sum().by("le").histogram_quantile(0.95).build(mode="promql") histogram_stddev()提取或估算直方图的总体标准差,支持的直方图编码由后端决定。
QueryBuilder.histogram_stddev() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
histogram_stdvar()提取或估算直方图的总体方差,支持的直方图编码由后端决定。
QueryBuilder.histogram_stdvar() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
histogram_sum()提取或估算直方图的总和,支持的直方图编码由后端决定。 仅限 PromQL 仅限 PromQL
QueryBuilder.histogram_sum() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
hour()将输入样本值解释为 Unix 秒,返回对应的 UTC 小时(0–23)。
QueryBuilder.hour() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
info()从匹配的 info 序列为向量补充数据标签;可选选择器限制 info 标签。 仅限 PromQL 仅限 PromQL Prometheus 实验功能
QueryBuilder.info(data_labels: Optional[QueryBuilder]=None) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 data_labelsQueryBuilder | None 默认值: None Q.from_labels() 创建的可选无指标名选择器;info 的第二个参数不接受带指标名的选择器。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
ln()计算各样本的自然对数。
QueryBuilder.ln() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
log10()计算各样本以 10 为底的对数。
QueryBuilder.log10() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
log2()计算各样本以 2 为底的对数。
QueryBuilder.log2() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
max_of()返回两个标量表达式中较大的值。这是 Prometheus 实验函数。 仅限 PromQL 仅限 PromQL Prometheus 实验功能
QueryBuilder.max_of(other: QueryInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 otherint | float | QueryBuilder 必填 右操作数。集合运算与向量匹配需要向量表达式,算术和比较也接受数字。拒绝 Python bool。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
min_of()返回两个标量表达式中较小的值。这是 Prometheus 实验函数。 仅限 PromQL 仅限 PromQL Prometheus 实验功能
QueryBuilder.min_of(other: QueryInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 otherint | float | QueryBuilder 必填 右操作数。集合运算与向量匹配需要向量表达式,算术和比较也接受数字。拒绝 Python bool。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
minute()将输入样本值解释为 Unix 秒,返回对应的 UTC 分钟(0–59)。
QueryBuilder.minute() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
month()将输入样本值解释为 Unix 秒,返回对应的 UTC 月份(1–12)。
QueryBuilder.month() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
rad()将样本值从角度转换为弧度。
QueryBuilder.rad() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
round()将样本舍入到最接近的指定倍数,默认倍数为 1;恰好居中时向上舍入。
QueryBuilder.round(nearest: Optional[ScalarInput]=None, *, to_nearest: Optional[ScalarInput]=None) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 nearestint | float | QueryBuilder | None 默认值: None 舍入倍数,None 使用 1。应为非零正数,不要同时传入 to_nearest。 to_nearestint | float | QueryBuilder | None 默认值: None nearest 的别名,不能同时传入两者。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
scalar()将只有一个元素的即时向量转换为标量;其他长度的向量产生 NaN。
QueryBuilder.scalar() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sgn()将负值、零和正值分别映射为 -1、0 和 1。
QueryBuilder.sgn() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sin()计算各样本的正弦。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.sin() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sinh()计算各样本的双曲正弦。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.sinh() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
smooth_exponential()对 MetricsQL 范围查询返回的值序列进行指数平滑。 仅限 MetricsQL 仅限 MetricsQL
QueryBuilder.smooth_exponential(smoothing_factor: ScalarInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 smoothing_factorint | float | QueryBuilder 必填 [0, 1] 闭区间内的平滑因子。Rust 会拒绝范围外的字面量因子。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sort()按指定方向,根据值对即时查询结果排序。
QueryBuilder.sort(direction: Literal['asc', 'desc']='asc') -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 directionstr 默认值: 'asc' 只能是 'asc' 或 'desc'。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sort_by_label()按指定标签值的自然顺序,升序排列序列。 Prometheus 实验功能
QueryBuilder.sort_by_label(*labels: StringInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 *labelsstr, ... 可变参数 分别传入标签名。分组与匹配列表不能重复;允许空分组列表,具体函数的参数个数由 Rust 检查。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sort_by_label_desc()按指定标签值的自然顺序,降序排列序列。 Prometheus 实验功能
QueryBuilder.sort_by_label_desc(*labels: StringInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 *labelsstr, ... 可变参数 分别传入标签名。分组与匹配列表不能重复;允许空分组列表,具体函数的参数个数由 Rust 检查。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sort_by_label_numeric()按指定标签值的数值,升序排列序列。 仅限 MetricsQL 仅限 MetricsQL
QueryBuilder.sort_by_label_numeric(*labels: StringInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 *labelsstr, ... 可变参数 分别传入标签名。分组与匹配列表不能重复;允许空分组列表,具体函数的参数个数由 Rust 检查。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sort_by_label_numeric_desc()按指定标签值的数值,降序排列序列。 仅限 MetricsQL 仅限 MetricsQL
QueryBuilder.sort_by_label_numeric_desc(*labels: StringInput) -> QueryBuilder 参数 参数 / 类型 含义与可接受的值 *labelsstr, ... 可变参数 分别传入标签名。分组与匹配列表不能重复;允许空分组列表,具体函数的参数个数由 Rust 检查。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sort_desc()按值从大到小排列即时查询结果。
QueryBuilder.sort_desc() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
sqrt()计算各样本的平方根;负值在后端产生 NaN。
QueryBuilder.sqrt() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
tan()计算各样本的正切。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.tan() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
tanh()计算各样本的双曲正切。角度输入输出使用弧度,超出定义域时遵循后端浮点语义。
QueryBuilder.tanh() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
timestamp()将样本值替换为其原始时间戳,单位为 Unix 秒。
QueryBuilder.timestamp() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
year()将输入样本值解释为 Unix 秒,返回对应的 UTC 公历年份。
QueryBuilder.year() -> QueryBuilder 无参数。
返回值 QueryBuilder:共享未变化原生子树的新不可变表达式。接收表达式不变,不查询数据。
← 上一页 MetricsQL 窗口扩展下一页 → 标签操作