plugin_dispatch_values (&vl);
} /* }}} void cr_submit_gauge */
- static void cr_submit_counter (const char *type, /* {{{ */
+#if ROS_VERSION >= ROS_VERSION_ENCODE(1, 1, 0)
- sstrncpy (vl.host, hostname_g, sizeof (vl.host)); /* FIXME */
++static void cr_submit_counter (cr_data_t *rd, const char *type, /* {{{ */
+ const char *type_instance, counter_t value)
+{
+ value_t values[1];
+ value_list_t vl = VALUE_LIST_INIT;
+
+ values[0].counter = value;
+
+ vl.values = values;
+ vl.values_len = STATIC_ARRAY_SIZE (values);
- static void submit_regtable (const ros_registration_table_t *r) /* {{{ */
++ sstrncpy (vl.host, rd->node, sizeof (vl.host)); /* FIXME */
+ sstrncpy (vl.plugin, "routeros", sizeof (vl.plugin));
+ sstrncpy (vl.type, type, sizeof (vl.type));
+ sstrncpy (vl.type_instance, type_instance, sizeof (vl.type_instance));
+
+ plugin_dispatch_values (&vl);
+} /* }}} void cr_submit_gauge */
+#endif
+
+ static void submit_regtable (cr_data_t *rd, /* {{{ */
+ const ros_registration_table_t *r)
{
char type_instance[DATA_MAX_NAME_LEN];
return (0);
} /* }}} int handle_regtable */
- cr_submit_gauge ("gauge", "cpu_load", (gauge_t) r->cpu_load);
+#if ROS_VERSION >= ROS_VERSION_ENCODE(1, 1, 0) /* FIXME */
+static int handle_system_resource (__attribute__((unused)) ros_connection_t *c, /* {{{ */
+ const ros_system_resource_t *r,
+ __attribute__((unused)) void *user_data)
+{
+ cr_data_t *rd;
+
+ if ((r == NULL) || (user_data == NULL))
+ return (EINVAL);
+ rd = user_data;
+
+ if (rd->collect_cpu_load)
- cr_submit_gauge ("memory", "used",
++ cr_submit_gauge (rd, "gauge", "cpu_load", (gauge_t) r->cpu_load);
+
+ if (rd->collect_memory)
+ {
- cr_submit_gauge ("memory", "free", (gauge_t) r->free_memory);
++ cr_submit_gauge (rd, "memory", "used",
+ (gauge_t) (r->total_memory - r->free_memory));
- cr_submit_gauge ("df_complex", "used",
++ cr_submit_gauge (rd, "memory", "free", (gauge_t) r->free_memory);
+ }
+
+ if (rd->collect_df)
+ {
- cr_submit_gauge ("df_complex", "free", (gauge_t) r->free_memory);
++ cr_submit_gauge (rd, "df_complex", "used",
+ (gauge_t) (r->total_memory - r->free_memory));
- cr_submit_counter ("counter", "secors_written", (counter_t) r->write_sect_total);
- cr_submit_gauge ("gauge", "bad_blocks", (gauge_t) r->bad_blocks);
++ cr_submit_gauge (rd, "df_complex", "free", (gauge_t) r->free_memory);
+ }
+
+ if (rd->collect_disk)
+ {
++ cr_submit_counter (rd, "counter", "secors_written", (counter_t) r->write_sect_total);
++ cr_submit_gauge (rd, "gauge", "bad_blocks", (gauge_t) r->bad_blocks);
+ }
+
+ return (0);
+} /* }}} int handle_system_resource */
+#endif
+
static int cr_read (user_data_t *user_data) /* {{{ */
{
int status;