static void pickle1_each( const struct brubeck_metric *metric, const char *key, value_t value, void *backend) { struct brubeck_carbon *carbon = (struct brubeck_carbon *)backend; uint8_t key_len = (uint8_t)strlen(key); if (carbon->pickler.pos + PICKLE1_SIZE(key_len) >= PICKLE_BUFFER_SIZE) { pickle1_flush(carbon); } if (!is_connected(carbon)) return; if (!carbon->namespacing || metric->type == BRUBECK_MT_INTERNAL_STATS) { pickle1_push(&carbon->pickler, key, key_len, carbon->backend.tick_time, value); return; } char prefix_key[1024]; uint8_t prefix_key_len = 0; prefix_key_len = carbon_namespace(prefix_key, metric, key, key_len, carbon, true); pickle1_push(&carbon->pickler, prefix_key, prefix_key_len, carbon->backend.tick_time, value); if (IS_COUNTER(metric->type) && carbon->backend.sample_freq != 0) { prefix_key_len = carbon_namespace(prefix_key, metric, key, key_len, carbon, false); value_t normalized_val = value / carbon->backend.sample_freq; pickle1_push(&carbon->pickler, prefix_key, prefix_key_len, carbon->backend.tick_time, normalized_val); } }
static void pickle1_each( const char *key, value_t value, void *backend) { struct brubeck_carbon *carbon = (struct brubeck_carbon *)backend; uint8_t key_len = (uint8_t)strlen(key); if (carbon->pickler.pos + PICKLE1_SIZE(key_len) >= PICKLE_BUFFER_SIZE) { pickle1_flush(carbon); } if (!is_connected(carbon)) return; pickle1_push(&carbon->pickler, key, key_len, carbon->backend.tick_time, value); }