| 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 #ifndef BASE_METRICS_HISTOGRAM_BASE_H_ | 5 #ifndef BASE_METRICS_HISTOGRAM_BASE_H_ |
| 6 #define BASE_METRICS_HISTOGRAM_BASE_H_ | 6 #define BASE_METRICS_HISTOGRAM_BASE_H_ |
| 7 | 7 |
| 8 #include <limits.h> | 8 #include <limits.h> |
| 9 #include <stddef.h> | 9 #include <stddef.h> |
| 10 #include <stdint.h> | 10 #include <stdint.h> |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 // Note: This only serializes the construction arguments of the histogram, but | 180 // Note: This only serializes the construction arguments of the histogram, but |
| 181 // does not serialize the samples. | 181 // does not serialize the samples. |
| 182 bool SerializeInfo(base::Pickle* pickle) const; | 182 bool SerializeInfo(base::Pickle* pickle) const; |
| 183 | 183 |
| 184 // Try to find out data corruption from histogram and the samples. | 184 // Try to find out data corruption from histogram and the samples. |
| 185 // The returned value is a combination of Inconsistency enum. | 185 // The returned value is a combination of Inconsistency enum. |
| 186 virtual uint32_t FindCorruption(const HistogramSamples& samples) const; | 186 virtual uint32_t FindCorruption(const HistogramSamples& samples) const; |
| 187 | 187 |
| 188 // Snapshot the current complete set of sample data. | 188 // Snapshot the current complete set of sample data. |
| 189 // Override with atomic/locked snapshot if needed. | 189 // Override with atomic/locked snapshot if needed. |
| 190 // NOTE: this data can overflow for long-running sessions. It should be |
| 191 // handled with care and this method is recommended to be used only |
| 192 // in about:histograms and test code. |
| 190 virtual std::unique_ptr<HistogramSamples> SnapshotSamples() const = 0; | 193 virtual std::unique_ptr<HistogramSamples> SnapshotSamples() const = 0; |
| 191 | 194 |
| 192 // Calculate the change (delta) in histogram counts since the previous call | 195 // Calculate the change (delta) in histogram counts since the previous call |
| 193 // to this method. Each successive call will return only those counts | 196 // to this method. Each successive call will return only those counts |
| 194 // changed since the last call. | 197 // changed since the last call. |
| 195 virtual std::unique_ptr<HistogramSamples> SnapshotDelta() = 0; | 198 virtual std::unique_ptr<HistogramSamples> SnapshotDelta() = 0; |
| 196 | 199 |
| 197 // Calculate the change (delta) in histogram counts since the previous call | 200 // Calculate the change (delta) in histogram counts since the previous call |
| 198 // to SnapshotDelta() but do so without modifying any internal data as to | 201 // to SnapshotDelta() but do so without modifying any internal data as to |
| 199 // what was previous logged. After such a call, no further calls to this | 202 // what was previous logged. After such a call, no further calls to this |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 | 269 |
| 267 const std::string histogram_name_; | 270 const std::string histogram_name_; |
| 268 AtomicCount flags_; | 271 AtomicCount flags_; |
| 269 | 272 |
| 270 DISALLOW_COPY_AND_ASSIGN(HistogramBase); | 273 DISALLOW_COPY_AND_ASSIGN(HistogramBase); |
| 271 }; | 274 }; |
| 272 | 275 |
| 273 } // namespace base | 276 } // namespace base |
| 274 | 277 |
| 275 #endif // BASE_METRICS_HISTOGRAM_BASE_H_ | 278 #endif // BASE_METRICS_HISTOGRAM_BASE_H_ |
| OLD | NEW |