OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/metrics/sample_vector.h" | 5 #include "base/metrics/sample_vector.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/metrics/bucket_ranges.h" | 8 #include "base/metrics/bucket_ranges.h" |
9 | 9 |
10 namespace base { | 10 namespace base { |
11 | 11 |
12 typedef HistogramBase::Count Count; | 12 typedef HistogramBase::Count Count; |
13 typedef HistogramBase::Sample Sample; | 13 typedef HistogramBase::Sample Sample; |
14 | 14 |
15 SampleVector::SampleVector(const BucketRanges* bucket_ranges) | 15 SampleVector::SampleVector(const BucketRanges* bucket_ranges) |
16 : SampleVector(0, bucket_ranges) {} | 16 : SampleVector(0, bucket_ranges) {} |
17 | 17 |
18 SampleVector::SampleVector(uint64_t id, const BucketRanges* bucket_ranges) | 18 SampleVector::SampleVector(uint64_t id, const BucketRanges* bucket_ranges) |
19 : HistogramSamples(id), | 19 : HistogramSamples(id), |
20 local_counts_(bucket_ranges->bucket_count()), | 20 local_counts_(bucket_ranges->bucket_count()), |
21 counts_(&local_counts_[0]), | 21 counts_(&local_counts_[0]), |
22 counts_size_(local_counts_.size()), | 22 counts_size_(local_counts_.size()), |
23 bucket_ranges_(bucket_ranges) { | 23 bucket_ranges_(bucket_ranges) { |
24 CHECK_GE(bucket_ranges_->bucket_count(), 1u); | 24 CHECK_GE(bucket_ranges_->bucket_count(), 1u); |
25 } | 25 } |
26 | 26 |
27 SampleVector::SampleVector(uint64_t id, | 27 SampleVector::SampleVector(uint64_t id, |
28 HistogramBase::AtomicCount* counts, | 28 HistogramBase::AtomicCount* counts, |
29 size_t counts_size, | 29 size_t /*counts_size*/, |
30 Metadata* meta, | 30 Metadata* meta, |
31 const BucketRanges* bucket_ranges) | 31 const BucketRanges* bucket_ranges) |
32 : HistogramSamples(id, meta), | 32 : HistogramSamples(id, meta), |
33 counts_(counts), | 33 counts_(counts), |
34 counts_size_(bucket_ranges->bucket_count()), | 34 counts_size_(bucket_ranges->bucket_count()), |
35 bucket_ranges_(bucket_ranges) { | 35 bucket_ranges_(bucket_ranges) { |
36 CHECK_LE(bucket_ranges_->bucket_count(), counts_size_); | 36 CHECK_LE(bucket_ranges_->bucket_count(), counts_size_); |
37 CHECK_GE(bucket_ranges_->bucket_count(), 1u); | 37 CHECK_GE(bucket_ranges_->bucket_count(), 1u); |
38 } | 38 } |
39 | 39 |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 return; | 184 return; |
185 | 185 |
186 while (index_ < counts_size_) { | 186 while (index_ < counts_size_) { |
187 if (subtle::NoBarrier_Load(&counts_[index_]) != 0) | 187 if (subtle::NoBarrier_Load(&counts_[index_]) != 0) |
188 return; | 188 return; |
189 index_++; | 189 index_++; |
190 } | 190 } |
191 } | 191 } |
192 | 192 |
193 } // namespace base | 193 } // namespace base |
OLD | NEW |