Added stats for mutexes

This commit is contained in:
goldsimon 2010-02-13 17:26:40 +00:00
parent a61f5f3a78
commit cbb86fe590
2 changed files with 21 additions and 17 deletions

View File

@ -120,12 +120,15 @@ void
stats_display_sys(struct stats_sys *sys) stats_display_sys(struct stats_sys *sys)
{ {
LWIP_PLATFORM_DIAG(("\nSYS\n\t")); LWIP_PLATFORM_DIAG(("\nSYS\n\t"));
LWIP_PLATFORM_DIAG(("sem.used: %"U32_F"\n\t", (u32_t)sys->sem.used)); LWIP_PLATFORM_DIAG(("sem.used: %"U32_F"\n\t", (u32_t)sys->sem.used));
LWIP_PLATFORM_DIAG(("sem.max: %"U32_F"\n\t", (u32_t)sys->sem.max)); LWIP_PLATFORM_DIAG(("sem.max: %"U32_F"\n\t", (u32_t)sys->sem.max));
LWIP_PLATFORM_DIAG(("sem.err: %"U32_F"\n\t", (u32_t)sys->sem.err)); LWIP_PLATFORM_DIAG(("sem.err: %"U32_F"\n\t", (u32_t)sys->sem.err));
LWIP_PLATFORM_DIAG(("mbox.used: %"U32_F"\n\t", (u32_t)sys->mbox.used)); LWIP_PLATFORM_DIAG(("mutex.used: %"U32_F"\n\t", (u32_t)sys->mutex.used));
LWIP_PLATFORM_DIAG(("mbox.max: %"U32_F"\n\t", (u32_t)sys->mbox.max)); LWIP_PLATFORM_DIAG(("mutex.max: %"U32_F"\n\t", (u32_t)sys->mutex.max));
LWIP_PLATFORM_DIAG(("mbox.err: %"U32_F"\n\t", (u32_t)sys->mbox.err)); LWIP_PLATFORM_DIAG(("mutex.err: %"U32_F"\n\t", (u32_t)sys->mutex.err));
LWIP_PLATFORM_DIAG(("mbox.used: %"U32_F"\n\t", (u32_t)sys->mbox.used));
LWIP_PLATFORM_DIAG(("mbox.max: %"U32_F"\n\t", (u32_t)sys->mbox.max));
LWIP_PLATFORM_DIAG(("mbox.err: %"U32_F"\n\t", (u32_t)sys->mbox.err));
} }
#endif /* SYS_STATS */ #endif /* SYS_STATS */

View File

@ -103,6 +103,7 @@ struct stats_syselem {
struct stats_sys { struct stats_sys {
struct stats_syselem sem; struct stats_syselem sem;
struct stats_syselem mutex;
struct stats_syselem mbox; struct stats_syselem mbox;
}; };
@ -144,14 +145,20 @@ struct stats_ {
extern struct stats_ lwip_stats; extern struct stats_ lwip_stats;
#define stats_init() /* Compatibility define, not init needed. */ #define stats_init() /* Compatibility define, no init needed. */
#define STATS_INC(x) ++lwip_stats.x #define STATS_INC(x) ++lwip_stats.x
#define STATS_DEC(x) --lwip_stats.x #define STATS_DEC(x) --lwip_stats.x
#define STATS_INC_USED(x, y) do { lwip_stats.x.used += y; \
if (lwip_stats.x.max < lwip_stats.x.used) { \
lwip_stats.x.max = lwip_stats.x.used; \
} \
} while(0)
#else #else
#define stats_init() #define stats_init()
#define STATS_INC(x) #define STATS_INC(x)
#define STATS_DEC(x) #define STATS_DEC(x)
#define STATS_INC_USED(x)
#endif /* LWIP_STATS */ #endif /* LWIP_STATS */
#if TCP_STATS #if TCP_STATS
@ -221,11 +228,7 @@ extern struct stats_ lwip_stats;
#if MEM_STATS #if MEM_STATS
#define MEM_STATS_AVAIL(x, y) lwip_stats.mem.x = y #define MEM_STATS_AVAIL(x, y) lwip_stats.mem.x = y
#define MEM_STATS_INC(x) STATS_INC(mem.x) #define MEM_STATS_INC(x) STATS_INC(mem.x)
#define MEM_STATS_INC_USED(x, y) do { lwip_stats.mem.used += y; \ #define MEM_STATS_INC_USED(x, y) STATS_INC_USED(mem, y)
if (lwip_stats.mem.max < lwip_stats.mem.used) { \
lwip_stats.mem.max = lwip_stats.mem.used; \
} \
} while(0)
#define MEM_STATS_DEC_USED(x, y) lwip_stats.mem.x -= y #define MEM_STATS_DEC_USED(x, y) lwip_stats.mem.x -= y
#define MEM_STATS_DISPLAY() stats_display_mem(&lwip_stats.mem, "HEAP") #define MEM_STATS_DISPLAY() stats_display_mem(&lwip_stats.mem, "HEAP")
#else #else
@ -240,11 +243,7 @@ extern struct stats_ lwip_stats;
#define MEMP_STATS_AVAIL(x, i, y) lwip_stats.memp[i].x = y #define MEMP_STATS_AVAIL(x, i, y) lwip_stats.memp[i].x = y
#define MEMP_STATS_INC(x, i) STATS_INC(memp[i].x) #define MEMP_STATS_INC(x, i) STATS_INC(memp[i].x)
#define MEMP_STATS_DEC(x, i) STATS_DEC(memp[i].x) #define MEMP_STATS_DEC(x, i) STATS_DEC(memp[i].x)
#define MEMP_STATS_INC_USED(x, i) do { ++lwip_stats.memp[i].used; \ #define MEMP_STATS_INC_USED(x, i) STATS_INC_USED(memp[i], 1)
if (lwip_stats.memp[i].max < lwip_stats.memp[i].used) { \
lwip_stats.memp[i].max = lwip_stats.memp[i].used; \
} \
} while(0)
#define MEMP_STATS_DISPLAY(i) stats_display_memp(&lwip_stats.memp[i], i) #define MEMP_STATS_DISPLAY(i) stats_display_memp(&lwip_stats.memp[i], i)
#else #else
#define MEMP_STATS_AVAIL(x, i, y) #define MEMP_STATS_AVAIL(x, i, y)
@ -257,10 +256,12 @@ extern struct stats_ lwip_stats;
#if SYS_STATS #if SYS_STATS
#define SYS_STATS_INC(x) STATS_INC(sys.x) #define SYS_STATS_INC(x) STATS_INC(sys.x)
#define SYS_STATS_DEC(x) STATS_DEC(sys.x) #define SYS_STATS_DEC(x) STATS_DEC(sys.x)
#define SYS_STATS_INC_USED(x) STATS_INC_USED(sys.x, 1)
#define SYS_STATS_DISPLAY() stats_display_sys(&lwip_stats.sys) #define SYS_STATS_DISPLAY() stats_display_sys(&lwip_stats.sys)
#else #else
#define SYS_STATS_INC(x) #define SYS_STATS_INC(x)
#define SYS_STATS_DEC(x) #define SYS_STATS_DEC(x)
#define SYS_STATS_INC_USED(x)
#define SYS_STATS_DISPLAY() #define SYS_STATS_DISPLAY()
#endif #endif