Warning, cross-references for /kernel/lwip/core/stats.c need to be fixed.
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 #include "lwip/opt.h"
0040
0041 #if LWIP_STATS
0042
0043 #include "lwip/def.h"
0044 #include "lwip/stats.h"
0045 #include "lwip/mem.h"
0046
0047 #include <string.h>
0048
0049 struct stats_ lwip_stats;
0050
0051 #if LWIP_STATS_DISPLAY
0052 void
0053 stats_display_proto(struct stats_proto *proto, char *name)
0054 {
0055 LWIP_PLATFORM_DIAG(("\n%s\n\t", name));
0056 LWIP_PLATFORM_DIAG(("xmit: %"STAT_COUNTER_F"\n\t", proto->xmit));
0057 LWIP_PLATFORM_DIAG(("recv: %"STAT_COUNTER_F"\n\t", proto->recv));
0058 LWIP_PLATFORM_DIAG(("fw: %"STAT_COUNTER_F"\n\t", proto->fw));
0059 LWIP_PLATFORM_DIAG(("drop: %"STAT_COUNTER_F"\n\t", proto->drop));
0060 LWIP_PLATFORM_DIAG(("chkerr: %"STAT_COUNTER_F"\n\t", proto->chkerr));
0061 LWIP_PLATFORM_DIAG(("lenerr: %"STAT_COUNTER_F"\n\t", proto->lenerr));
0062 LWIP_PLATFORM_DIAG(("memerr: %"STAT_COUNTER_F"\n\t", proto->memerr));
0063 LWIP_PLATFORM_DIAG(("rterr: %"STAT_COUNTER_F"\n\t", proto->rterr));
0064 LWIP_PLATFORM_DIAG(("proterr: %"STAT_COUNTER_F"\n\t", proto->proterr));
0065 LWIP_PLATFORM_DIAG(("opterr: %"STAT_COUNTER_F"\n\t", proto->opterr));
0066 LWIP_PLATFORM_DIAG(("err: %"STAT_COUNTER_F"\n\t", proto->err));
0067 LWIP_PLATFORM_DIAG(("cachehit: %"STAT_COUNTER_F"\n", proto->cachehit));
0068 }
0069
0070 #if IGMP_STATS
0071 void
0072 stats_display_igmp(struct stats_igmp *igmp)
0073 {
0074 LWIP_PLATFORM_DIAG(("\nIGMP\n\t"));
0075 LWIP_PLATFORM_DIAG(("lenerr: %"STAT_COUNTER_F"\n\t", igmp->lenerr));
0076 LWIP_PLATFORM_DIAG(("chkerr: %"STAT_COUNTER_F"\n\t", igmp->chkerr));
0077 LWIP_PLATFORM_DIAG(("v1_rxed: %"STAT_COUNTER_F"\n\t", igmp->v1_rxed));
0078 LWIP_PLATFORM_DIAG(("join_sent: %"STAT_COUNTER_F"\n\t", igmp->join_sent));
0079 LWIP_PLATFORM_DIAG(("leave_sent: %"STAT_COUNTER_F"\n\t", igmp->leave_sent));
0080 LWIP_PLATFORM_DIAG(("unicast_query: %"STAT_COUNTER_F"\n\t", igmp->unicast_query));
0081 LWIP_PLATFORM_DIAG(("report_sent: %"STAT_COUNTER_F"\n\t", igmp->report_sent));
0082 LWIP_PLATFORM_DIAG(("report_rxed: %"STAT_COUNTER_F"\n\t", igmp->report_rxed));
0083 LWIP_PLATFORM_DIAG(("group_query_rxed: %"STAT_COUNTER_F"\n", igmp->group_query_rxed));
0084 }
0085 #endif
0086
0087 #if MEM_STATS || MEMP_STATS
0088 void
0089 stats_display_mem(struct stats_mem *mem, char *name)
0090 {
0091 LWIP_PLATFORM_DIAG(("\nMEM %s\n\t", name));
0092 LWIP_PLATFORM_DIAG(("avail: %"U32_F"\n\t", (u32_t)mem->avail));
0093 LWIP_PLATFORM_DIAG(("used: %"U32_F"\n\t", (u32_t)mem->used));
0094 LWIP_PLATFORM_DIAG(("max: %"U32_F"\n\t", (u32_t)mem->max));
0095 LWIP_PLATFORM_DIAG(("err: %"U32_F"\n", (u32_t)mem->err));
0096 }
0097
0098 #if MEMP_STATS
0099 void
0100 stats_display_memp(struct stats_mem *mem, int index)
0101 {
0102 char * memp_names[] = {
0103 #define LWIP_MEMPOOL(name,num,size,desc) desc,
0104 #include "lwip/memp_std.h"
0105 };
0106 if(index < MEMP_MAX) {
0107 stats_display_mem(mem, memp_names[index]);
0108 }
0109 }
0110 #endif
0111 #endif
0112
0113 #if SYS_STATS
0114 void
0115 stats_display_sys(struct stats_sys *sys)
0116 {
0117 LWIP_PLATFORM_DIAG(("\nSYS\n\t"));
0118 LWIP_PLATFORM_DIAG(("sem.used: %"U32_F"\n\t", (u32_t)sys->sem.used));
0119 LWIP_PLATFORM_DIAG(("sem.max: %"U32_F"\n\t", (u32_t)sys->sem.max));
0120 LWIP_PLATFORM_DIAG(("sem.err: %"U32_F"\n\t", (u32_t)sys->sem.err));
0121 LWIP_PLATFORM_DIAG(("mbox.used: %"U32_F"\n\t", (u32_t)sys->mbox.used));
0122 LWIP_PLATFORM_DIAG(("mbox.max: %"U32_F"\n\t", (u32_t)sys->mbox.max));
0123 LWIP_PLATFORM_DIAG(("mbox.err: %"U32_F"\n\t", (u32_t)sys->mbox.err));
0124 }
0125 #endif
0126
0127 void
0128 stats_display(void)
0129 {
0130 s16_t i;
0131
0132 LINK_STATS_DISPLAY();
0133 ETHARP_STATS_DISPLAY();
0134 IPFRAG_STATS_DISPLAY();
0135 IP_STATS_DISPLAY();
0136 IGMP_STATS_DISPLAY();
0137 ICMP_STATS_DISPLAY();
0138 UDP_STATS_DISPLAY();
0139 TCP_STATS_DISPLAY();
0140 MEM_STATS_DISPLAY();
0141 for (i = 0; i < MEMP_MAX; i++) {
0142 MEMP_STATS_DISPLAY(i);
0143 }
0144 SYS_STATS_DISPLAY();
0145 }
0146 #endif
0147
0148 #endif
0149