| Index: content/browser/background_sync/background_sync_metrics.h
|
| diff --git a/content/browser/background_sync/background_sync_metrics.h b/content/browser/background_sync/background_sync_metrics.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5b74ed5e1ca203f333238770bb748c8a373bb847
|
| --- /dev/null
|
| +++ b/content/browser/background_sync/background_sync_metrics.h
|
| @@ -0,0 +1,55 @@
|
| +// Copyright 2015 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 CONTENT_BROWSER_BACKGROUND_SYNC_BACKGROUND_SYNC_METRICS_H_
|
| +#define CONTENT_BROWSER_BACKGROUND_SYNC_BACKGROUND_SYNC_METRICS_H_
|
| +
|
| +#include "base/macros.h"
|
| +#include "base/time/time.h"
|
| +#include "content/browser/background_sync/background_sync.pb.h"
|
| +#include "content/browser/background_sync/background_sync_manager.h"
|
| +
|
| +namespace content {
|
| +
|
| +// This class contains the logic for recording usage metrics for the Background
|
| +// Sync API. It is stateless, containing only static methods, so it can be used
|
| +// by any of the Background Sync code, without needing to be instantiated
|
| +// explicitly.
|
| +class BackgroundSyncMetrics {
|
| + public:
|
| + enum RegistrationCouldFire {
|
| + REGISTRATION_COULD_NOT_FIRE,
|
| + REGISTRATION_COULD_FIRE
|
| + };
|
| +
|
| + enum RegistrationIsDuplicate {
|
| + REGISTRATION_IS_NOT_DUPLICATE,
|
| + REGISTRATION_IS_DUPLICATE
|
| + };
|
| +
|
| + // Records the result of a single sync event firing.
|
| + static void RecordEventResult(SyncPeriodicity periodicity, bool result);
|
| +
|
| + // Records the time spent running a batch of sync events.
|
| + static void RecordBatchSyncEventHandlingTime(const base::TimeDelta& time);
|
| +
|
| + // Records the result of trying to register a sync. |could_fire| indicates
|
| + // whether the conditions were sufficient for the sync to fire immediately at
|
| + // the time it was registered.
|
| + static void CountRegister(SyncPeriodicity periodicity,
|
| + RegistrationCouldFire could_fire,
|
| + RegistrationIsDuplicate registration_is_duplicate,
|
| + BackgroundSyncManager::ErrorType result);
|
| +
|
| + // Records the result of trying to unregister a sync.
|
| + static void CountUnregister(SyncPeriodicity periodicity,
|
| + BackgroundSyncManager::ErrorType result);
|
| +
|
| + private:
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(BackgroundSyncMetrics);
|
| +};
|
| +
|
| +} // namespace content
|
| +
|
| +#endif // CONTENT_BROWSER_BACKGROUND_SYNC_BACKGROUND_SYNC_METRICS_H_
|
|
|