diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java index 4296f0a5f29f9350c598fb539ade67fc20bc4c77..6f303f9bb023bcae10cb9a4eb9a3a10b941327d5 100644 --- a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java +++ b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java @@ -93,12 +93,20 @@ public class PdfCoordinator { @Override public void onLoadDocumentSuccess() { mIsLoadDocumentSuccess = true; - PdfUtils.recordPdfLoadTime(SystemClock.elapsedRealtime() - mDocumentLoadStartTimestamp); + long duration = SystemClock.elapsedRealtime() - mDocumentLoadStartTimestamp; + if (mDocumentLoadStartTimestamp > 0) { + PdfUtils.recordPdfLoadTimePaired(duration); + PdfUtils.recordPdfLoadResultPaired(true); + } + PdfUtils.recordPdfLoadTime(duration); PdfUtils.recordPdfLoadResult(true); } @Override public void onLoadDocumentError(@NonNull Throwable throwable) { + if (mDocumentLoadStartTimestamp > 0) { + PdfUtils.recordPdfLoadResultPaired(false); + } PdfUtils.recordPdfLoadResult(false); } } diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfUtils.java b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfUtils.java index 4ec91f2c8f07665628f367b22ccdd98da6b3d318..55b6af60e51f2580480085c87fbb214f8a05763b 100644 --- a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfUtils.java +++ b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfUtils.java @@ -294,10 +294,19 @@ public class PdfUtils { RecordHistogram.recordBooleanHistogram("Android.Pdf.DocumentLoadResult", isLoadSuccess); } + static void recordPdfLoadResultPaired(boolean isLoadSuccess) { + RecordHistogram.recordBooleanHistogram( + "Android.Pdf.DocumentLoadResult.Paired", isLoadSuccess); + } + static void recordPdfLoadTime(long duration) { RecordHistogram.recordTimesHistogram("Android.Pdf.DocumentLoadTime", duration); } + static void recordPdfLoadTimePaired(long duration) { + RecordHistogram.recordTimesHistogram("Android.Pdf.DocumentLoadTime.Paired", duration); + } + static void recordFindInPage(int findInPageCounts) { RecordHistogram.recordExactLinearHistogram( "Android.Pdf.FindInPageCounts", findInPageCounts, /* max= */ 9); diff --git a/tools/metrics/histograms/metadata/android/histograms.xml b/tools/metrics/histograms/metadata/android/histograms.xml index 51910a364f6959905894dd049d57e770232077f4..9bfe427fcde650b8f21dfd0089cf84653b8f208c 100644 --- a/tools/metrics/histograms/metadata/android/histograms.xml +++ b/tools/metrics/histograms/metadata/android/histograms.xml @@ -3642,7 +3642,20 @@ chromium-metrics-reviews@google.com. <owner>clank-large-form-factors@google.com</owner> <summary> Records the pdf document load results. True means success and false means - failure. Recorded when the pdf load is complete. + failure. Recorded when the pdf load is complete. May be recorded when there + is no paired Android.Pdf.DocumentLoad, e.g. the pdf document is restored by + OS. + </summary> +</histogram> + +<histogram name="Android.Pdf.DocumentLoadResult.Paired" enum="Boolean" + expires_after="2025-03-02"> + <owner>shuyng@google.com</owner> + <owner>clank-large-form-factors@google.com</owner> + <summary> + Records the pdf document load results. True means success and false means + failure. Recorded when the pdf load is complete. Only record when there is a + paired Android.Pdf.DocumentLoad. </summary> </histogram> @@ -3652,7 +3665,19 @@ chromium-metrics-reviews@google.com. <owner>clank-large-form-factors@google.com</owner> <summary> Records the pdf document load time. Recorded when the pdf load is complete. - Records successful pdf loads only. + Records successful pdf loads only. May be recorded when there is no paired + Android.Pdf.DocumentLoad, e.g. the pdf document is restored by OS. + </summary> +</histogram> + +<histogram name="Android.Pdf.DocumentLoadTime.Paired" units="ms" + expires_after="2025-03-02"> + <owner>shuyng@google.com</owner> + <owner>clank-large-form-factors@google.com</owner> + <summary> + Records the pdf document load time. Recorded when the pdf load is complete. + Records successful pdf loads only. Only record when there is a paired + Android.Pdf.DocumentLoad. </summary> </histogram>