index 914b6e278c746c1dd04e44a603894377f3991c0c..35102b6dec76b78e5062156dda586c3d773daae6 100644 (file)
--- a/src/daemon/utils_match.c
+++ b/src/daemon/utils_match.c
return (-1);
if ((data->values_num == 0)
- || (data->ds_type & UTILS_MATCH_CF_GAUGE_LAST))
+ || (data->ds_type & UTILS_MATCH_CF_GAUGE_LAST)
+ || (data->ds_type & UTILS_MATCH_CF_GAUGE_PERSIST))
{
data->value.gauge = value;
}
if (mv == NULL)
return;
- if (mv->ds_type & UTILS_MATCH_DS_TYPE_GAUGE)
+ /* Reset GAUGE metrics only and except GAUGE_PERSIST. */
+ if ((mv->ds_type & UTILS_MATCH_DS_TYPE_GAUGE)
+ && !(mv->ds_type & UTILS_MATCH_CF_GAUGE_PERSIST))
{
mv->value.gauge = NAN;
mv->values_num = 0;