| Index: chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java b/chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java
|
| index de516acf3aab4a3b021c855e683de95e3c997dc4..898f61aaafed5e74ce012f6c8f381defd98543f9 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java
|
| @@ -76,6 +76,9 @@ public class PrecacheController {
|
| static final Set<Integer> SYNC_SERVICE_CONFIGURED_DATATYPES =
|
| Collections.unmodifiableSet(new HashSet<Integer>(Arrays.asList(ModelType.SESSIONS)));
|
|
|
| + private static final String PREF_PRECACHE_PERIODIC_TASK_START_TIME_MS =
|
| + "precache.periodic_task_start_time_ms";
|
| +
|
| /**
|
| * Singleton instance of the PrecacheController. PrecacheController is a
|
| * singleton so that there is a single handle by which to determine if
|
| @@ -355,6 +358,7 @@ public class PrecacheController {
|
| }
|
| if (setIsPrecaching(true)) {
|
| if (PERIODIC_TASK_TAG.equals(tag)) {
|
| + recordPeriodicTaskIntervalHistogram();
|
| cancelPrecacheCompletionTask(mAppContext);
|
| }
|
| startPrecachingAfterSyncInit();
|
| @@ -504,4 +508,19 @@ public class PrecacheController {
|
| static void setTaskScheduler(PrecacheTaskScheduler taskScheduler) {
|
| PrecacheController.sTaskScheduler = taskScheduler;
|
| }
|
| +
|
| + private static void recordPeriodicTaskIntervalHistogram() {
|
| + SharedPreferences prefs = ContextUtils.getAppSharedPreferences();
|
| + long previous_start_time_ms = prefs.getLong(PREF_PRECACHE_PERIODIC_TASK_START_TIME_MS, 0);
|
| + long current_start_time_ms = System.currentTimeMillis();
|
| + if (previous_start_time_ms > 0 && current_start_time_ms > previous_start_time_ms) {
|
| + int interval_mins =
|
| + (int) ((current_start_time_ms - previous_start_time_ms) / (1000 * 60));
|
| + RecordHistogram.recordCustomCountHistogram(
|
| + "Precache.PeriodicTaskInterval", interval_mins, 1, 10000, 50);
|
| + }
|
| + prefs.edit()
|
| + .putLong(PREF_PRECACHE_PERIODIC_TASK_START_TIME_MS, current_start_time_ms)
|
| + .apply();
|
| + }
|
| }
|
|
|