summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2251e93)
raw | patch | inline | side by side (parent: 2251e93)
author | Florian Forster <octo@collectd.org> | |
Tue, 22 Jan 2013 18:25:38 +0000 (19:25 +0100) | ||
committer | Florian Forster <octo@collectd.org> | |
Tue, 22 Jan 2013 18:25:38 +0000 (19:25 +0100) |
This uses the default "plugin-instance/type-instance" format, optionally
adding the ds name if the type has more than one data source.
adding the ds name if the type has more than one data source.
src/write_riemann.c | patch | blob | history |
diff --git a/src/write_riemann.c b/src/write_riemann.c
index e3f013eb9ac43a0b581112558f76cedf18be1818..e7b3eb4acfbc0b70cc21655c3be48af735d4120a 100644 (file)
--- a/src/write_riemann.c
+++ b/src/write_riemann.c
@@ -235,11 +235,10 @@ static Msg *riemann_notification_to_protobuf (struct riemann_host *host, /* {{{
for (i = 0; i < riemann_tags_num; i++)
riemann_event_add_tag (event, "%s", riemann_tags[i]);
- /* TODO: Use FORMAT_VL() here. */
- ssnprintf (service_buffer, sizeof(service_buffer),
- "%s-%s-%s-%s", n->plugin, n->plugin_instance,
+ format_name (service_buffer, sizeof (service_buffer),
+ /* host = */ "", n->plugin, n->plugin_instance,
n->type, n->type_instance);
- event->service = strdup (service_buffer);
+ event->service = strdup (&service_buffer[1]);
/* Pull in values from threshold */
for (meta = n->meta; meta != NULL; meta = meta->next)
@@ -264,6 +263,7 @@ static Event *riemann_value_to_protobuf (struct riemann_host const *host, /* {{{
gauge_t const *rates)
{
Event *event;
+ char name_buffer[5 * DATA_MAX_NAME_LEN];
char service_buffer[6 * DATA_MAX_NAME_LEN];
int i;
@@ -329,10 +329,16 @@ static Event *riemann_value_to_protobuf (struct riemann_host const *host, /* {{{
event->metric_sint64 = (int64_t) vl->values[index].counter;
}
- /* TODO: Use FORMAT_VL() here. */
- ssnprintf (service_buffer, sizeof(service_buffer),
- "%s-%s-%s-%s-%s", vl->plugin, vl->plugin_instance,
- vl->type, vl->type_instance, ds->ds[index].name);
+ format_name (name_buffer, sizeof (name_buffer),
+ /* host = */ "", vl->plugin, vl->plugin_instance,
+ vl->type, vl->type_instance);
+ if (ds->ds_num > 1)
+ ssnprintf (service_buffer, sizeof (service_buffer),
+ "%s/%s", &name_buffer[1], ds->ds[index].name);
+ else
+ sstrncpy (service_buffer, &name_buffer[1],
+ sizeof (service_buffer));
+
event->service = strdup (service_buffer);
DEBUG ("write_riemann plugin: Successfully created protobuf for metric: "