From: Florian Forster Date: Wed, 4 Aug 2010 21:08:50 +0000 (+0200) Subject: amqp plugin: Implement the "StoreRates" option. X-Git-Tag: collectd-5.0.0-beta0~28^2~23 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=8a9e3f8c8d93c70d6c75e7bfe654ae24a744b88b;p=collectd.git amqp plugin: Implement the "StoreRates" option. --- diff --git a/src/amqp.c b/src/amqp.c index 488fbac7..859cb270 100644 --- a/src/amqp.c +++ b/src/amqp.c @@ -53,6 +53,7 @@ static char *password = NULL; static char *exchange = NULL; static char *routingkey = NULL; static uint8_t delivery_mode = AMQP_DM_VOLATILE; +static _Bool store_rates = 0; static amqp_connection_state_t amqp_conn = NULL; static pthread_mutex_t amqp_conn_lock = PTHREAD_MUTEX_INITIALIZER; @@ -66,7 +67,8 @@ static const char *config_keys[] = "Password", "Exchange", "RoutingKey", - "Persistent" + "Persistent", + "StoreRates" }; static int config_keys_num = STATIC_ARRAY_SIZE(config_keys); @@ -116,6 +118,14 @@ static int config(const char *key, const char *value) delivery_mode = AMQP_DM_VOLATILE; return (0); } + else if (strcasecmp ("StoreRates", key) == 0) + { + if (IS_TRUE (value)) + store_rates = 1; + else + store_rates = 0; + return (0); + } return (-1); } @@ -237,10 +247,9 @@ static int amqp_write (const data_set_t *ds, const value_list_t *vl, bfree = sizeof (buffer); bfill = 0; - format_json_initialize(buffer, &bfill, &bfree); - /* TODO: Possibly add a config option "StoreRates" and pass the value along here. */ - format_json_value_list(buffer, &bfill, &bfree, ds, vl, /* rates = */ 0); - format_json_finalize(buffer, &bfill, &bfree); + format_json_initialize (buffer, &bfill, &bfree); + format_json_value_list (buffer, &bfill, &bfree, ds, vl, store_rates); + format_json_finalize (buffer, &bfill, &bfree); pthread_mutex_lock (&amqp_conn_lock); status = amqp_write_locked (buffer);