ipmi_sensor_get_event_support(sensor));
/* Both `ignorelist' and `sensor_name_ptr' may be NULL. */
- if (ignorelist_match(st->ignorelist, sensor_name_ptr) != 0)
- return 0;
+ if (ignorelist_match(st->ignorelist, sensor_name_ptr) != 0) {
+ INFO("ipmi plugin: sensor_list_add: Ignore sensor `%s` of `%s`, "
+ "because it is on ignore list.",
+ sensor_name_ptr, st->name);
+ return -1;
+ }
/* FIXME: Use rate unit or base unit to scale the value */
break;
INFO("ipmi plugin: sensor_list_add: Ignore sensor `%s` of `%s`, "
- "because I don't know how to handle its type (%#x, %s). "
- "If you need this sensor, please file a bug report.",
- sensor_name_ptr, st->name, sensor_type,
+ "because I don't know how to handle its units (%#x, %#x, %#x). "
+ "Sensor type: (%#x, %s). If you need this sensor, please file "
+ "a bug report at http://collectd.org/.",
+ sensor_name_ptr, st->name, ipmi_sensor_get_base_unit(sensor),
+ ipmi_sensor_get_modifier_unit(sensor),
+ ipmi_sensor_get_rate_unit(sensor), sensor_type,
ipmi_sensor_get_sensor_type_string(sensor));
return -1;
}
ipmi_entity_t __attribute__((unused)) * entity,
ipmi_sensor_t *sensor, void *user_data) {
c_ipmi_instance_t *st = user_data;
+ char sensor_name[DATA_MAX_NAME_LEN] = {0};
+
+ sensor_get_name(sensor, sensor_name, sizeof(sensor_name));
+ if (ignorelist_match(st->ignorelist, sensor_name) != 0)
+ return; /* Ignore - sensor on ignore list */
if ((op == IPMI_ADDED) || (op == IPMI_CHANGED)) {
/* Will check for duplicate entries.. */
if (st->sel_enabled) {
int status = 0;
- /* register threshold event if threshold sensor support events */
- if ((ipmi_sensor_get_event_reading_type(sensor) ==
- IPMI_EVENT_READING_TYPE_THRESHOLD) &&
- (ipmi_sensor_get_threshold_access(sensor) !=
- IPMI_THRESHOLD_ACCESS_SUPPORT_NONE))
+ /* register threshold event handler */
+ if (ipmi_sensor_get_event_reading_type(sensor) ==
+ IPMI_EVENT_READING_TYPE_THRESHOLD)
status = ipmi_sensor_add_threshold_event_handler(
sensor, sensor_threshold_event_handler, st);
/* register discrete handler if discrete/specific sensor support events */
sensor, sensor_discrete_event_handler, st);
if (status) {
- char buf[DATA_MAX_NAME_LEN] = {0};
- sensor_get_name(sensor, buf, sizeof(buf));
- ERROR("Unable to add sensor %s event handler, status: %d", buf, status);
+ ERROR("Unable to add sensor %s event handler, status: %d", sensor_name,
+ status);
}
}
} else if (op == IPMI_DELETED) {
oconfig_item_t *child = ci->children + i;
if (strcasecmp("Sensor", child->key) == 0)
- ignorelist_add(st->ignorelist, ci->values[0].value.string);
+ ignorelist_add(st->ignorelist, child->values[0].value.string);
else if (strcasecmp("IgnoreSelected", child->key) == 0) {
_Bool t;
status = cf_util_get_boolean(child, &t);
}
/* Don't send `ADD' notifications during startup (~ 1 minute) */
- int cycles = 1 + (60 / CDTIME_T_TO_TIME_T(plugin_get_interval()));
+ int cycles = 1 + (int)(TIME_T_TO_CDTIME_T(60) / plugin_get_interval());
st = instances;
while (NULL != st) {