// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef BASE_METRICS_HISTOGRAM_SNAPSHOT_MANAGER_H_ #define BASE_METRICS_HISTOGRAM_SNAPSHOT_MANAGER_H_ #include <stdint.h> #include <atomic> #include <map> #include <memory> #include <vector> #include "base/base_export.h" #include "base/gtest_prod_util.h" #include "base/memory/raw_ptr.h" #include "base/metrics/histogram_base.h" namespace base { class HistogramSamples; class HistogramFlattener; // HistogramSnapshotManager handles the logistics of gathering up available // histograms for recording either to disk or for transmission (such as from // renderer to browser, or from browser to UMA upload). Since histograms can sit // in memory for an extended period of time, and are vulnerable to memory // corruption, this class also validates as much redundancy as it can before // calling for the marginal change (a.k.a., delta) in a histogram to be // recorded. class BASE_EXPORT HistogramSnapshotManager final { … }; } // namespace base #endif // BASE_METRICS_HISTOGRAM_SNAPSHOT_MANAGER_H_