]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add messure max memory useage for debug
authorBastian Dehn <hhaalo@arcor.de>
Mon, 30 Dec 2024 19:09:20 +0000 (20:09 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Mon, 30 Dec 2024 19:09:20 +0000 (20:09 +0100)
src/kds_s2000w_debug.c
src/kds_s2000w_debug.h
src/kds_s2000w_net.c

index f7bdfc4a0b0a531c941e8977aff34139e83232e7..2f1f7644c0a769afdd938bb5741bb5d30a514b92 100644 (file)
@@ -1,5 +1,6 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/resource.h>
 #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
index f5076127810c20c1212400c112d6a6b57e0a2698..a1dcb1d274cf34ff99becbf5d02cc4fec177e5b2 100644 (file)
@@ -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
index 84d1a8abeba664146eb295c31fc8532eec03a195..00ad2fb6bdd83548dc2c5fcf04f1f0f88507bfbe 100644 (file)
@@ -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;
 }