-#include "common.h"
+#include <libmemcached/common.h>
static void calc_largest_consumption(memcached_analysis_st *result,
const uint32_t server_num,
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,
{
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;
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);
void memcached_analyze_free(memcached_analysis_st *ptr)
{
- free(ptr);
+ libmemcached_free(ptr->root, ptr);
}