X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fdaemon%2Futils_cache.c;h=0756807334b7b4eba7bf05bb3757c3917de63878;hb=6286127470b83578c2889db546cfa32cb0fe0147;hp=129cbb074afdde7333d1c05011e75fa4412d6925;hpb=3b227016c5e2126d5064c19d29ab79f13a187b39;p=collectd.git diff --git a/src/daemon/utils_cache.c b/src/daemon/utils_cache.c index 129cbb07..07568073 100644 --- a/src/daemon/utils_cache.c +++ b/src/daemon/utils_cache.c @@ -193,11 +193,13 @@ static int uc_insert (const data_set_t *ds, const value_list_t *vl, / CDTIME_T_TO_DOUBLE (vl->interval); ce->values_raw[i].absolute = vl->values[i].absolute; break; - + default: /* This shouldn't happen. */ ERROR ("uc_insert: Don't know how to handle data source type %i.", ds->ds[i].type); + sfree (key_copy); + cache_free (ce); return (-1); } /* switch (ds->ds[i].type) */ } /* for (i) */ @@ -411,23 +413,7 @@ int uc_update (const data_set_t *ds, const value_list_t *vl) { case DS_TYPE_COUNTER: { - counter_t diff; - - /* check if the counter has wrapped around */ - if (vl->values[i].counter < ce->values_raw[i].counter) - { - if (ce->values_raw[i].counter <= 4294967295U) - diff = (4294967295U - ce->values_raw[i].counter) - + vl->values[i].counter; - else - diff = (18446744073709551615ULL - ce->values_raw[i].counter) - + vl->values[i].counter; - } - else /* counter has NOT wrapped around */ - { - diff = vl->values[i].counter - ce->values_raw[i].counter; - } - + counter_t diff = counter_diff (ce->values_raw[i].counter, vl->values[i].counter); ce->values_gauge[i] = ((double) diff) / (CDTIME_T_TO_DOUBLE (vl->time - ce->last_time)); ce->values_raw[i].counter = vl->values[i].counter; @@ -441,9 +427,7 @@ int uc_update (const data_set_t *ds, const value_list_t *vl) case DS_TYPE_DERIVE: { - derive_t diff; - - diff = vl->values[i].derive - ce->values_raw[i].derive; + derive_t diff = vl->values[i].derive - ce->values_raw[i].derive; ce->values_gauge[i] = ((double) diff) / (CDTIME_T_TO_DOUBLE (vl->time - ce->last_time)); @@ -575,7 +559,7 @@ gauge_t *uc_get_rate (const data_set_t *ds, const value_list_t *vl) return (ret); } /* gauge_t *uc_get_rate */ -size_t uc_get_size() { +size_t uc_get_size (void) { size_t size_arrays = 0; pthread_mutex_lock (&cache_lock); @@ -752,7 +736,6 @@ int uc_get_history_by_name (const char *name, if (ce->history_length < num_steps) { gauge_t *tmp; - size_t i; tmp = realloc (ce->history, sizeof (*ce->history) * num_steps * ce->values_num);