}
static bool ot_need_flush(ot_callback_t *cb, metric_family_t const *fam) {
- int status = c_avl_get(cb->staged_metric_families, fam->name, NULL);
+ int status = c_avl_get(cb->staged_metric_families, fam, NULL);
if (status != 0) {
return false;
}
static metric_family_t *ot_staged_metric_family(ot_callback_t *cb,
metric_family_t const *fam) {
metric_family_t *ret = NULL;
- int status = c_avl_get(cb->staged_metric_families, fam->name, (void **)&ret);
+ int status = c_avl_get(cb->staged_metric_families, fam, (void **)&ret);
if (status == 0) {
DEBUG("write_open_telemetry plugin: Found staged metric family \"%s\"",
ret->name);
}
ret = metric_family_clone_shallow(fam);
- c_avl_insert(cb->staged_metric_families, ret->name, ret);
+ c_avl_insert(cb->staged_metric_families, ret, ret);
DEBUG("write_open_telemetry plugin: Successfully staged metric family \"%s\"",
ret->name);
return ret;
cb->staged_metrics =
c_avl_create((int (*)(const void *, const void *))strcmp);
cb->staged_metric_families =
- c_avl_create((int (*)(const void *, const void *))strcmp);
+ c_avl_create((int (*)(const void *, const void *))metric_family_compare);
pthread_mutex_init(&cb->mu, /* attr = */ NULL);