MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / call_range_func

Function call_range_func

nodedb/src/control/promql/functions.rs:255–277  ·  view source on GitHub ↗

Dispatch a range-vector function by name.

(name: &str, samples: &[Sample], scalar_arg: Option<f64>)

Source from the content-addressed store, hash-verified

253
254/// Dispatch a range-vector function by name.
255pub fn call_range_func(name: &str, samples: &[Sample], scalar_arg: Option<f64>) -> Option<f64> {
256 match name {
257 "rate" => rate(samples),
258 "irate" => irate(samples),
259 "increase" => increase(samples),
260 "delta" => delta(samples),
261 "idelta" => idelta(samples),
262 "deriv" => deriv(samples),
263 "predict_linear" => predict_linear(samples, scalar_arg.unwrap_or(0.0)),
264 "avg_over_time" => avg_over_time(samples),
265 "sum_over_time" => sum_over_time(samples),
266 "min_over_time" => min_over_time(samples),
267 "max_over_time" => max_over_time(samples),
268 "count_over_time" => count_over_time(samples),
269 "quantile_over_time" => quantile_over_time(scalar_arg.unwrap_or(0.5), samples),
270 "changes" => changes(samples),
271 "resets" => resets(samples),
272 "absent_over_time" => absent_over_time(samples),
273 "stddev_over_time" => stddev_over_time(samples),
274 "stdvar_over_time" => stdvar_over_time(samples),
275 _ => None,
276 }
277}
278
279/// Dispatch `holt_winters` separately (needs two scalar args).
280pub fn call_holt_winters(samples: &[Sample], sf: Option<f64>, tf: Option<f64>) -> Option<f64> {

Callers 1

eval_callFunction · 0.85

Calls 15

rateFunction · 0.85
irateFunction · 0.85
increaseFunction · 0.85
deltaFunction · 0.85
ideltaFunction · 0.85
derivFunction · 0.85
predict_linearFunction · 0.85
avg_over_timeFunction · 0.85
sum_over_timeFunction · 0.85
min_over_timeFunction · 0.85
max_over_timeFunction · 0.85
count_over_timeFunction · 0.85

Tested by

no test coverage detected