xref: /aosp_15_r20/external/cronet/components/metrics/structured/histogram_util.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2020 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #include "components/metrics/structured/histogram_util.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include "base/metrics/histogram_functions.h"
8*6777b538SAndroid Build Coastguard Worker #include "base/metrics/histogram_macros.h"
9*6777b538SAndroid Build Coastguard Worker #include "base/strings/strcat.h"
10*6777b538SAndroid Build Coastguard Worker 
11*6777b538SAndroid Build Coastguard Worker namespace metrics::structured {
12*6777b538SAndroid Build Coastguard Worker 
LogEventRecordingState(EventRecordingState state)13*6777b538SAndroid Build Coastguard Worker void LogEventRecordingState(EventRecordingState state) {
14*6777b538SAndroid Build Coastguard Worker   UMA_HISTOGRAM_ENUMERATION("UMA.StructuredMetrics.EventRecordingState2",
15*6777b538SAndroid Build Coastguard Worker                             state);
16*6777b538SAndroid Build Coastguard Worker }
17*6777b538SAndroid Build Coastguard Worker 
LogNumEventsInUpload(const int num_events)18*6777b538SAndroid Build Coastguard Worker void LogNumEventsInUpload(const int num_events) {
19*6777b538SAndroid Build Coastguard Worker   UMA_HISTOGRAM_COUNTS_1000("UMA.StructuredMetrics.NumEventsInUpload",
20*6777b538SAndroid Build Coastguard Worker                             num_events);
21*6777b538SAndroid Build Coastguard Worker }
22*6777b538SAndroid Build Coastguard Worker 
LogNumEventsRecordedBeforeInit(int num_events)23*6777b538SAndroid Build Coastguard Worker void LogNumEventsRecordedBeforeInit(int num_events) {
24*6777b538SAndroid Build Coastguard Worker   UMA_HISTOGRAM_COUNTS_100("UMA.StructuredMetrics.EventsRecordedBeforeInit",
25*6777b538SAndroid Build Coastguard Worker                            num_events);
26*6777b538SAndroid Build Coastguard Worker }
27*6777b538SAndroid Build Coastguard Worker 
LogNumFilesPerExternalMetricsScan(int num_files)28*6777b538SAndroid Build Coastguard Worker void LogNumFilesPerExternalMetricsScan(int num_files) {
29*6777b538SAndroid Build Coastguard Worker   base::UmaHistogramCounts1000(
30*6777b538SAndroid Build Coastguard Worker       "UMA.StructuredMetrics.NumFilesPerExternalMetricsScan", num_files);
31*6777b538SAndroid Build Coastguard Worker }
32*6777b538SAndroid Build Coastguard Worker 
LogEventFileSizeKB(int64_t file_size_kb)33*6777b538SAndroid Build Coastguard Worker void LogEventFileSizeKB(int64_t file_size_kb) {
34*6777b538SAndroid Build Coastguard Worker   base::UmaHistogramMemoryKB("UMA.StructuredMetrics.EventFileSize",
35*6777b538SAndroid Build Coastguard Worker                              file_size_kb);
36*6777b538SAndroid Build Coastguard Worker }
LogEventSerializedSizeBytes(int64_t event_size_bytes)37*6777b538SAndroid Build Coastguard Worker void LogEventSerializedSizeBytes(int64_t event_size_bytes) {
38*6777b538SAndroid Build Coastguard Worker   base::UmaHistogramCounts1000("UMA.StructuredMetrics.EventSerializedSize",
39*6777b538SAndroid Build Coastguard Worker                                event_size_bytes);
40*6777b538SAndroid Build Coastguard Worker }
41*6777b538SAndroid Build Coastguard Worker 
LogUploadSizeBytes(int64_t upload_size_bytes)42*6777b538SAndroid Build Coastguard Worker void LogUploadSizeBytes(int64_t upload_size_bytes) {
43*6777b538SAndroid Build Coastguard Worker   base::UmaHistogramCounts100000("StructuredMetrics.UploadSize",
44*6777b538SAndroid Build Coastguard Worker                                  upload_size_bytes);
45*6777b538SAndroid Build Coastguard Worker }
46*6777b538SAndroid Build Coastguard Worker 
LogExternalMetricsScanInUpload(int num_scans)47*6777b538SAndroid Build Coastguard Worker void LogExternalMetricsScanInUpload(int num_scans) {
48*6777b538SAndroid Build Coastguard Worker   base::UmaHistogramExactLinear(
49*6777b538SAndroid Build Coastguard Worker       "UMA.StructuredMetrics.ExternalMetricScansPerUpload", num_scans, 10);
50*6777b538SAndroid Build Coastguard Worker }
51*6777b538SAndroid Build Coastguard Worker 
LogDroppedExternalMetrics(int num_dropped)52*6777b538SAndroid Build Coastguard Worker void LogDroppedExternalMetrics(int num_dropped) {
53*6777b538SAndroid Build Coastguard Worker   base::UmaHistogramCounts1000("StructuredMetrics.ExternalMetricsDropped",
54*6777b538SAndroid Build Coastguard Worker                                num_dropped);
55*6777b538SAndroid Build Coastguard Worker }
56*6777b538SAndroid Build Coastguard Worker 
LogDroppedProjectExternalMetrics(std::string_view project_name,int num_dropped)57*6777b538SAndroid Build Coastguard Worker void LogDroppedProjectExternalMetrics(std::string_view project_name,
58*6777b538SAndroid Build Coastguard Worker                                       int num_dropped) {
59*6777b538SAndroid Build Coastguard Worker   const std::string histogram_name = base::StrCat(
60*6777b538SAndroid Build Coastguard Worker       {"StructuredMetrics.ExternalMetricsDropped2.", project_name});
61*6777b538SAndroid Build Coastguard Worker   base::UmaHistogramCustomCounts(histogram_name, num_dropped, 1, 500, 50);
62*6777b538SAndroid Build Coastguard Worker }
63*6777b538SAndroid Build Coastguard Worker 
LogProducedProjectExternalMetrics(std::string_view project_name,int num_produced)64*6777b538SAndroid Build Coastguard Worker void LogProducedProjectExternalMetrics(std::string_view project_name,
65*6777b538SAndroid Build Coastguard Worker                                        int num_produced) {
66*6777b538SAndroid Build Coastguard Worker   const std::string histogram_name = base::StrCat(
67*6777b538SAndroid Build Coastguard Worker       {"StructuredMetrics.ExternalMetricsProduced2.", project_name});
68*6777b538SAndroid Build Coastguard Worker   base::UmaHistogramCustomCounts(histogram_name, num_produced, 1, 500, 50);
69*6777b538SAndroid Build Coastguard Worker }
70*6777b538SAndroid Build Coastguard Worker 
71*6777b538SAndroid Build Coastguard Worker }  // namespace metrics::structured
72