| Index: components/metrics/metrics_provider.h
|
| ===================================================================
|
| --- components/metrics/metrics_provider.h (revision 0)
|
| +++ components/metrics/metrics_provider.h (working copy)
|
| @@ -0,0 +1,50 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef COMPONENTS_METRICS_METRICS_PROVIDER_H_
|
| +#define COMPONENTS_METRICS_METRICS_PROVIDER_H_
|
| +
|
| +#include "base/basictypes.h"
|
| +
|
| +namespace metrics {
|
| +
|
| +class ChromeUserMetricsExtension;
|
| +class SystemProfileProto;
|
| +class SystemProfileProto_Stability;
|
| +
|
| +// MetricsProvider is an interface allowing different parts of the UMA protos to
|
| +// be filled out by different classes.
|
| +class MetricsProvider {
|
| + public:
|
| + MetricsProvider() {}
|
| + virtual ~MetricsProvider() {}
|
| +
|
| + // Called when metrics recording has been enabled.
|
| + virtual void OnRecordingEnabled() {}
|
| +
|
| + // Called when metrics recording has been disabled.
|
| + virtual void OnRecordingDisabled() {}
|
| +
|
| + // Provides additional metrics into the system profile.
|
| + virtual void ProvideSystemProfileMetrics(
|
| + SystemProfileProto* system_profile_proto) {}
|
| +
|
| + // Provides additional stability metrics. Stability metrics can be provided
|
| + // directly into |stability_proto| fields or by logging stability histograms
|
| + // via the UMA_STABILITY_HISTOGRAM_ENUMERATION() macro.
|
| + virtual void ProvideStabilityMetrics(
|
| + SystemProfileProto_Stability* stability_proto) {}
|
| +
|
| + // Provides general metrics that are neither system profile nor stability
|
| + // metrics.
|
| + virtual void ProvideGeneralMetrics(
|
| + ChromeUserMetricsExtension* uma_proto) {}
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(MetricsProvider);
|
| +};
|
| +
|
| +} // namespace metrics
|
| +
|
| +#endif // COMPONENTS_METRICS_METRICS_PROVIDER_H_
|
|
|