#include "base/metrics/sparse_histogram.h"
#include <utility>
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/dummy_histogram.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/metrics_hashes.h"
#include "base/metrics/persistent_histogram_allocator.h"
#include "base/metrics/persistent_sample_map.h"
#include "base/metrics/sample_map.h"
#include "base/metrics/statistics_recorder.h"
#include "base/notreached.h"
#include "base/pickle.h"
#include "base/strings/utf_string_conversions.h"
#include "base/synchronization/lock.h"
#include "base/values.h"
namespace base {
Count;
Sample;
HistogramBase* SparseHistogram::FactoryGet(std::string_view name,
int32_t flags) { … }
std::unique_ptr<HistogramBase> SparseHistogram::PersistentCreate(
PersistentHistogramAllocator* allocator,
const char* name,
HistogramSamples::Metadata* meta,
HistogramSamples::Metadata* logged_meta) { … }
SparseHistogram::~SparseHistogram() = default;
uint64_t SparseHistogram::name_hash() const { … }
HistogramType SparseHistogram::GetHistogramType() const { … }
bool SparseHistogram::HasConstructionArguments(
Sample expected_minimum,
Sample expected_maximum,
size_t expected_bucket_count) const { … }
void SparseHistogram::Add(Sample value) { … }
void SparseHistogram::AddCount(Sample value, int count) { … }
std::unique_ptr<HistogramSamples> SparseHistogram::SnapshotSamples() const { … }
std::unique_ptr<HistogramSamples> SparseHistogram::SnapshotUnloggedSamples()
const { … }
void SparseHistogram::MarkSamplesAsLogged(const HistogramSamples& samples) { … }
std::unique_ptr<HistogramSamples> SparseHistogram::SnapshotDelta() { … }
std::unique_ptr<HistogramSamples> SparseHistogram::SnapshotFinalDelta() const { … }
void SparseHistogram::AddSamples(const HistogramSamples& samples) { … }
bool SparseHistogram::AddSamplesFromPickle(PickleIterator* iter) { … }
base::Value::Dict SparseHistogram::ToGraphDict() const { … }
void SparseHistogram::SerializeInfoImpl(Pickle* pickle) const { … }
SparseHistogram::SparseHistogram(const char* name)
: … { … }
SparseHistogram::SparseHistogram(PersistentHistogramAllocator* allocator,
const char* name,
HistogramSamples::Metadata* meta,
HistogramSamples::Metadata* logged_meta)
: … { … }
HistogramBase* SparseHistogram::DeserializeInfoImpl(PickleIterator* iter) { … }
Value::Dict SparseHistogram::GetParameters() const { … }
}