mirror of
https://github.com/cesanta/mongoose.git
synced 2026-11-09 16:21:45 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b55ba5a660 |
No files matched your search
+18
-19
@@ -3913,29 +3913,28 @@ size_t mg_usage(int task, int metric) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static size_t print_stacks(mg_pfn_t fn, void *arg, va_list *ap) {
|
static size_t print_mem_stat(mg_pfn_t fn, void *arg, const char *name,
|
||||||
int i;
|
size_t free, size_t total) {
|
||||||
int count = (int) mg_usage(-1, MG_USAGE_NUM_TASKS);
|
return mg_xprintf(fn, arg, "{%m:%m,%m:%zu,%m:%zu}", MG_ESC("name"),
|
||||||
size_t len = mg_xprintf(fn, arg, "[");
|
MG_ESC(name == NULL ? "" : name), MG_ESC("free"), free,
|
||||||
for (i = 0; i < count; i++) {
|
MG_ESC("total"), total);
|
||||||
const char *name = (const char *) mg_usage(i, MG_USAGE_TASK_NAME);
|
|
||||||
len += mg_xprintf(fn, arg, "%s{%m:%m,%m:%zu,%m:%zu}",
|
|
||||||
i == 0 ? "" : ",", MG_ESC("name"),
|
|
||||||
MG_ESC(name == NULL ? "" : name), MG_ESC("free"),
|
|
||||||
(size_t) mg_usage(i, MG_USAGE_STACK_FREE), MG_ESC("total"),
|
|
||||||
(size_t) mg_usage(i, MG_USAGE_STACK_TOTAL));
|
|
||||||
}
|
|
||||||
(void) ap;
|
|
||||||
return len + mg_xprintf(fn, arg, "]");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t mg_print_mem_stats(mg_pfn_t fn, void *arg, va_list *ap) {
|
size_t mg_print_mem_stats(mg_pfn_t fn, void *arg, va_list *ap) {
|
||||||
size_t heap_total = (size_t) mg_usage(0, MG_USAGE_HEAP_TOTAL);
|
int i, count;
|
||||||
size_t heap_free = (size_t) mg_usage(0, MG_USAGE_HEAP_FREE);
|
size_t heap_total = mg_usage(0, MG_USAGE_HEAP_TOTAL);
|
||||||
|
size_t heap_free = mg_usage(0, MG_USAGE_HEAP_FREE);
|
||||||
|
size_t len = mg_xprintf(fn, arg, "[");
|
||||||
|
len += print_mem_stat(fn, arg, "heap", heap_free, heap_total);
|
||||||
|
count = (int) mg_usage(-1, MG_USAGE_NUM_TASKS);
|
||||||
|
for (i = 0; i < count; i++) {
|
||||||
|
const char *name = (const char *) mg_usage(i, MG_USAGE_TASK_NAME);
|
||||||
|
len += mg_xprintf(fn, arg, ",");
|
||||||
|
len += print_mem_stat(fn, arg, name, mg_usage(i, MG_USAGE_STACK_FREE),
|
||||||
|
mg_usage(i, MG_USAGE_STACK_TOTAL));
|
||||||
|
}
|
||||||
(void) ap;
|
(void) ap;
|
||||||
return mg_xprintf(fn, arg, "{%m:%zu,%m:%zu,%m:%M}",
|
return len + mg_xprintf(fn, arg, "]");
|
||||||
MG_ESC("heap_total"), heap_total, MG_ESC("heap_free"),
|
|
||||||
heap_free, MG_ESC("stacks"), print_stacks);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if MG_ARCH == MG_ARCH_ESP32
|
#if MG_ARCH == MG_ARCH_ESP32
|
||||||
|
|||||||
+3
-3
@@ -4516,8 +4516,8 @@ size_t mg_usage(int task, int metric);
|
|||||||
|
|
||||||
#define MG_HEALTH_INIT() mg_health_init()
|
#define MG_HEALTH_INIT() mg_health_init()
|
||||||
extern size_t mg_print_crash_record(mg_pfn_t, void *, va_list *);
|
extern size_t mg_print_crash_record(mg_pfn_t, void *, va_list *);
|
||||||
// JSON memory statistics via mg_usage(), suitable for %M: heap_total, heap_free,
|
// JSON memory statistics via mg_usage(), suitable for %M: an array of
|
||||||
// and a stacks array of {name, free, total}
|
// {name, free, total} entries, starting with "heap", then task stacks
|
||||||
// A zero total means unknown
|
// A zero total means unknown
|
||||||
extern size_t mg_print_mem_stats(mg_pfn_t, void *, va_list *);
|
extern size_t mg_print_mem_stats(mg_pfn_t, void *, va_list *);
|
||||||
extern void mg_health_init(void);
|
extern void mg_health_init(void);
|
||||||
@@ -4540,7 +4540,7 @@ static inline size_t mg_print_crash_record(mg_pfn_t fn, void *arg,
|
|||||||
}
|
}
|
||||||
static inline size_t mg_print_mem_stats(mg_pfn_t fn, void *arg, va_list *ap) {
|
static inline size_t mg_print_mem_stats(mg_pfn_t fn, void *arg, va_list *ap) {
|
||||||
(void) ap;
|
(void) ap;
|
||||||
return mg_xprintf(fn, arg, "{}");
|
return mg_xprintf(fn, arg, "[]");
|
||||||
}
|
}
|
||||||
static inline bool mg_health_coredump_begin(size_t *size) {
|
static inline bool mg_health_coredump_begin(size_t *size) {
|
||||||
(void) size;
|
(void) size;
|
||||||
|
|||||||
+18
-19
@@ -58,29 +58,28 @@ size_t mg_usage(int task, int metric) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static size_t print_stacks(mg_pfn_t fn, void *arg, va_list *ap) {
|
static size_t print_mem_stat(mg_pfn_t fn, void *arg, const char *name,
|
||||||
int i;
|
size_t free, size_t total) {
|
||||||
int count = (int) mg_usage(-1, MG_USAGE_NUM_TASKS);
|
return mg_xprintf(fn, arg, "{%m:%m,%m:%zu,%m:%zu}", MG_ESC("name"),
|
||||||
size_t len = mg_xprintf(fn, arg, "[");
|
MG_ESC(name == NULL ? "" : name), MG_ESC("free"), free,
|
||||||
for (i = 0; i < count; i++) {
|
MG_ESC("total"), total);
|
||||||
const char *name = (const char *) mg_usage(i, MG_USAGE_TASK_NAME);
|
|
||||||
len += mg_xprintf(fn, arg, "%s{%m:%m,%m:%zu,%m:%zu}",
|
|
||||||
i == 0 ? "" : ",", MG_ESC("name"),
|
|
||||||
MG_ESC(name == NULL ? "" : name), MG_ESC("free"),
|
|
||||||
(size_t) mg_usage(i, MG_USAGE_STACK_FREE), MG_ESC("total"),
|
|
||||||
(size_t) mg_usage(i, MG_USAGE_STACK_TOTAL));
|
|
||||||
}
|
|
||||||
(void) ap;
|
|
||||||
return len + mg_xprintf(fn, arg, "]");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t mg_print_mem_stats(mg_pfn_t fn, void *arg, va_list *ap) {
|
size_t mg_print_mem_stats(mg_pfn_t fn, void *arg, va_list *ap) {
|
||||||
size_t heap_total = (size_t) mg_usage(0, MG_USAGE_HEAP_TOTAL);
|
int i, count;
|
||||||
size_t heap_free = (size_t) mg_usage(0, MG_USAGE_HEAP_FREE);
|
size_t heap_total = mg_usage(0, MG_USAGE_HEAP_TOTAL);
|
||||||
|
size_t heap_free = mg_usage(0, MG_USAGE_HEAP_FREE);
|
||||||
|
size_t len = mg_xprintf(fn, arg, "[");
|
||||||
|
len += print_mem_stat(fn, arg, "heap", heap_free, heap_total);
|
||||||
|
count = (int) mg_usage(-1, MG_USAGE_NUM_TASKS);
|
||||||
|
for (i = 0; i < count; i++) {
|
||||||
|
const char *name = (const char *) mg_usage(i, MG_USAGE_TASK_NAME);
|
||||||
|
len += mg_xprintf(fn, arg, ",");
|
||||||
|
len += print_mem_stat(fn, arg, name, mg_usage(i, MG_USAGE_STACK_FREE),
|
||||||
|
mg_usage(i, MG_USAGE_STACK_TOTAL));
|
||||||
|
}
|
||||||
(void) ap;
|
(void) ap;
|
||||||
return mg_xprintf(fn, arg, "{%m:%zu,%m:%zu,%m:%M}",
|
return len + mg_xprintf(fn, arg, "]");
|
||||||
MG_ESC("heap_total"), heap_total, MG_ESC("heap_free"),
|
|
||||||
heap_free, MG_ESC("stacks"), print_stacks);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if MG_ARCH == MG_ARCH_ESP32
|
#if MG_ARCH == MG_ARCH_ESP32
|
||||||
|
|||||||
+3
-3
@@ -139,8 +139,8 @@ size_t mg_usage(int task, int metric);
|
|||||||
|
|
||||||
#define MG_HEALTH_INIT() mg_health_init()
|
#define MG_HEALTH_INIT() mg_health_init()
|
||||||
extern size_t mg_print_crash_record(mg_pfn_t, void *, va_list *);
|
extern size_t mg_print_crash_record(mg_pfn_t, void *, va_list *);
|
||||||
// JSON memory statistics via mg_usage(), suitable for %M: heap_total, heap_free,
|
// JSON memory statistics via mg_usage(), suitable for %M: an array of
|
||||||
// and a stacks array of {name, free, total}
|
// {name, free, total} entries, starting with "heap", then task stacks
|
||||||
// A zero total means unknown
|
// A zero total means unknown
|
||||||
extern size_t mg_print_mem_stats(mg_pfn_t, void *, va_list *);
|
extern size_t mg_print_mem_stats(mg_pfn_t, void *, va_list *);
|
||||||
extern void mg_health_init(void);
|
extern void mg_health_init(void);
|
||||||
@@ -163,7 +163,7 @@ static inline size_t mg_print_crash_record(mg_pfn_t fn, void *arg,
|
|||||||
}
|
}
|
||||||
static inline size_t mg_print_mem_stats(mg_pfn_t fn, void *arg, va_list *ap) {
|
static inline size_t mg_print_mem_stats(mg_pfn_t fn, void *arg, va_list *ap) {
|
||||||
(void) ap;
|
(void) ap;
|
||||||
return mg_xprintf(fn, arg, "{}");
|
return mg_xprintf(fn, arg, "[]");
|
||||||
}
|
}
|
||||||
static inline bool mg_health_coredump_begin(size_t *size) {
|
static inline bool mg_health_coredump_begin(size_t *size) {
|
||||||
(void) size;
|
(void) size;
|
||||||
|
|||||||
Reference in new issue
Block a user