xref: /aosp_15_r20/external/cronet/components/metrics/metrics_provider.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2014 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/metrics_provider.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include "base/notreached.h"
8*6777b538SAndroid Build Coastguard Worker #include "third_party/metrics_proto/chrome_user_metrics_extension.pb.h"
9*6777b538SAndroid Build Coastguard Worker 
10*6777b538SAndroid Build Coastguard Worker namespace metrics {
11*6777b538SAndroid Build Coastguard Worker 
MetricsProvider()12*6777b538SAndroid Build Coastguard Worker MetricsProvider::MetricsProvider() {
13*6777b538SAndroid Build Coastguard Worker }
14*6777b538SAndroid Build Coastguard Worker 
~MetricsProvider()15*6777b538SAndroid Build Coastguard Worker MetricsProvider::~MetricsProvider() {
16*6777b538SAndroid Build Coastguard Worker }
17*6777b538SAndroid Build Coastguard Worker 
Init()18*6777b538SAndroid Build Coastguard Worker void MetricsProvider::Init() {
19*6777b538SAndroid Build Coastguard Worker }
20*6777b538SAndroid Build Coastguard Worker 
AsyncInit(base::OnceClosure done_callback)21*6777b538SAndroid Build Coastguard Worker void MetricsProvider::AsyncInit(base::OnceClosure done_callback) {
22*6777b538SAndroid Build Coastguard Worker   std::move(done_callback).Run();
23*6777b538SAndroid Build Coastguard Worker }
24*6777b538SAndroid Build Coastguard Worker 
ProvideHistograms()25*6777b538SAndroid Build Coastguard Worker bool MetricsProvider::ProvideHistograms() {
26*6777b538SAndroid Build Coastguard Worker   return true;
27*6777b538SAndroid Build Coastguard Worker }
28*6777b538SAndroid Build Coastguard Worker 
OnDidCreateMetricsLog()29*6777b538SAndroid Build Coastguard Worker void MetricsProvider::OnDidCreateMetricsLog() {
30*6777b538SAndroid Build Coastguard Worker   emitted_ = ProvideHistograms();
31*6777b538SAndroid Build Coastguard Worker }
32*6777b538SAndroid Build Coastguard Worker 
OnRecordingEnabled()33*6777b538SAndroid Build Coastguard Worker void MetricsProvider::OnRecordingEnabled() {
34*6777b538SAndroid Build Coastguard Worker }
35*6777b538SAndroid Build Coastguard Worker 
OnRecordingDisabled()36*6777b538SAndroid Build Coastguard Worker void MetricsProvider::OnRecordingDisabled() {
37*6777b538SAndroid Build Coastguard Worker }
38*6777b538SAndroid Build Coastguard Worker 
OnClientStateCleared()39*6777b538SAndroid Build Coastguard Worker void MetricsProvider::OnClientStateCleared() {}
40*6777b538SAndroid Build Coastguard Worker 
OnAppEnterBackground()41*6777b538SAndroid Build Coastguard Worker void MetricsProvider::OnAppEnterBackground() {
42*6777b538SAndroid Build Coastguard Worker }
43*6777b538SAndroid Build Coastguard Worker 
OnPageLoadStarted()44*6777b538SAndroid Build Coastguard Worker void MetricsProvider::OnPageLoadStarted() {}
45*6777b538SAndroid Build Coastguard Worker 
HasIndependentMetrics()46*6777b538SAndroid Build Coastguard Worker bool MetricsProvider::HasIndependentMetrics() {
47*6777b538SAndroid Build Coastguard Worker   return false;
48*6777b538SAndroid Build Coastguard Worker }
49*6777b538SAndroid Build Coastguard Worker 
ProvideIndependentMetrics(base::OnceClosure serialize_log_callback,base::OnceCallback<void (bool)> done_callback,ChromeUserMetricsExtension * uma_proto,base::HistogramSnapshotManager * snapshot_manager)50*6777b538SAndroid Build Coastguard Worker void MetricsProvider::ProvideIndependentMetrics(
51*6777b538SAndroid Build Coastguard Worker     base::OnceClosure serialize_log_callback,
52*6777b538SAndroid Build Coastguard Worker     base::OnceCallback<void(bool)> done_callback,
53*6777b538SAndroid Build Coastguard Worker     ChromeUserMetricsExtension* uma_proto,
54*6777b538SAndroid Build Coastguard Worker     base::HistogramSnapshotManager* snapshot_manager) {
55*6777b538SAndroid Build Coastguard Worker   // Either the method HasIndependentMetrics() has been overridden and this
56*6777b538SAndroid Build Coastguard Worker   // method has not, or this method being called without regard to Has().
57*6777b538SAndroid Build Coastguard Worker   // Both are wrong.
58*6777b538SAndroid Build Coastguard Worker   NOTREACHED();
59*6777b538SAndroid Build Coastguard Worker }
60*6777b538SAndroid Build Coastguard Worker 
ProvideSystemProfileMetrics(SystemProfileProto * system_profile_proto)61*6777b538SAndroid Build Coastguard Worker void MetricsProvider::ProvideSystemProfileMetrics(
62*6777b538SAndroid Build Coastguard Worker     SystemProfileProto* system_profile_proto) {}
63*6777b538SAndroid Build Coastguard Worker 
ProvideSystemProfileMetricsWithLogCreationTime(base::TimeTicks log_creation_time,SystemProfileProto * system_profile_proto)64*6777b538SAndroid Build Coastguard Worker void MetricsProvider::ProvideSystemProfileMetricsWithLogCreationTime(
65*6777b538SAndroid Build Coastguard Worker     base::TimeTicks log_creation_time,
66*6777b538SAndroid Build Coastguard Worker     SystemProfileProto* system_profile_proto) {
67*6777b538SAndroid Build Coastguard Worker   ProvideSystemProfileMetrics(system_profile_proto);
68*6777b538SAndroid Build Coastguard Worker }
69*6777b538SAndroid Build Coastguard Worker 
HasPreviousSessionData()70*6777b538SAndroid Build Coastguard Worker bool MetricsProvider::HasPreviousSessionData() {
71*6777b538SAndroid Build Coastguard Worker   return false;
72*6777b538SAndroid Build Coastguard Worker }
73*6777b538SAndroid Build Coastguard Worker 
ProvidePreviousSessionData(ChromeUserMetricsExtension * uma_proto)74*6777b538SAndroid Build Coastguard Worker void MetricsProvider::ProvidePreviousSessionData(
75*6777b538SAndroid Build Coastguard Worker     ChromeUserMetricsExtension* uma_proto) {
76*6777b538SAndroid Build Coastguard Worker   ProvideStabilityMetrics(uma_proto->mutable_system_profile());
77*6777b538SAndroid Build Coastguard Worker }
78*6777b538SAndroid Build Coastguard Worker 
ProvideCurrentSessionData(ChromeUserMetricsExtension * uma_proto)79*6777b538SAndroid Build Coastguard Worker void MetricsProvider::ProvideCurrentSessionData(
80*6777b538SAndroid Build Coastguard Worker     ChromeUserMetricsExtension* uma_proto) {
81*6777b538SAndroid Build Coastguard Worker   ProvideStabilityMetrics(uma_proto->mutable_system_profile());
82*6777b538SAndroid Build Coastguard Worker 
83*6777b538SAndroid Build Coastguard Worker   if (!emitted_) {
84*6777b538SAndroid Build Coastguard Worker     ProvideHistograms();
85*6777b538SAndroid Build Coastguard Worker   }
86*6777b538SAndroid Build Coastguard Worker }
87*6777b538SAndroid Build Coastguard Worker 
ProvideCurrentSessionUKMData()88*6777b538SAndroid Build Coastguard Worker void MetricsProvider::ProvideCurrentSessionUKMData() {}
89*6777b538SAndroid Build Coastguard Worker 
ProvideStabilityMetrics(SystemProfileProto * system_profile_proto)90*6777b538SAndroid Build Coastguard Worker void MetricsProvider::ProvideStabilityMetrics(
91*6777b538SAndroid Build Coastguard Worker     SystemProfileProto* system_profile_proto) {
92*6777b538SAndroid Build Coastguard Worker }
93*6777b538SAndroid Build Coastguard Worker 
ClearSavedStabilityMetrics()94*6777b538SAndroid Build Coastguard Worker void MetricsProvider::ClearSavedStabilityMetrics() {
95*6777b538SAndroid Build Coastguard Worker }
96*6777b538SAndroid Build Coastguard Worker 
RecordHistogramSnapshots(base::HistogramSnapshotManager * snapshot_manager)97*6777b538SAndroid Build Coastguard Worker void MetricsProvider::RecordHistogramSnapshots(
98*6777b538SAndroid Build Coastguard Worker     base::HistogramSnapshotManager* snapshot_manager) {
99*6777b538SAndroid Build Coastguard Worker }
100*6777b538SAndroid Build Coastguard Worker 
RecordInitialHistogramSnapshots(base::HistogramSnapshotManager * snapshot_manager)101*6777b538SAndroid Build Coastguard Worker void MetricsProvider::RecordInitialHistogramSnapshots(
102*6777b538SAndroid Build Coastguard Worker     base::HistogramSnapshotManager* snapshot_manager) {
103*6777b538SAndroid Build Coastguard Worker }
104*6777b538SAndroid Build Coastguard Worker 
105*6777b538SAndroid Build Coastguard Worker }  // namespace metrics
106