mblock stat function test ok
parent
c17d55ec7d
commit
d2db706f7a
|
|
@ -97,12 +97,15 @@ static void delete_from_mblock_list(struct fast_mblock_man *mblock)
|
||||||
INIT_HEAD(mblock);
|
INIT_HEAD(mblock);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define STAT_DUP(pStat, current) \
|
#define STAT_DUP(pStat, current, copy_name) \
|
||||||
do { \
|
do { \
|
||||||
strcpy(pStat->name, current->info.name); \
|
if (copy_name) { \
|
||||||
pStat->element_size = current->info.element_size; \
|
strcpy(pStat->name, current->info.name); \
|
||||||
|
pStat->element_size = current->info.element_size; \
|
||||||
|
} \
|
||||||
pStat->total_count += current->info.total_count; \
|
pStat->total_count += current->info.total_count; \
|
||||||
pStat->used_count += current->info.used_count; \
|
pStat->used_count += current->info.used_count; \
|
||||||
|
pStat->instance_count += current->info.instance_count; \
|
||||||
/* logInfo("name: %s, element_size: %d, total_count: %d, used_count: %d", */ \
|
/* logInfo("name: %s, element_size: %d, total_count: %d, used_count: %d", */ \
|
||||||
/* pStat->name, pStat->element_size, pStat->total_count, pStat->used_count); */\
|
/* pStat->name, pStat->element_size, pStat->total_count, pStat->used_count); */\
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
@ -142,9 +145,13 @@ int fast_mblock_manager_stat(struct fast_mblock_info *stats,
|
||||||
result = EOVERFLOW;
|
result = EOVERFLOW;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
STAT_DUP(pStat, current->prev);
|
STAT_DUP(pStat, current->prev, true);
|
||||||
pStat++;
|
pStat++;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
STAT_DUP(pStat, current->prev, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
current = current->next;
|
current = current->next;
|
||||||
}
|
}
|
||||||
|
|
@ -157,7 +164,7 @@ int fast_mblock_manager_stat(struct fast_mblock_info *stats,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
STAT_DUP(pStat, current->prev);
|
STAT_DUP(pStat, current->prev, true);
|
||||||
pStat++;
|
pStat++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -195,12 +202,13 @@ int fast_mblock_manager_stat_print()
|
||||||
if (result == 0)
|
if (result == 0)
|
||||||
{
|
{
|
||||||
logInfo("mblock stat count: %d", count);
|
logInfo("mblock stat count: %d", count);
|
||||||
logInfo("%32s %12s %12s %12s %12s", "name", "element_size",
|
logInfo("%32s %12s %16s %12s %12s %12s", "name", "element_size",
|
||||||
"alloc_count", "used_count", "used_ratio");
|
"instance_count", "alloc_count", "used_count", "used_ratio");
|
||||||
stat_end = stats + count;
|
stat_end = stats + count;
|
||||||
for (pStat=stats; pStat<stat_end; pStat++)
|
for (pStat=stats; pStat<stat_end; pStat++)
|
||||||
{
|
{
|
||||||
logInfo("%32s %12d %12d %12d %12.4f", pStat->name, pStat->element_size,
|
logInfo("%32s %12d %16d %12d %12d %12.4f", pStat->name,
|
||||||
|
pStat->element_size, pStat->instance_count,
|
||||||
pStat->total_count, pStat->used_count,
|
pStat->total_count, pStat->used_count,
|
||||||
pStat->total_count > 0 ? (double)pStat->used_count /
|
pStat->total_count > 0 ? (double)pStat->used_count /
|
||||||
(double)pStat->total_count : 0.00);
|
(double)pStat->total_count : 0.00);
|
||||||
|
|
@ -261,6 +269,7 @@ int fast_mblock_init_ex2(struct fast_mblock_man *mblock, const char *name,
|
||||||
mblock->delay_free_chain.tail = NULL;
|
mblock->delay_free_chain.tail = NULL;
|
||||||
mblock->info.total_count = 0;
|
mblock->info.total_count = 0;
|
||||||
mblock->info.used_count = 0;
|
mblock->info.used_count = 0;
|
||||||
|
mblock->info.instance_count = 1;
|
||||||
mblock->need_lock = need_lock;
|
mblock->need_lock = need_lock;
|
||||||
|
|
||||||
if (name != NULL)
|
if (name != NULL)
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ struct fast_mblock_info
|
||||||
int element_size; //element size
|
int element_size; //element size
|
||||||
int total_count; //total element count
|
int total_count; //total element count
|
||||||
int used_count; //used element count
|
int used_count; //used element count
|
||||||
|
int instance_count; //instance count
|
||||||
};
|
};
|
||||||
|
|
||||||
struct fast_mblock_man
|
struct fast_mblock_man
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue