#include "components/segmentation_platform/internal/signals/histogram_signal_handler.h"
#include <cstdint>
#include "base/containers/contains.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/metrics/metrics_hashes.h"
#include "base/observer_list.h"
#include "components/segmentation_platform/internal/database/signal_database.h"
#include "components/segmentation_platform/internal/database/ukm_types.h"
namespace segmentation_platform {
HistogramSignalHandler::HistogramSignalHandler(const std::string& profile_id,
SignalDatabase* signal_database,
UkmDatabase* ukm_db)
: … { … }
HistogramSignalHandler::~HistogramSignalHandler() { … }
void HistogramSignalHandler::SetRelevantHistograms(
const RelevantHistograms& histograms) { … }
void HistogramSignalHandler::EnableMetrics(bool enable_metrics) { … }
void HistogramSignalHandler::OnHistogramSample(
proto::SignalType signal_type,
const char* histogram_name,
uint64_t name_hash,
base::HistogramBase::Sample sample) { … }
void HistogramSignalHandler::AddObserver(Observer* observer) { … }
void HistogramSignalHandler::RemoveObserver(Observer* observer) { … }
void HistogramSignalHandler::OnSampleWritten(const std::string& histogram_name,
base::HistogramBase::Sample sample,
bool success) { … }
}