cppcheck warnings fixed.
[m6w6/libmemcached] / clients / ms_stats.c
index af6183cdd387a66ccdc8ee873c258681283b2827..8d62a5aaa1ebf1649171fa8955c5d990c0d16592 100644 (file)
@@ -8,9 +8,13 @@
  * http://www.schoonerinfotech.com/
  *
  */
+
+#include "config.h"
+
+#include <inttypes.h>
 #include "ms_stats.h"
 
-#define array_size(x) (sizeof(x) / sizeof((x)[0]))
+#define array_size(x)    (sizeof(x) / sizeof((x)[0]))
 
 static int ms_local_log2(uint64_t value);
 static uint64_t ms_get_events(ms_stat_t *stat);
@@ -25,14 +29,16 @@ static uint64_t ms_get_events(ms_stat_t *stat);
  */
 static int ms_local_log2(uint64_t value)
 {
-    int  result = 0;
+  int result= 0;
 
-    while (result <= 63 && ((uint64_t) 1 << result) < value) {
-        result++;
-    }
+  while (result <= 63 && ((uint64_t)1 << result) < value)
+  {
+    result++;
+  }
+
+  return result;
+} /* ms_local_log2 */
 
-    return result;
-}
 
 /**
  * initialize statistic structure
@@ -42,25 +48,24 @@ static int ms_local_log2(uint64_t value)
  */
 void ms_init_stats(ms_stat_t *stat, const char *name)
 {
-    memset(stat, 0, sizeof(*stat));
-
-    stat->name            = (char *)name;
-    stat->min_time        = (uint64_t) -1;
-    stat->max_time        = 0;
-    stat->period_min_time = (uint64_t) -1;
-    stat->period_max_time = 0;
-    stat->log_product     = 0;
-    stat->total_time      = 0;
-    stat->pre_total_time  = 0;
-    stat->squares         = 0;
-    stat->pre_squares     = 0;
-    stat->pre_events      = 0;
-    stat->pre_log_product = 0;
-    stat->get_miss        = 0;
-    stat->pre_get_miss    = 0;
+  memset(stat, 0, sizeof(*stat));
+
+  stat->name= (char *)name;
+  stat->min_time= (uint64_t)-1;
+  stat->max_time= 0;
+  stat->period_min_time= (uint64_t)-1;
+  stat->period_max_time= 0;
+  stat->log_product= 0;
+  stat->total_time= 0;
+  stat->pre_total_time= 0;
+  stat->squares= 0;
+  stat->pre_squares= 0;
+  stat->pre_events= 0;
+  stat->pre_log_product= 0;
+  stat->get_miss= 0;
+  stat->pre_get_miss= 0;
+} /* ms_init_stats */
 
-    return;
-}
 
 /**
  * record one event
@@ -71,37 +76,42 @@ void ms_init_stats(ms_stat_t *stat, const char *name)
  */
 void ms_record_event(ms_stat_t *stat, uint64_t total_time, int get_miss)
 {
-    stat->total_time += total_time;
+  stat->total_time+= total_time;
 
-    if (total_time < stat->min_time) {
-        stat->min_time = total_time;
-    }
+  if (total_time < stat->min_time)
+  {
+    stat->min_time= total_time;
+  }
 
-    if (total_time > stat->max_time) {
-        stat->max_time = total_time;
-    }
+  if (total_time > stat->max_time)
+  {
+    stat->max_time= total_time;
+  }
 
-    if (total_time < stat->period_min_time) {
-        stat->period_min_time = total_time;
-    }
+  if (total_time < stat->period_min_time)
+  {
+    stat->period_min_time= total_time;
+  }
 
-    if (total_time > stat->period_max_time) {
-        stat->period_max_time = total_time;
-    }
+  if (total_time > stat->period_max_time)
+  {
+    stat->period_max_time= total_time;
+  }
 
-    if (get_miss) {
-        stat->get_miss++;
-    }
+  if (get_miss)
+  {
+    stat->get_miss++;
+  }
 
-    stat->dist[ms_local_log2(total_time)]++;
-    stat->squares += (double)(total_time * total_time);
+  stat->dist[ms_local_log2(total_time)]++;
+  stat->squares+= (double)(total_time * total_time);
 
-    if (total_time != 0) {
-        stat->log_product += log((double) total_time);
-    }
+  if (total_time != 0)
+  {
+    stat->log_product+= log((double)total_time);
+  }
+} /* ms_record_event */
 
-    return;
-}
 
 /**
  * get the events count
@@ -112,14 +122,16 @@ void ms_record_event(ms_stat_t *stat, uint64_t total_time, int get_miss)
  */
 static uint64_t ms_get_events(ms_stat_t *stat)
 {
-    uint64_t events = 0;
+  uint64_t events= 0;
 
-    for (uint32_t i = 0; i < array_size(stat->dist); i++) {
-        events += stat->dist[i];
-    }
+  for (uint32_t i= 0; i < array_size(stat->dist); i++)
+  {
+    events+= stat->dist[i];
+  }
+
+  return events;
+} /* ms_get_events */
 
-    return events;
-}
 
 /**
  * dump the statistics
@@ -128,55 +140,64 @@ static uint64_t ms_get_events(ms_stat_t *stat)
  */
 void ms_dump_stats(ms_stat_t *stat)
 {
-    uint64_t events         = 0;
-    int      max_non_zero   = 0;
-    int      min_non_zero   = 0;
-    double   average        = 0;
-
-    for (uint32_t i = 0; i < array_size(stat->dist); i++) {
-        events += stat->dist[i];
-        if (stat->dist[i] != 0) {
-            max_non_zero = (int)i;
-        }
+  uint64_t events= 0;
+  int max_non_zero= 0;
+  int min_non_zero= 0;
+  double average= 0;
+
+  for (uint32_t i= 0; i < array_size(stat->dist); i++)
+  {
+    events+= stat->dist[i];
+    if (stat->dist[i] != 0)
+    {
+      max_non_zero= (int)i;
     }
+  }
 
-    if (events == 0) {
-        return;
+  if (events == 0)
+  {
+    return;
+  }
+  average= (double)(stat->total_time / events);
+
+  printf("%s Statistics (%lld events)\n", stat->name, (long long)events);
+  printf("   Min:  %8lld\n", (long long)stat->min_time);
+  printf("   Max:  %8lld\n", (long long)stat->max_time);
+  printf("   Avg:  %8lld\n", (long long)(stat->total_time / events));
+  printf("   Geo:  %8.2lf\n", exp(stat->log_product / (double)events));
+
+  if (events > 1)
+  {
+    printf("   Std:  %8.2lf\n",
+           sqrt((stat->squares - (double)events * average
+                 * average) / ((double)events - 1)));
+  }
+  printf("   Log2 Dist:");
+
+  for (int i= 0; i <= max_non_zero - 4; i+= 4)
+  {
+    if ((stat->dist[i + 0] != 0)
+        || (stat->dist[i + 1] != 0)
+        || (stat->dist[i + 2] != 0)
+        || (stat->dist[i + 3] != 0))
+    {
+      min_non_zero= i;
+      break;
     }
-    average = (double)(stat->total_time / events);
+  }
 
-    printf("%s Statistics (%lld events)\n", stat->name, (long long)events);
-    printf("   Min:  %8lld\n", (long long)stat->min_time);
-    printf("   Max:  %8lld\n", (long long)stat->max_time);
-    printf("   Avg:  %8lld\n", (long long)(stat->total_time / events));
-    printf("   Geo:  %8.2lf\n", exp(stat->log_product / (double)events));
-
-    if (events > 1) {
-        printf("   Std:  %8.2lf\n",
-               sqrt((stat->squares - (double)events * average * average) / ((double)events - 1)));
-    }
-    printf("   Log2 Dist:");
-
-    for (int i = 0; i <= max_non_zero - 4; i += 4) {
-        if (stat->dist[i + 0] != 0
-            || stat->dist[i + 1] != 0
-            || stat->dist[i + 2] != 0
-            || stat->dist[i + 3] != 0) {
-            min_non_zero = i;
-            break;
-        }
+  for (int i= min_non_zero; i <= max_non_zero; i++)
+  {
+    if ((i % 4) == 0)
+    {
+      printf("\n      %2d:", (int)i);
     }
+    printf("   %6" PRIu64 , stat->dist[i]);
+  }
 
-    for (int i = min_non_zero; i <= max_non_zero; i++) {
-        if ((i % 4) == 0) {
-            printf("\n      %2d:", (int) i);
-        }
-        printf("   %6ld", stat->dist[i]);
-    }
+  printf("\n\n");
+} /* ms_dump_stats */
 
-    printf("\n\n");
-    return;
-}
 
 /**
  * dump the format statistics
@@ -186,74 +207,97 @@ void ms_dump_stats(ms_stat_t *stat)
  * @param freq, statistic frequency
  * @param obj_size, average object size
  */
-void ms_dump_format_stats(ms_stat_t *stat, int run_time,
-                          int freq, int obj_size)
+void ms_dump_format_stats(ms_stat_t *stat,
+                          int run_time,
+                          int freq,
+                          int obj_size)
 {
-    uint64_t events             = 0;
-    double   global_average     = 0;
-    uint64_t global_tps         = 0;
-    double   global_rate        = 0;
-    double   global_std         = 0;
-    double   global_log         = 0;
-
-    uint64_t diff_time          = 0;
-    uint64_t diff_events        = 0;
-    double   diff_squares       = 0;
-    double   diff_log_product   = 0;
-    double   period_average     = 0;
-    uint64_t period_tps         = 0;
-    double   period_rate        = 0;
-    double   period_std         = 0;
-    double   period_log         = 0;
-
-    if ((events = ms_get_events(stat)) == 0) {
-        return;
-    }
-
-    global_average = (double)(stat->total_time / events);
-    global_tps = events / (uint64_t)run_time;
-    global_rate = (double)events * obj_size / 1024 / 1024 / run_time;
-    global_std = sqrt((stat->squares - (double)events * global_average
-                       * global_average) / (double)(events - 1));
-    global_log = exp(stat->log_product / (double)events);
-
-    diff_time = stat->total_time - stat->pre_total_time;
-    diff_events = events - stat->pre_events;
-    if (diff_events >= 1) {
-        period_average = (double)(diff_time / diff_events);
-        period_tps = diff_events / (uint64_t)freq;
-        period_rate = (double)diff_events * obj_size / 1024 / 1024 / freq;
-        diff_squares = (double)stat->squares - (double)stat->pre_squares;
-        period_std = sqrt((diff_squares - (double)diff_events * period_average
-                           * period_average) / (double)(diff_events - 1));
-        diff_log_product = stat->log_product - stat->pre_log_product;
-        period_log = exp(diff_log_product / (double)diff_events);
-    }
-
-    printf("%s Statistics\n", stat->name);
-    printf("%-8s %-8s %-12s %-12s %-10s %-10s %-8s %-10s %-10s %-10s %-10s\n", "Type",
-           "Time(s)", "Ops", "TPS(ops/s)", "Net(M/s)", "Get_miss", "Min(us)", "Max(us)",
-           "Avg(us)", "Std_dev", "Geo_dist");
-
-    printf("%-8s %-8d %-12llu %-12lld %-10.1f %-10lld %-8lld %-10lld %-10lld %-10.2f %.2f\n",
-           "Period", freq, (long long)diff_events, (long long)period_tps, global_rate,
-           (long long)(stat->get_miss - stat->pre_get_miss),
-           (long long)stat->period_min_time, (long long)stat->period_max_time,
-           (long long)period_average, period_std, period_log);
-
-    printf("%-8s %-8d %-12llu %-12lld %-10.1f %-10lld %-8lld %-10lld %-10lld %-10.2f %.2f\n\n",
-           "Global", run_time, (long long)events, (long long)global_tps, period_rate,
-           (long long)stat->get_miss, (long long)stat->min_time,
-           (long long)stat->max_time, (long long)global_average,
-           global_std, global_log);
-
-    stat->pre_events = events;
-    stat->pre_squares = (uint64_t)stat->squares;
-    stat->pre_total_time = stat->total_time;
-    stat->pre_log_product = stat->log_product;
-    stat->period_min_time = (uint64_t)-1;
-    stat->period_max_time = 0;
-    stat->pre_get_miss = stat->get_miss;
-
+  uint64_t events= 0;
+  double global_average= 0;
+  uint64_t global_tps= 0;
+  double global_rate= 0;
+  double global_std= 0;
+  double global_log= 0;
+
+  double period_average= 0;
+  uint64_t period_tps= 0;
+  double period_rate= 0;
+  double period_std= 0;
+  double period_log= 0;
+
+  if ((events= ms_get_events(stat)) == 0)
+  {
     return;
-}
+  }
+
+  global_average= (double)(stat->total_time / events);
+  global_tps= events / (uint64_t)run_time;
+  global_rate= (double)events * obj_size / 1024 / 1024 / run_time;
+  global_std= sqrt((stat->squares - (double)events * global_average
+                    * global_average) / (double)(events - 1));
+  global_log= exp(stat->log_product / (double)events);
+
+  uint64_t diff_time= stat->total_time - stat->pre_total_time;
+  uint64_t diff_events= events - stat->pre_events;
+  if (diff_events >= 1)
+  {
+    period_average= (double)(diff_time / diff_events);
+    period_tps= diff_events / (uint64_t)freq;
+    period_rate= (double)diff_events * obj_size / 1024 / 1024 / freq;
+    double diff_squares= (double)stat->squares - (double)stat->pre_squares;
+    period_std= sqrt((diff_squares - (double)diff_events * period_average
+                      * period_average) / (double)(diff_events - 1));
+    double diff_log_product= stat->log_product - stat->pre_log_product;
+    period_log= exp(diff_log_product / (double)diff_events);
+  }
+
+  printf("%s Statistics\n", stat->name);
+  printf("%-8s %-8s %-12s %-12s %-10s %-10s %-8s %-10s %-10s %-10s %-10s\n",
+         "Type",
+         "Time(s)",
+         "Ops",
+         "TPS(ops/s)",
+         "Net(M/s)",
+         "Get_miss",
+         "Min(us)",
+         "Max(us)",
+         "Avg(us)",
+         "Std_dev",
+         "Geo_dist");
+
+  printf(
+    "%-8s %-8d %-12llu %-12lld %-10.1f %-10lld %-8lld %-10lld %-10lld %-10.2f %.2f\n",
+    "Period",
+    freq,
+    (long long)diff_events,
+    (long long)period_tps,
+    global_rate,
+    (long long)(stat->get_miss - stat->pre_get_miss),
+    (long long)stat->period_min_time,
+    (long long)stat->period_max_time,
+    (long long)period_average,
+    period_std,
+    period_log);
+
+  printf(
+    "%-8s %-8d %-12llu %-12lld %-10.1f %-10lld %-8lld %-10lld %-10lld %-10.2f %.2f\n\n",
+    "Global",
+    run_time,
+    (long long)events,
+    (long long)global_tps,
+    period_rate,
+    (long long)stat->get_miss,
+    (long long)stat->min_time,
+    (long long)stat->max_time,
+    (long long)global_average,
+    global_std,
+    global_log);
+
+  stat->pre_events= events;
+  stat->pre_squares= (uint64_t)stat->squares;
+  stat->pre_total_time= stat->total_time;
+  stat->pre_log_product= stat->log_product;
+  stat->period_min_time= (uint64_t)-1;
+  stat->period_max_time= 0;
+  stat->pre_get_miss= stat->get_miss;
+} /* ms_dump_format_stats */