#include "base/metrics/histogram_base.h"
#include <limits.h>
#include <memory>
#include <set>
#include <string_view>
#include <utility>
#include "base/check_op.h"
#include "base/json/json_string_value_serializer.h"
#include "base/metrics/histogram.h"
#include "base/metrics/histogram_macros.h"
#include "base/metrics/histogram_samples.h"
#include "base/metrics/sparse_histogram.h"
#include "base/metrics/statistics_recorder.h"
#include "base/no_destructor.h"
#include "base/notreached.h"
#include "base/numerics/safe_conversions.h"
#include "base/pickle.h"
#include "base/process/process_handle.h"
#include "base/rand_util.h"
#include "base/strings/stringprintf.h"
#include "base/synchronization/lock.h"
#include "base/values.h"
namespace base {
std::string HistogramTypeToString(HistogramType type) { … }
HistogramBase* DeserializeHistogramInfo(PickleIterator* iter) { … }
HistogramBase::CountAndBucketData::CountAndBucketData(Count count,
int64_t sum,
Value::List buckets)
: … { … }
HistogramBase::CountAndBucketData::~CountAndBucketData() = default;
HistogramBase::CountAndBucketData::CountAndBucketData(
CountAndBucketData&& other) = default;
HistogramBase::CountAndBucketData& HistogramBase::CountAndBucketData::operator=(
CountAndBucketData&& other) = default;
const HistogramBase::Sample HistogramBase::kSampleType_MAX = …;
HistogramBase::HistogramBase(const char* name)
: … { … }
HistogramBase::~HistogramBase() = default;
void HistogramBase::CheckName(std::string_view name) const { … }
void HistogramBase::SetFlags(int32_t flags) { … }
void HistogramBase::ClearFlags(int32_t flags) { … }
bool HistogramBase::HasFlags(int32_t flags) const { … }
void HistogramBase::AddScaled(Sample value, int count, int scale) { … }
void HistogramBase::AddKilo(Sample value, int count) { … }
void HistogramBase::AddKiB(Sample value, int count) { … }
void HistogramBase::AddTimeMillisecondsGranularity(const TimeDelta& time) { … }
void HistogramBase::AddTimeMicrosecondsGranularity(const TimeDelta& time) { … }
void HistogramBase::AddBoolean(bool value) { … }
void HistogramBase::SerializeInfo(Pickle* pickle) const { … }
uint32_t HistogramBase::FindCorruption(const HistogramSamples& samples) const { … }
void HistogramBase::WriteJSON(std::string* output,
JSONVerbosityLevel verbosity_level) const { … }
void HistogramBase::FindAndRunCallbacks(HistogramBase::Sample sample) const { … }
HistogramBase::CountAndBucketData HistogramBase::GetCountAndBucketData() const { … }
void HistogramBase::WriteAsciiBucketGraph(double x_count,
int line_length,
std::string* output) const { … }
const std::string HistogramBase::GetSimpleAsciiBucketRange(
Sample sample) const { … }
void HistogramBase::WriteAsciiBucketValue(Count current,
double scaled_sum,
std::string* output) const { … }
void HistogramBase::WriteAscii(std::string* output) const { … }
char const* HistogramBase::GetPermanentName(std::string_view name) { … }
}