Chromium Code Reviews| Index: webrtc/system_wrappers/source/metrics_default.cc |
| diff --git a/webrtc/system_wrappers/source/metrics_default.cc b/webrtc/system_wrappers/source/metrics_default.cc |
| index 8ee10bacbc9e974484177d1b52a2c97205c82d38..d7d24fa50dab0e9e33aa8f8aadd3ac32b0f63bd3 100644 |
| --- a/webrtc/system_wrappers/source/metrics_default.cc |
| +++ b/webrtc/system_wrappers/source/metrics_default.cc |
| @@ -9,6 +9,8 @@ |
| #include "webrtc/system_wrappers/include/metrics_default.h" |
| +#include <algorithm> |
| + |
| #include "webrtc/base/criticalsection.h" |
| #include "webrtc/base/thread_annotations.h" |
| #include "webrtc/system_wrappers/include/metrics.h" |
| @@ -34,10 +36,8 @@ class RtcHistogram { |
| } |
| void Add(int sample) { |
| - if (sample < min_) |
| - sample = min_ - 1; // Underflow bucket. |
| - if (sample > max_) |
| - sample = max_; |
| + sample = std::min(sample, max_); |
| + sample = std::max(sample, min_ - 1); // Underflow bucket. |
| rtc::CritScope cs(&crit_); |
| if (info_.samples.size() == kMaxSampleMapSize && |
| @@ -55,8 +55,9 @@ class RtcHistogram { |
| SampleInfo* copy = |
| new SampleInfo(info_.name, info_.min, info_.max, info_.bucket_count); |
| - copy->samples = info_.samples; |
| - info_.samples.clear(); |
| + |
| + std::swap(info_.samples, copy->samples); |
|
stefan-webrtc
2016/11/28 15:15:55
Should we clear info_.samples after this?
åsapersson
2016/11/29 14:22:21
copy->samples has an empty map before the swap.
stefan-webrtc
2016/11/29 16:15:53
Acknowledged.
|
| + |
| return std::unique_ptr<SampleInfo>(copy); |
| } |