Modbus Vault v1.0
Loading...
Searching...
No Matches
metrics.h
Go to the documentation of this file.
1
12#ifndef METRICS_H
13#define METRICS_H
14
15#include "esp_err.h"
16#include "stdint.h"
17
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")
36
43typedef enum {
45#define AS_ENUM(id, str) id,
47#undef AS_ENUM
48 METRICS_STAT_MAX
50
61esp_err_t metrics_init (void);
62
82esp_err_t metrics_get_snapshot (uint32_t *buf_ptr, size_t buf_length, uint16_t *copied_length);
83
87void metrics_log_all (void);
88
92void metrics_reset_all (void);
93
101const char *metrics_stat_to_string (metrics_stat_t stat);
102
103#endif
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