62 lines
2.0 KiB
C
62 lines
2.0 KiB
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "esp_err.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum {
|
|
RUNTIME_DIAG_COUNTER_LIFECYCLE_START_ATTEMPT = 0,
|
|
RUNTIME_DIAG_COUNTER_LIFECYCLE_START_SUCCESS,
|
|
RUNTIME_DIAG_COUNTER_LIFECYCLE_START_FAILED,
|
|
RUNTIME_DIAG_COUNTER_LIFECYCLE_START_RETRY,
|
|
RUNTIME_DIAG_COUNTER_LIFECYCLE_STOP_ATTEMPT,
|
|
RUNTIME_DIAG_COUNTER_LIFECYCLE_STOP_SUCCESS,
|
|
RUNTIME_DIAG_COUNTER_LIFECYCLE_STOP_FAILED,
|
|
RUNTIME_DIAG_COUNTER_WIFI_CONNECT_SUCCESS,
|
|
RUNTIME_DIAG_COUNTER_WIFI_CONNECT_FAILED,
|
|
RUNTIME_DIAG_COUNTER_WIFI_CONNECT_TIMEOUT,
|
|
RUNTIME_DIAG_COUNTER_PRINTER_JOB_SUBMITTED,
|
|
RUNTIME_DIAG_COUNTER_PRINTER_JOB_SUCCESS,
|
|
RUNTIME_DIAG_COUNTER_PRINTER_JOB_FAILED,
|
|
RUNTIME_DIAG_COUNTER_PRINTER_JOB_CANCELED,
|
|
RUNTIME_DIAG_COUNTER_IMAGE_GENERATE_ATTEMPT,
|
|
RUNTIME_DIAG_COUNTER_IMAGE_GENERATE_SUCCESS,
|
|
RUNTIME_DIAG_COUNTER_IMAGE_GENERATE_FAILED,
|
|
RUNTIME_DIAG_COUNTER_IMAGE_GENERATE_TIMEOUT,
|
|
RUNTIME_DIAG_COUNTER_REST_RESPONSES_TOTAL,
|
|
RUNTIME_DIAG_COUNTER_REST_ERRORS_TOTAL,
|
|
RUNTIME_DIAG_COUNTER_MAX,
|
|
} runtime_diag_counter_t;
|
|
|
|
typedef enum {
|
|
RUNTIME_DIAG_GAUGE_LIFECYCLE_STATE = 0,
|
|
RUNTIME_DIAG_GAUGE_STATUS_POLL_PAUSE_DEPTH,
|
|
RUNTIME_DIAG_GAUGE_PRINTER_QUEUE_DEPTH,
|
|
RUNTIME_DIAG_GAUGE_MAX,
|
|
} runtime_diag_gauge_t;
|
|
|
|
typedef struct {
|
|
uint64_t counters[RUNTIME_DIAG_COUNTER_MAX];
|
|
int32_t gauges[RUNTIME_DIAG_GAUGE_MAX];
|
|
int64_t last_error_ms;
|
|
esp_err_t last_error_code;
|
|
char last_error_source[32];
|
|
char last_error_message[96];
|
|
} runtime_diag_snapshot_t;
|
|
|
|
void runtime_diag_counter_add(runtime_diag_counter_t counter, uint32_t delta);
|
|
void runtime_diag_set_gauge(runtime_diag_gauge_t gauge, int32_t value);
|
|
void runtime_diag_record_error(const char *source, esp_err_t code, const char *message);
|
|
void runtime_diag_get_snapshot(runtime_diag_snapshot_t *out_snapshot);
|
|
|
|
const char *runtime_diag_counter_name(runtime_diag_counter_t counter);
|
|
const char *runtime_diag_gauge_name(runtime_diag_gauge_t gauge);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|