Chromium Code Reviews| Index: components/metrics/metrics_service.cc |
| diff --git a/components/metrics/metrics_service.cc b/components/metrics/metrics_service.cc |
| index 7e31ddb93156bf301ef333bd5cbe71bb7acc9691..e1ed8d0093cc7588af8632c5ed492b9fc18ab419 100644 |
| --- a/components/metrics/metrics_service.cc |
| +++ b/components/metrics/metrics_service.cc |
| @@ -1155,11 +1155,23 @@ void MetricsService::RecordCurrentHistograms() { |
| void MetricsService::RecordCurrentStabilityHistograms() { |
| DCHECK(log_manager_.current_log()); |
| + histogram_snapshot_manager_.StartDeltas(); |
| // "true" indicates that StatisticsRecorder should include histograms in |
| // persistent storage. |
| - histogram_snapshot_manager_.PrepareDeltas( |
| - base::StatisticsRecorder::begin(true), base::StatisticsRecorder::end(), |
| - base::Histogram::kNoFlags, base::Histogram::kUmaStabilityHistogramFlag); |
| + for (auto it = base::StatisticsRecorder::begin(true), |
| + end = base::StatisticsRecorder::end(); |
| + it != end; ++it) { |
| + // kUmaStabilityHistogramFlag is actually a combination of two flags and |
| + // so the result of the bitwise-and must be checked against the "flag" |
| + // value or incorrect matches will occur. |
| + if (((*it)->flags() & base::Histogram::kUmaStabilityHistogramFlag) == |
| + base::Histogram::kUmaStabilityHistogramFlag) { |
|
Alexei Svitkine (slow)
2016/05/10 19:55:42
I would actually prefer we don't duplicate this lo
bcwhite
2016/05/11 15:47:12
Done.
|
| + histogram_snapshot_manager_.PrepareDelta(*it); |
| + } |
| + } |
| + for (MetricsProvider* provider : metrics_providers_) |
| + provider->RecordInitialHistogramSnapshots(&histogram_snapshot_manager_); |
| + histogram_snapshot_manager_.FinishDeltas(); |
| } |
| void MetricsService::LogCleanShutdown() { |