Module function

Module function 

Source
Expand description

Built-in PromQL function definitions.

This module defines the signatures of all built-in PromQL functions. It can be used for validation and documentation purposes.

§Function Categories

  • Math functions: abs, ceil, floor, exp, sqrt, ln, log2, log10
  • Trigonometric: acos, asin, atan, cos, sin, tan (and hyperbolic variants)
  • Rounding/clamping: round, clamp, clamp_min, clamp_max
  • Sorting: sort, sort_desc, sort_by_label
  • Rate functions: rate, irate, increase, delta, idelta, deriv
  • Aggregation over time: avg_over_time, sum_over_time, min_over_time, etc.
  • Time functions: time, timestamp, hour, minute, month, year
  • Label functions: label_replace, label_join
  • Histogram functions: histogram_quantile, histogram_avg, histogram_count

§Example

use rusty_promql_parser::parser::function::{get_function, is_function};

assert!(is_function("rate"));
assert!(!is_function("unknown_func"));

let func = get_function("rate").unwrap();
assert_eq!(func.name, "rate");
assert_eq!(func.min_args(), 1);

Structs§

Function
Function signature definition.

Enums§

ValueType
Value types for function arguments and return values.
Variadic
Variadic argument specification.

Statics§

FUNCTIONS
All built-in PromQL functions.

Functions§

get_function
Look up a function by name.
is_function
Check if a name is a known built-in function.