/
githubmirror
/
dbus-broker
Обзор
Документация
Войти
/
githubmirror
/
dbus-broker
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v21
src/util/metrics.h
40 строк
900 B
David Rheinsberg
dbus-broker: switch to c-stdaux
09 апр 2019, 17:01
09 апр 2019, 17:01
6a35f0e
Код
Авторство
О чём код?
#pragma once /* * Metrics Helper */ #include <c-stdaux.h> #include <stdlib.h> #include <time.h> typedef struct Metrics Metrics; struct Metrics { uint64_t count; uint64_t sum; uint64_t minimum; uint64_t maximum; uint64_t average; /* internal state */ clockid_t id; uint64_t timestamp; uint64_t sum_of_squares; }; #define METRICS_INIT(_id) { \ .minimum = (uint64_t) -1, \ .id = (_id), \ } void metrics_init(Metrics *metrics, clockid_t id); void metrics_deinit(Metrics *metrics); uint64_t metrics_get_time(Metrics *metrics); void metrics_sample_add(Metrics *metrics, uint64_t timestamp); void metrics_sample_start(Metrics *metrics); void metrics_sample_end(Metrics *metrics); double metrics_read_standard_deviation(Metrics *metrics);