]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
logger: be more careful calculating variance
authorSage Weil <sage@newdream.net>
Thu, 6 May 2010 18:10:14 +0000 (11:10 -0700)
committerSage Weil <sage@newdream.net>
Thu, 6 May 2010 18:30:38 +0000 (11:30 -0700)
src/common/Logger.cc

index ceb8a4658c4e1553419143a5ee2a34463825ab93..4c5612da58f9d5a45a273f3abffdce18384860e7 100644 (file)
@@ -212,9 +212,9 @@ void Logger::_flush(bool reset)
       if (vals[i] > 0) {
        double avg = (fvals[i] / (double)vals[i]);
        double var = 0.0;
-       if (g_conf.logger_calc_variance) {
-         __s64 n = vals[i];
-         for (vector<double>::iterator p = vals_to_avg[i].begin(); n--; ++p) 
+       if (g_conf.logger_calc_variance &&
+           (unsigned)vals[i] == vals_to_avg[i].size()) {
+         for (vector<double>::iterator p = vals_to_avg[i].begin(); p != vals_to_avg[i].end(); ++p) 
            var += (avg - *p) * (avg - *p);
        }
        char s[256];