Code

memcached: Fix hitratio calculation
authorPavel Rochnyack <pavel2000@ngs.ru>
Mon, 9 Oct 2017 20:08:38 +0000 (03:08 +0700)
committerPavel Rochnyack <pavel2000@ngs.ru>
Mon, 9 Oct 2017 20:08:38 +0000 (03:08 +0700)
If there is no requests, NAN is reported as hitratio.
If there is no hits - zero is reported.

src/memcached.c

index 5a9faf32a0a84ff6dfe333ed57dd2e12001dfc35..85794a5ccfcf3055923fbd8ef4191e2be21fd6ce 100644 (file)
@@ -406,9 +406,12 @@ static gauge_t calculate_ratio_percent(derive_t part, derive_t total,
   *prev_part = part;
   *prev_total = total;
 
-  if (num == 0 || denom == 0)
+  if (denom == 0)
     return NAN;
 
+  if (num == 0)
+    return 0;
+
   return 100.0 * (gauge_t)num / (gauge_t)denom;
 }
 
@@ -426,9 +429,12 @@ static gauge_t calculate_ratio_percent2(derive_t part1, derive_t part2,
   *prev1 = part1;
   *prev2 = part2;
 
-  if (num == 0 || denom == 0)
+  if (denom == 0)
     return NAN;
 
+  if (num == 0)
+    return 0;
+
   return 100.0 * (gauge_t)num / (gauge_t)denom;
 }