From 0be1bad42f2eff1a211b062508be5939c7a57461 Mon Sep 17 00:00:00 2001 From: likewise Date: Fri, 23 Apr 2004 15:41:22 +0000 Subject: [PATCH] Merged stats_display_*() fucntions from HEAD. --- src/core/stats.c | 63 ++++++++++++++++++++++++++++++++++++++++ src/include/lwip/stats.h | 7 +++++ 2 files changed, 70 insertions(+) diff --git a/src/core/stats.c b/src/core/stats.c index 85a55b9e..02ff1a6d 100644 --- a/src/core/stats.c +++ b/src/core/stats.c @@ -47,5 +47,68 @@ stats_init(void) { memset(&lwip_stats, 0, sizeof(struct stats_)); } +#if LWIP_STATS_DISPLAY +void +stats_display_proto(struct stats_proto *proto, char *name) +{ + LWIP_PLATFORM_DIAG(("\n%s\n\t", name)); + LWIP_PLATFORM_DIAG(("xmit: %d\n\t", proto->xmit)); + LWIP_PLATFORM_DIAG(("rexmit: %d\n\t", proto->rexmit)); + LWIP_PLATFORM_DIAG(("recv: %d\n\t", proto->recv)); + LWIP_PLATFORM_DIAG(("fw: %d\n\t", proto->fw)); + LWIP_PLATFORM_DIAG(("drop: %d\n\t", proto->drop)); + LWIP_PLATFORM_DIAG(("chkerr: %d\n\t", proto->chkerr)); + LWIP_PLATFORM_DIAG(("lenerr: %d\n\t", proto->lenerr)); + LWIP_PLATFORM_DIAG(("memerr: %d\n\t", proto->memerr)); + LWIP_PLATFORM_DIAG(("rterr: %d\n\t", proto->rterr)); + LWIP_PLATFORM_DIAG(("proterr: %d\n\t", proto->proterr)); + LWIP_PLATFORM_DIAG(("opterr: %d\n\t", proto->opterr)); + LWIP_PLATFORM_DIAG(("err: %d\n\t", proto->err)); + LWIP_PLATFORM_DIAG(("cachehit: %d\n", proto->cachehit)); +} + +void +stats_display_pbuf(struct stats_pbuf *pbuf) +{ + LWIP_PLATFORM_DIAG(("\nPBUF\n\t")); + LWIP_PLATFORM_DIAG(("avail: %d\n\t", pbuf->avail)); + LWIP_PLATFORM_DIAG(("used: %d\n\t", pbuf->used)); + LWIP_PLATFORM_DIAG(("max: %d\n\t", pbuf->max)); + LWIP_PLATFORM_DIAG(("err: %d\n\t", pbuf->err)); + LWIP_PLATFORM_DIAG(("alloc_locked: %d\n\t", pbuf->alloc_locked)); + LWIP_PLATFORM_DIAG(("refresh_locked: %d\n", pbuf->refresh_locked)); +} + +void +stats_display_mem(struct stats_mem *mem, char *name) +{ + LWIP_PLATFORM_DIAG(("\n MEM %s\n\t", name)); + LWIP_PLATFORM_DIAG(("avail: %d\n\t", mem->avail)); + LWIP_PLATFORM_DIAG(("used: %d\n\t", mem->used)); + LWIP_PLATFORM_DIAG(("max: %d\n\t", mem->max)); + LWIP_PLATFORM_DIAG(("err: %d\n", mem->err)); + +} + +void +stats_display(void) +{ + int i; + char * memp_names[] = {"PBUF", "RAW_PCB", "UDP_PCB", "TCP_PCB", "TCP_PCB_LISTEN", + "TCP_SEG", "NETBUF", "NETCONN", "API_MSG", "TCP_MSG", "TIMEOUT"}; + stats_display_proto(&lwip_stats.link, "LINK"); + stats_display_proto(&lwip_stats.ip_frag, "IP_FRAG"); + stats_display_proto(&lwip_stats.ip, "IP"); + stats_display_proto(&lwip_stats.icmp, "ICMP"); + stats_display_proto(&lwip_stats.udp, "UDP"); + stats_display_proto(&lwip_stats.tcp, "TCP"); + stats_display_pbuf(&lwip_stats.pbuf); + stats_display_mem(&lwip_stats.mem, "HEAP"); + for (i = 0; i < MEMP_MAX; i++) { + stats_display_mem(&lwip_stats.memp[i], memp_names[i]); + } + +} +#endif /* LWIP_STATS_DISPLAY */ #endif /* LWIP_STATS */ diff --git a/src/include/lwip/stats.h b/src/include/lwip/stats.h index 105def97..71acfd06 100644 --- a/src/include/lwip/stats.h +++ b/src/include/lwip/stats.h @@ -144,6 +144,13 @@ void stats_init(void); #define LINK_STATS_INC(x) #endif +/* Display of statistics */ +#if LWIP_STATS_DISPLAY +void stats_display(void); +#else +#define stats_display() +#endif + #endif /* __LWIP_STATS_H__ */