X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Futils_latency_config.h;h=7008fd000bfe5512f38c7ad7abe81400058c5b07;hp=aad8914cb7bfff94b944139670484525a42cf479;hb=7111bb6df7628edce3a8e538b386fbe27633a191;hpb=e7aa9832d25a98f78bb5af45a90ec404359537df diff --git a/src/utils_latency_config.h b/src/utils_latency_config.h index aad8914c..7008fd00 100644 --- a/src/utils_latency_config.h +++ b/src/utils_latency_config.h @@ -29,32 +29,35 @@ #define UTILS_LATENCY_CONFIG_H 1 #include "collectd.h" + +#include "liboconfig/oconfig.h" #include "utils_time.h" -struct latency_config_s -{ - double *percentile; - size_t percentile_num; - char *percentile_type; - cdtime_t *rates; - size_t rates_num; - char *rates_type; - _Bool lower; - _Bool upper; - //_Bool sum; - _Bool avg; - //_Bool count; -}; -typedef struct latency_config_s latency_config_t; - -int latency_config_add_percentile(const char *plugin, latency_config_t *cl, - oconfig_item_t *ci); - -int latency_config_add_rate(const char *plugin, latency_config_t *cl, - oconfig_item_t *ci); +typedef struct { + cdtime_t lower_bound; + cdtime_t upper_bound; +} latency_bucket_t; + +typedef struct { + double *percentile; + size_t percentile_num; + + latency_bucket_t *buckets; + size_t buckets_num; + char *bucket_type; + + /* + _Bool lower; + _Bool upper; + _Bool avg; + */ +} latency_config_t; + +int latency_config(latency_config_t *conf, oconfig_item_t *ci, + char const *plugin); int latency_config_copy(latency_config_t *dst, const latency_config_t src); -void latency_config_free(latency_config_t lc); +void latency_config_free(latency_config_t conf); #endif /* UTILS_LATENCY_CONFIG_H */