X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fanalyze.cc;h=7115d06f2eada95bf8f38433bc3b0280c7dabb57;hb=d4758957f0b472a5f247004862fef55f58edcc8f;hp=ec534a3b4c9f67467e5ed568f257a6a3d5c2bf6f;hpb=ade26d9f2de230a6b9ce3cd45f909c56f529852a;p=m6w6%2Flibmemcached diff --git a/libmemcached/analyze.cc b/libmemcached/analyze.cc index ec534a3b..7115d06f 100644 --- a/libmemcached/analyze.cc +++ b/libmemcached/analyze.cc @@ -1,4 +1,4 @@ -#include "common.h" +#include static void calc_largest_consumption(memcached_analysis_st *result, const uint32_t server_num, @@ -42,7 +42,9 @@ static void calc_average_item_size(memcached_analysis_st *result, const uint64_t total_bytes) { if (total_items > 0 && total_bytes > 0) + { result->average_item_size= (uint32_t) (total_bytes / total_items); + } } static void calc_hit_ratio(memcached_analysis_st *result, @@ -65,18 +67,25 @@ memcached_analysis_st *memcached_analyze(memcached_st *memc, { uint64_t total_items= 0, total_bytes= 0; uint64_t total_get_cmds= 0, total_get_hits= 0; - uint32_t server_count, x; - memcached_analysis_st *result; - if (not memc or not memc_stat) + if (memc == NULL or memc_stat == NULL) + { return NULL; + } + + memcached_return_t not_used; + if (error == NULL) + { + error= ¬_used; + } *error= MEMCACHED_SUCCESS; - server_count= memcached_server_count(memc); - result= (memcached_analysis_st*)calloc(memcached_server_count(memc), - sizeof(memcached_analysis_st)); + uint32_t server_count= memcached_server_count(memc); + memcached_analysis_st *result= (memcached_analysis_st*)libmemcached_xcalloc(memc, + memcached_server_count(memc), + memcached_analysis_st); - if (not result) + if (result == NULL) { *error= MEMCACHED_MEMORY_ALLOCATION_FAILURE; return NULL; @@ -84,7 +93,7 @@ memcached_analysis_st *memcached_analyze(memcached_st *memc, result->root= memc; - for (x= 0; x < server_count; x++) + for (uint32_t x= 0; x < server_count; x++) { calc_largest_consumption(result, x, memc_stat[x].bytes); calc_oldest_node(result, x, memc_stat[x].uptime); @@ -106,5 +115,5 @@ memcached_analysis_st *memcached_analyze(memcached_st *memc, void memcached_analyze_free(memcached_analysis_st *ptr) { - free(ptr); + libmemcached_free(ptr->root, ptr); }