struct riemann_host {
char *name;
- char *prefix;
+ char *event_service_prefix;
#define F_CONNECT 0x01
uint8_t flags;
pthread_mutex_t lock;
/* host = */ "", vl->plugin, vl->plugin_instance,
vl->type, vl->type_instance);
if (host->always_append_ds || (ds->ds_num > 1))
- ssnprintf (service_buffer, sizeof (service_buffer),
- "%s/%s/%s", host->prefix, &name_buffer[1], ds->ds[index].name);
+ if (host->event_service_prefix == NULL || host->event_service_prefix[0] == '\0')
+ ssnprintf (service_buffer, sizeof (service_buffer),
+ "%s/%s", &name_buffer[1], ds->ds[index].name);
+ else
+ ssnprintf (service_buffer, sizeof (service_buffer),
+ "%s%s/%s", host->event_service_prefix, &name_buffer[1], ds->ds[index].name);
else
- ssnprintf (service_buffer, sizeof (service_buffer),
- "%s/%s", host->prefix, &name_buffer[1]);
+ if (host->event_service_prefix == NULL || host->event_service_prefix[0] == '\0')
+ sstrncpy (service_buffer, &name_buffer[1],
+ sizeof (service_buffer));
+ else
+ ssnprintf (service_buffer, sizeof (service_buffer),
+ "%s%s", host->event_service_prefix, &name_buffer[1]);
event->service = strdup (service_buffer);
status = cf_util_get_boolean(child, &host->notifications);
if (status != 0)
break;
- } else if (strcasecmp ("Prefix", child->key) == 0) {
- status = cf_util_get_string (child, &host->prefix);
+ } else if (strcasecmp ("EventServicePrefix", child->key) == 0) {
+ status = cf_util_get_string (child, &host->event_service_prefix);
+ if (status != 0)
break;
} else if (strcasecmp ("CheckThresholds", child->key) == 0) {
status = cf_util_get_boolean(child, &host->check_thresholds);