| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef COMPONENTS_METRICS_METRICS_PROVIDER_H_ | 5 #ifndef COMPONENTS_METRICS_METRICS_PROVIDER_H_ |
| 6 #define COMPONENTS_METRICS_METRICS_PROVIDER_H_ | 6 #define COMPONENTS_METRICS_METRICS_PROVIDER_H_ |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 | 9 |
| 10 namespace base { | 10 namespace base { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 // Called when metrics recording has been disabled. | 35 // Called when metrics recording has been disabled. |
| 36 virtual void OnRecordingDisabled(); | 36 virtual void OnRecordingDisabled(); |
| 37 | 37 |
| 38 // Called when the application is going into background mode, on platforms | 38 // Called when the application is going into background mode, on platforms |
| 39 // where applications may be killed when going into the background (Android, | 39 // where applications may be killed when going into the background (Android, |
| 40 // iOS). Providers that buffer histogram data in memory should persist | 40 // iOS). Providers that buffer histogram data in memory should persist |
| 41 // histograms in this callback, as the application may be killed without | 41 // histograms in this callback, as the application may be killed without |
| 42 // further notification after this callback. | 42 // further notification after this callback. |
| 43 virtual void OnAppEnterBackground(); | 43 virtual void OnAppEnterBackground(); |
| 44 | 44 |
| 45 // Provides a complete and independent system profile + metrics for uploading. |
| 46 // Any histograms added to the |snapshot_manager| will also be included. A |
| 47 // return of false indicates there are none. Will be called repeatedly until |
| 48 // there is nothing else. |
| 49 virtual bool ProvideIndependentMetrics( |
| 50 SystemProfileProto* system_profile_proto, |
| 51 base::HistogramSnapshotManager* snapshot_manager); |
| 52 |
| 45 // Provides additional metrics into the system profile. | 53 // Provides additional metrics into the system profile. |
| 46 virtual void ProvideSystemProfileMetrics( | 54 virtual void ProvideSystemProfileMetrics( |
| 47 SystemProfileProto* system_profile_proto); | 55 SystemProfileProto* system_profile_proto); |
| 48 | 56 |
| 49 // Called once at startup to see whether this provider has critical stability | 57 // Called once at startup to see whether this provider has critical stability |
| 50 // events to share in an initial stability log. | 58 // events to share in an initial stability log. |
| 51 // Returning true can trigger ProvideInitialStabilityMetrics and | 59 // Returning true can trigger ProvideInitialStabilityMetrics and |
| 52 // ProvideStabilityMetrics on all other registered metrics providers. | 60 // ProvideStabilityMetrics on all other registered metrics providers. |
| 53 // Default implementation always returns false. | 61 // Default implementation always returns false. |
| 54 virtual bool HasInitialStabilityMetrics(); | 62 virtual bool HasInitialStabilityMetrics(); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 virtual void RecordInitialHistogramSnapshots( | 98 virtual void RecordInitialHistogramSnapshots( |
| 91 base::HistogramSnapshotManager* snapshot_manager); | 99 base::HistogramSnapshotManager* snapshot_manager); |
| 92 | 100 |
| 93 private: | 101 private: |
| 94 DISALLOW_COPY_AND_ASSIGN(MetricsProvider); | 102 DISALLOW_COPY_AND_ASSIGN(MetricsProvider); |
| 95 }; | 103 }; |
| 96 | 104 |
| 97 } // namespace metrics | 105 } // namespace metrics |
| 98 | 106 |
| 99 #endif // COMPONENTS_METRICS_METRICS_PROVIDER_H_ | 107 #endif // COMPONENTS_METRICS_METRICS_PROVIDER_H_ |
| OLD | NEW |