X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fredis.c;h=7864ead07c01c1edf079cecfb9c79474470cb277;hb=5b1d67d04e490d48dd72dbb9f84d1a74bfb9dcc1;hp=2ce1f96a312f87c79277f205c51d61a1ef8111a1;hpb=1b828842ab46e00e5505dd010aa8859587774420;p=collectd.git diff --git a/src/redis.c b/src/redis.c index 2ce1f96a..7864ead0 100644 --- a/src/redis.c +++ b/src/redis.c @@ -133,25 +133,31 @@ static redis_query_t *redis_config_query (oconfig_item_t *ci) /* {{{ */ ERROR("redis plugin: calloca failed adding redis_query."); return NULL; } - status = cf_util_get_string_buffer(ci, rq->type, sizeof(rq->type)); + status = cf_util_get_string_buffer(ci, rq->query, sizeof(rq->query)); if (status != 0) goto err; + /* + * Default to a gauge type. + */ + (void)strncpy(rq->type, "gauge", sizeof(rq->type)); + (void)strncpy(rq->instance, rq->query, sizeof(rq->instance)); + replace_special(rq->instance, sizeof(rq->instance)); + for (i = 0; i < ci->children_num; i++) { oconfig_item_t *option = ci->children + i; - if (strcasecmp("Exec", option->key) == 0) { - status = cf_util_get_string_buffer(option, rq->query, sizeof(rq->query)); + if (strcasecmp("Type", option->key) == 0) { + status = cf_util_get_string_buffer(option, rq->type, sizeof(rq->type)); } else if (strcasecmp("Instance", option->key) == 0) { status = cf_util_get_string_buffer(option, rq->instance, sizeof(rq->instance)); + } else { + WARNING("redis plugin: unknown configuration option: %s", option->key); + status = -1; } if (status != 0) goto err; } - if (strlen(rq->query) == 0) { - WARNING("redis plugin: invalid query definition for: %s", rq->type); - goto err; - } return rq; err: free(rq);