| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef BASE_TEST_STATISTICS_DELTA_READER_H_ |
| #define BASE_TEST_STATISTICS_DELTA_READER_H_ |
| |
| #include <map> |
| #include <string> |
| |
| #include "base/basictypes.h" |
| #include "base/memory/scoped_ptr.h" |
| |
| namespace base { |
| |
| class HistogramSamples; |
| |
| // This class acts as a differential reader for histogram samples, enabling |
| // tests to check that metrics were recorded as they should be. |
| // |
| // This class is DEPRECATED. |
| // TODO(mlerman): Remove all references to this class with UMAHistogramHelper |
| // references. crbug.com/384011 |
| class StatisticsDeltaReader { |
| public: |
| StatisticsDeltaReader(); |
| ~StatisticsDeltaReader(); |
| |
| // Returns the histogram data accumulated since this instance was created. |
| // Returns NULL if no samples are available. |
| scoped_ptr<HistogramSamples> GetHistogramSamplesSinceCreation( |
| const std::string& histogram_name); |
| |
| private: |
| // Used to determine the histogram changes made during this instance's |
| // lifecycle. This instance takes ownership of the samples, which are deleted |
| // when the instance is destroyed. |
| std::map<std::string, HistogramSamples*> original_samples_; |
| |
| DISALLOW_COPY_AND_ASSIGN(StatisticsDeltaReader); |
| }; |
| |
| } // namespace base |
| |
| #endif // BASE_TEST_STATISTICS_DELTA_READER_H_ |