Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2585)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java

Issue 2769713002: Android - UMA for notification click latency via NotificationJobService
Patch Set: Nits Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
index 5bc1221c9ca81374c76449e1818badff75a434e6..e22d92d52e6fd0c20c6f4c51c138ee0efa0b5fb6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
@@ -43,6 +43,7 @@ import org.chromium.webapk.lib.client.WebApkValidator;
import java.net.URI;
import java.net.URISyntaxException;
+import java.util.concurrent.TimeUnit;
import javax.annotation.Nullable;
@@ -175,6 +176,7 @@ public class NotificationPlatformBridge {
return false;
}
}
+ recordJobStartDelayUMA(intent);
String notificationId = intent.getStringExtra(NotificationConstants.EXTRA_NOTIFICATION_ID);
@@ -214,6 +216,17 @@ public class NotificationPlatformBridge {
return false;
}
+ private static void recordJobStartDelayUMA(Intent intent) {
+ if (intent.hasExtra(NotificationConstants.EXTRA_JOB_SCHEDULED_TIME_MS)
+ && intent.hasExtra(NotificationConstants.EXTRA_JOB_STARTED_TIME_MS)) {
+ long duration = intent.getLongExtra(NotificationConstants.EXTRA_JOB_STARTED_TIME_MS, -1)
+ - intent.getLongExtra(NotificationConstants.EXTRA_JOB_SCHEDULED_TIME_MS, -1);
+ if (duration < 0) return; // Possible if device rebooted before job started.
+ RecordHistogram.recordMediumTimesHistogram(
+ "Notifications.Android.JobStartDelay", duration, TimeUnit.MILLISECONDS);
+ }
+ }
+
@Nullable
static String getNotificationReply(Intent intent) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {

Powered by Google App Engine
This is Rietveld 408576698