OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/metrics/file_metrics_provider.h" | 5 #include "components/metrics/file_metrics_provider.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file.h" | 8 #include "base/files/file.h" |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/files/memory_mapped_file.h" | 10 #include "base/files/memory_mapped_file.h" |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
176 DCHECK(thread_checker_.CalledOnValidThread()); | 176 DCHECK(thread_checker_.CalledOnValidThread()); |
177 base::PersistentHistogramAllocator::Iterator histogram_iter( | 177 base::PersistentHistogramAllocator::Iterator histogram_iter( |
178 file->allocator.get()); | 178 file->allocator.get()); |
179 | 179 |
180 int histogram_count = 0; | 180 int histogram_count = 0; |
181 while (true) { | 181 while (true) { |
182 scoped_ptr<base::HistogramBase> histogram = histogram_iter.GetNext(); | 182 scoped_ptr<base::HistogramBase> histogram = histogram_iter.GetNext(); |
183 if (!histogram) | 183 if (!histogram) |
184 break; | 184 break; |
185 if (file->type == FILE_HISTOGRAMS_ATOMIC) | 185 if (file->type == FILE_HISTOGRAMS_ATOMIC) |
186 snapshot_manager->PrepareAbsoluteTakingOwnership(std::move(histogram)); | 186 snapshot_manager->PrepareDifferenceTakingOwnership(std::move(histogram)); |
Ilya Sherman
2016/04/19 00:57:46
So, why is it important here that we take the (ide
bcwhite
2016/04/19 16:33:38
Because in some situations, the data may be read-o
Ilya Sherman
2016/04/20 07:12:14
I'd prefer to back-out the PrepareDifference chang
bcwhite
2016/04/20 16:47:45
Done.
| |
187 else | 187 else |
188 snapshot_manager->PrepareDeltaTakingOwnership(std::move(histogram)); | 188 snapshot_manager->PrepareDeltaTakingOwnership(std::move(histogram)); |
189 ++histogram_count; | 189 ++histogram_count; |
190 } | 190 } |
191 | 191 |
192 DVLOG(1) << "Reported " << histogram_count << " histograms from " | 192 DVLOG(1) << "Reported " << histogram_count << " histograms from " |
193 << file->path.value(); | 193 << file->path.value(); |
194 } | 194 } |
195 | 195 |
196 void FileMetricsProvider::CreateAllocatorForFile(FileInfo* file) { | 196 void FileMetricsProvider::CreateAllocatorForFile(FileInfo* file) { |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
282 if (file->type == FILE_HISTOGRAMS_ATOMIC) { | 282 if (file->type == FILE_HISTOGRAMS_ATOMIC) { |
283 DCHECK(!file->mapped); | 283 DCHECK(!file->mapped); |
284 file->allocator.reset(); | 284 file->allocator.reset(); |
285 file->data.clear(); | 285 file->data.clear(); |
286 RecordFileAsSeen(file.get()); | 286 RecordFileAsSeen(file.get()); |
287 } | 287 } |
288 } | 288 } |
289 } | 289 } |
290 | 290 |
291 } // namespace metrics | 291 } // namespace metrics |
OLD | NEW |