25#ifndef DETERMINISTICESPASYNCWEBSERVER_TELEMETRY_H
26#define DETERMINISTICESPASYNCWEBSERVER_TELEMETRY_H
31#if DETWS_ENABLE_TELEMETRY
54void detws_window_init(DetwsWindow *w,
float *buf, uint16_t cap);
57void detws_window_push(DetwsWindow *w,
float sample);
60uint16_t detws_window_count(
const DetwsWindow *w);
63float detws_window_mean(
const DetwsWindow *w);
66float detws_window_variance(
const DetwsWindow *w);
69float detws_window_stddev(
const DetwsWindow *w);
72float detws_window_min(
const DetwsWindow *w);
75float detws_window_max(
const DetwsWindow *w);
90void detws_rate_init(DetwsRate *r);
100float detws_rate_update(DetwsRate *r,
float value, uint32_t now_ms);
116void detws_totalizer_init(DetwsTotalizer *t);
125double detws_totalizer_add(DetwsTotalizer *t,
float rate, uint32_t now_ms);
128double detws_totalizer_total(
const DetwsTotalizer *t);
131void detws_totalizer_reset(DetwsTotalizer *t);
User-facing configuration for DeterministicESPAsyncWebServer.