refactor(diagnostics): prune unused debug APIs and dedupe cancel counter

This commit is contained in:
admin
2026-03-02 02:54:11 +08:00
parent 3d3c3ebac2
commit d83111191d
8 changed files with 24 additions and 158 deletions

View File

@@ -63,21 +63,9 @@ typedef enum {
DOMAIN_DIAG_GAUGE_MAX,
} domain_diag_gauge_t;
typedef struct {
uint64_t counters[DOMAIN_DIAG_COUNTER_MAX];
int32_t gauges[DOMAIN_DIAG_GAUGE_MAX];
int64_t last_error_ms;
esp_err_t last_error_code;
char last_error_source[32];
char last_error_message[96];
} domain_diag_snapshot_t;
void domain_diag_counter_add(domain_diag_counter_t counter, uint32_t delta);
void domain_diag_set_gauge(domain_diag_gauge_t gauge, int32_t value);
void domain_diag_record_error(const char *source, esp_err_t code, const char *message);
void domain_diag_get_snapshot(domain_diag_snapshot_t *out_snapshot);
const char *domain_diag_counter_name(domain_diag_counter_t counter);
const char *domain_diag_gauge_name(domain_diag_gauge_t gauge);
// ---------- raster_tools ----------
esp_err_t raster_tools_render_text_384(const char *text,

View File

@@ -1,7 +1,5 @@
#include "domain.h"
#include <string.h>
#include "platform.h"
static runtime_diag_counter_t to_platform_counter(domain_diag_counter_t counter) {
@@ -119,43 +117,3 @@ void domain_diag_set_gauge(domain_diag_gauge_t gauge, int32_t value) {
void domain_diag_record_error(const char *source, esp_err_t code, const char *message) {
runtime_diag_record_error(source, code, message);
}
void domain_diag_get_snapshot(domain_diag_snapshot_t *out_snapshot) {
if (out_snapshot == NULL) {
return;
}
runtime_diag_snapshot_t platform_snapshot = {0};
runtime_diag_get_snapshot(&platform_snapshot);
for (int i = 0; i < DOMAIN_DIAG_COUNTER_MAX && i < RUNTIME_DIAG_COUNTER_MAX; ++i) {
out_snapshot->counters[i] = platform_snapshot.counters[i];
}
for (int i = 0; i < DOMAIN_DIAG_GAUGE_MAX && i < RUNTIME_DIAG_GAUGE_MAX; ++i) {
out_snapshot->gauges[i] = platform_snapshot.gauges[i];
}
out_snapshot->last_error_ms = platform_snapshot.last_error_ms;
out_snapshot->last_error_code = platform_snapshot.last_error_code;
strlcpy(out_snapshot->last_error_source,
platform_snapshot.last_error_source,
sizeof(out_snapshot->last_error_source));
strlcpy(out_snapshot->last_error_message,
platform_snapshot.last_error_message,
sizeof(out_snapshot->last_error_message));
}
const char *domain_diag_counter_name(domain_diag_counter_t counter) {
runtime_diag_counter_t mapped = to_platform_counter(counter);
if (mapped >= RUNTIME_DIAG_COUNTER_MAX) {
return "unknown";
}
return runtime_diag_counter_name(mapped);
}
const char *domain_diag_gauge_name(domain_diag_gauge_t gauge) {
runtime_diag_gauge_t mapped = to_platform_gauge(gauge);
if (mapped >= RUNTIME_DIAG_GAUGE_MAX) {
return "unknown";
}
return runtime_diag_gauge_name(mapped);
}

View File

@@ -272,6 +272,8 @@ esp_err_t printer_protocol_list_jobs(print_job_info_t *out_jobs, size_t max_jobs
}
esp_err_t printer_protocol_cancel_job(uint32_t job_id, char *err, size_t err_len) {
bool canceled_finalized = false;
if (job_id == 0) {
if (err != NULL && err_len > 0) {
snprintf(err, err_len, "invalid job id");
@@ -311,12 +313,15 @@ esp_err_t printer_protocol_cancel_job(uint32_t job_id, char *err, size_t err_len
strlcpy(s_jobs[idx].error, "job canceled", sizeof(s_jobs[idx].error));
free(s_jobs[idx].data);
s_jobs[idx].data = NULL;
canceled_finalized = true;
} else if (s_jobs[idx].state == PRINT_JOB_STATE_RUNNING) {
strlcpy(s_jobs[idx].error, "cancel requested", sizeof(s_jobs[idx].error));
}
xSemaphoreGive(s_mutex);
runtime_diag_counter_add(RUNTIME_DIAG_COUNTER_PRINTER_JOB_CANCELED, 1);
if (canceled_finalized) {
runtime_diag_counter_add(RUNTIME_DIAG_COUNTER_PRINTER_JOB_CANCELED, 1);
}
return ESP_OK;
}

View File

@@ -165,7 +165,6 @@ void printer_protocol_worker_task(void *arg) {
s_jobs[idx].finished_ms = esp_timer_get_time() / 1000;
}
xSemaphoreGive(s_mutex);
runtime_diag_counter_add(RUNTIME_DIAG_COUNTER_PRINTER_JOB_CANCELED, 1);
continue;
}