From 42e52e8e1288f57b3ba75de5f5c671b9465ff27e Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Mon, 30 Dec 2024 20:09:20 +0100 Subject: [PATCH] add messure max memory useage for debug --- src/kds_s2000w_debug.c | 16 ++++++++++++++++ src/kds_s2000w_debug.h | 1 + src/kds_s2000w_net.c | 2 ++ 3 files changed, 19 insertions(+) diff --git a/src/kds_s2000w_debug.c b/src/kds_s2000w_debug.c index f7bdfc4..2f1f764 100644 --- a/src/kds_s2000w_debug.c +++ b/src/kds_s2000w_debug.c @@ -1,5 +1,6 @@ #include #include +#include #include "kds_s2000w_debug.h" int _get_log_level() { @@ -42,4 +43,19 @@ void debug_printf_hex(int level, const char* message, char value) return; printf("%s: %hhx\n", message, value); +} + +void debug_messure_memory_usage(int level) +{ + if (level > _get_log_level()) + return; + + struct rusage* memory_usage = malloc(sizeof(struct rusage)); + + getrusage(RUSAGE_SELF, memory_usage); + long maxrss_mb = memory_usage->ru_maxrss / 1024; + printf("maximum resideqnt set size: %ld MB\n", maxrss_mb); + + free(memory_usage); + memory_usage = NULL; } \ No newline at end of file diff --git a/src/kds_s2000w_debug.h b/src/kds_s2000w_debug.h index f507612..a1dcb1d 100644 --- a/src/kds_s2000w_debug.h +++ b/src/kds_s2000w_debug.h @@ -13,4 +13,5 @@ void debug_printf(int level, const char* message); void debug_printf_int(int level, const char* message, int value); void debug_printf_long(int level, const char* message, long value); void debug_printf_hex(int level, const char* message, char value); +void debug_messure_memory_usage(int level); #endif \ No newline at end of file diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 84d1a8a..00ad2fb 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -137,6 +137,7 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle, kds_s2000w_handler_get_current_metadata(h, (metadata*) params); + debug_messure_memory_usage(DEBUG); return SANE_STATUS_GOOD; } @@ -175,6 +176,7 @@ SANE_Status _sane_kds_s2000w_net_start(SANE_Handle handle) return SANE_STATUS_GOOD; } + debug_messure_memory_usage(DEBUG); return SANE_STATUS_GOOD; } -- 2.39.5