blob: 7e44ab873295ac71f400491cbfa663e3654e0d3c [file]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_METRICS_PRIVATE_METRICS_PRIVATE_METRICS_UNSENT_LOG_STORE_METRICS_H_
#define COMPONENTS_METRICS_PRIVATE_METRICS_PRIVATE_METRICS_UNSENT_LOG_STORE_METRICS_H_
#include "components/metrics/unsent_log_store_metrics.h"
namespace metrics::private_metrics {
// Implementation for recording metrics from UnsentLogStore.
class PrivateMetricsUnsentLogStoreMetrics
: public metrics::UnsentLogStoreMetrics {
public:
PrivateMetricsUnsentLogStoreMetrics();
PrivateMetricsUnsentLogStoreMetrics(
const PrivateMetricsUnsentLogStoreMetrics&) = delete;
PrivateMetricsUnsentLogStoreMetrics& operator=(
const PrivateMetricsUnsentLogStoreMetrics&) = delete;
~PrivateMetricsUnsentLogStoreMetrics() override;
// metrics::UnsentLogStoreMetrics:
void RecordLogReadStatus(
metrics::UnsentLogStoreMetrics::LogReadStatus status) override;
void RecordCompressionRatio(size_t compressed_size,
size_t original_size) override;
void RecordDroppedLogSize(size_t size) override;
void RecordDroppedLogsNum(int dropped_logs_num) override;
};
} // namespace metrics::private_metrics
#endif // COMPONENTS_METRICS_PRIVATE_METRICS_PRIVATE_METRICS_UNSENT_LOG_STORE_METRICS_H_