#include <stdio.h>
#include <stdlib.h>
+#include <sys/resource.h>
#include "kds_s2000w_debug.h"
int _get_log_level() {
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
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
kds_s2000w_handler_get_current_metadata(h, (metadata*) params);
+ debug_messure_memory_usage(DEBUG);
return SANE_STATUS_GOOD;
}
return SANE_STATUS_GOOD;
}
+ debug_messure_memory_usage(DEBUG);
return SANE_STATUS_GOOD;
}