From eb6f1de7c6f7b626cb2ec333697b63034115914b Mon Sep 17 00:00:00 2001 From: Costa Tsaousis Date: Mon, 10 Jul 2023 14:11:04 +0300 Subject: multi-threaded version of freeipmi.plugin (#15327) * multi-threaded version of freeipmi.plugin * fix type check * debug info * debug info * updated should be smaller, not bigger * ignore sensors without name * variable data collection frequencies for sensors and sel; also respect the min data collection frequency * reorg and code cleanup * collect states even for unknown units and empty names * render all sensors * reset unknown state sensors * ignore sensors without name * added component fan * Update ipmi.conf * added label type * remove global state counters and chart * updated copyright notice * remove unused struct members * remove unused variable * added a log line everytime the plugin decides to exit to show what was wrong * reworked freeipmi for optimal performance * disabled debugging and fixed bug * added debug * added debug * added debug * removed debugging info * cleanup and final touches * let fan metrics be categorized by the component they are cooling * added plugin and module to charts * more component matches * code cleanup, sel should now be a lot faster * make sel min collection time 30 secs * more component matches; refreshed functions copied from freeipmi codebase * add keepalive to avoid parser read timeout during ipmi_detect_speed_secs * ipmi.fan_speed => ipmi.sensor_fan_speed * update metrics csv and readme * ok newline --------- Co-authored-by: Ilya Mashchenko --- libnetdata/libnetdata.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'libnetdata') diff --git a/libnetdata/libnetdata.h b/libnetdata/libnetdata.h index 4449ec4bca..8b8c7206e4 100644 --- a/libnetdata/libnetdata.h +++ b/libnetdata/libnetdata.h @@ -930,6 +930,32 @@ typedef enum { TIMING_STEP_END2_PROPAGATE, TIMING_STEP_END2_STORE, + TIMING_STEP_FREEIPMI_CTX_CREATE, + TIMING_STEP_FREEIPMI_DSR_CACHE_DIR, + TIMING_STEP_FREEIPMI_SENSOR_CONFIG_FILE, + TIMING_STEP_FREEIPMI_SENSOR_READINGS_BY_X, + TIMING_STEP_FREEIPMI_READ_record_id, + TIMING_STEP_FREEIPMI_READ_sensor_number, + TIMING_STEP_FREEIPMI_READ_sensor_type, + TIMING_STEP_FREEIPMI_READ_sensor_name, + TIMING_STEP_FREEIPMI_READ_sensor_state, + TIMING_STEP_FREEIPMI_READ_sensor_units, + TIMING_STEP_FREEIPMI_READ_sensor_bitmask_type, + TIMING_STEP_FREEIPMI_READ_sensor_bitmask, + TIMING_STEP_FREEIPMI_READ_sensor_bitmask_strings, + TIMING_STEP_FREEIPMI_READ_sensor_reading_type, + TIMING_STEP_FREEIPMI_READ_sensor_reading, + TIMING_STEP_FREEIPMI_READ_event_reading_type_code, + TIMING_STEP_FREEIPMI_READ_record_type, + TIMING_STEP_FREEIPMI_READ_record_type_class, + TIMING_STEP_FREEIPMI_READ_sel_state, + TIMING_STEP_FREEIPMI_READ_event_direction, + TIMING_STEP_FREEIPMI_READ_event_type_code, + TIMING_STEP_FREEIPMI_READ_event_offset_type, + TIMING_STEP_FREEIPMI_READ_event_offset, + TIMING_STEP_FREEIPMI_READ_event_offset_string, + TIMING_STEP_FREEIPMI_READ_manufacturer_id, + // terminator TIMING_STEP_MAX, } TIMING_STEP; -- cgit v1.2.3