1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "components/metrics/structured/reporting/structured_metrics_log_metrics.h"
6 
7 #include "base/metrics/histogram_functions.h"
8 
9 namespace metrics::structured::reporting {
RecordCompressionRatio(size_t compressed_size,size_t original_size)10 void StructuredMetricsLogMetrics::RecordCompressionRatio(size_t compressed_size,
11                                                          size_t original_size) {
12   CHECK(original_size != 0);
13   double ratio = static_cast<double>(compressed_size) / original_size;
14   base::UmaHistogramPercentage("StructuredMetrics.LogStore.CompressionRatio",
15                                static_cast<int>(100 * ratio));
16 }
17 
RecordDroppedLogSize(size_t size)18 void StructuredMetricsLogMetrics::RecordDroppedLogSize(size_t size) {
19   const size_t size_kb = size / 1024;
20   base::UmaHistogramCounts10000("StructuredMetrics.LogStore.DroppedSize",
21                                 size_kb);
22 }
23 
RecordDroppedLogsNum(int dropped_logs_num)24 void StructuredMetricsLogMetrics::RecordDroppedLogsNum(int dropped_logs_num) {
25   base::UmaHistogramCounts100000("StructuredMetrics.LogStore.Dropped",
26                                  dropped_logs_num);
27 }
28 
29 }  // namespace metrics::structured::reporting
30