28#define METRICS_TABLE(ENTRY) \
29 ENTRY (METRICS_STAT_RS485_DRIVER_OVERFLOW_ERRORS, "RS485_DRIVER_OVERFLOW_ERRORS") \
30 ENTRY (METRICS_STAT_RS485_DRIVER_PARITY_ERRORS, "RS485_DRIVER_PARITY_ERRORS") \
31 ENTRY (METRICS_STAT_MODBUS_CRC_ERRORS, "MODBUS_CRC_ERRORS") \
32 ENTRY (METRICS_STAT_MODBUS_OVERFLOW_ERRORS, "MODBUS_OVERFLOW_ERRORS") \
33 ENTRY (METRICS_STAT_MODBUS_NO_MEM_ERRORS, "MODBUS_NO_MEM_ERRORS") \
34 ENTRY (METRICS_STAT_TELEMETRY_PUBLISH_ERRORS, "TELEMETRY_PUBLISH_ERRORS") \
35 ENTRY (METRICS_STAT_LOGGER_WRITE_ERRORS, "LOGGER_WRITE_ERRORS")
45#define AS_ENUM(id, str) id,
esp_err_t metrics_init(void)
Initialize metrics.
Definition metrics.c:50
metrics_stat_t
Metrics stats Enums.
Definition metrics.h:43
esp_err_t metrics_get_snapshot(uint32_t *buf_ptr, size_t buf_length, uint16_t *copied_length)
Get a snapshot of current system metrics.
Definition metrics.c:69
const char * metrics_stat_to_string(metrics_stat_t stat)
Gets metric state name.
Definition metrics.c:112
void metrics_reset_all(void)
Resets metrics counters to zero.
Definition metrics.c:102
#define AS_ENUM(id, str)
Definition metrics.h:45
#define METRICS_TABLE(ENTRY)
Metrics table.
Definition metrics.h:28
void metrics_log_all(void)
Logs metrics stats through ESP logging facilities.
Definition metrics.c:90