Commit c5514a38 authored by Sébastien Séguin-Gagnon's avatar Sébastien Séguin-Gagnon Committed by Commit Bot

[SH] Adds logging functions for link generation status and error reason.

Bug: 1136043
Change-Id: I8245fd9ad0a3242c191660a52f10c277b2ba9093
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2495912Reviewed-by: default avatarSebastien Lalancette <seblalancette@chromium.org>
Commit-Queue: sebsg <sebsg@chromium.org>
Auto-Submit: sebsg <sebsg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#820805}
parent cf4a126f
...@@ -21,6 +21,14 @@ TextFragmentLinkOpenSource GetLinkSource(const GURL& referrer) { ...@@ -21,6 +21,14 @@ TextFragmentLinkOpenSource GetLinkSource(const GURL& referrer) {
} // namespace } // namespace
void LogLinkGenerationErrorReason(LinkGenerationError reason) {
base::UmaHistogramEnumeration("SharedHighlights.LinkGenerated.Error", reason);
}
void LogLinkGenerationStatus(bool link_generated) {
base::UmaHistogramBoolean("SharedHighlights.LinkGenerated", link_generated);
}
void LogTextFragmentAmbiguousMatch(bool ambiguous_match) { void LogTextFragmentAmbiguousMatch(bool ambiguous_match) {
base::UmaHistogramBoolean("TextFragmentAnchor.AmbiguousMatch", base::UmaHistogramBoolean("TextFragmentAnchor.AmbiguousMatch",
ambiguous_match); ambiguous_match);
...@@ -48,17 +56,14 @@ void LogTextFragmentSelectorCount(int count) { ...@@ -48,17 +56,14 @@ void LogTextFragmentSelectorCount(int count) {
} }
void LogGenerateErrorTabHidden() { void LogGenerateErrorTabHidden() {
base::UmaHistogramEnumeration("SharedHighlights.LinkGenerated.Error", LogLinkGenerationErrorReason(LinkGenerationError::kTabHidden);
LinkGenerationError::kTabHidden);
} }
void LogGenerateErrorOmniboxNavigation() { void LogGenerateErrorOmniboxNavigation() {
base::UmaHistogramEnumeration("SharedHighlights.LinkGenerated.Error", LogLinkGenerationErrorReason(LinkGenerationError::kOmniboxNavigation);
LinkGenerationError::kOmniboxNavigation);
} }
void LogGenerateErrorTabCrash() { void LogGenerateErrorTabCrash() {
base::UmaHistogramEnumeration("SharedHighlights.LinkGenerated.Error", LogLinkGenerationErrorReason(LinkGenerationError::kTabCrash);
LinkGenerationError::kTabCrash);
} }
} // namespace shared_highlighting } // namespace shared_highlighting
...@@ -38,6 +38,12 @@ enum class TextFragmentLinkOpenSource { ...@@ -38,6 +38,12 @@ enum class TextFragmentLinkOpenSource {
kMaxValue = kSearchEngine, kMaxValue = kSearchEngine,
}; };
// Records the reason why the link generation failed.
void LogLinkGenerationErrorReason(LinkGenerationError reason);
// Records whether the link generation attempt was successful or not.
void LogLinkGenerationStatus(bool link_generated);
// Records whether an individual text fragment could not be scrolled to because // Records whether an individual text fragment could not be scrolled to because
// there was an |ambiguous_match| (generally because more than one matching // there was an |ambiguous_match| (generally because more than one matching
// passage was found). // passage was found).
......
...@@ -67,6 +67,51 @@ TEST(SharedHighlightingMetricsTest, LogTextFragmentSelectorCount) { ...@@ -67,6 +67,51 @@ TEST(SharedHighlightingMetricsTest, LogTextFragmentSelectorCount) {
histogram_tester.ExpectTotalCount("TextFragmentAnchor.SelectorCount", 2); histogram_tester.ExpectTotalCount("TextFragmentAnchor.SelectorCount", 2);
} }
TEST(SharedHighlightingMetricsTest, LogLinkGenerationStatus) {
base::HistogramTester histogram_tester;
LogLinkGenerationStatus(true);
histogram_tester.ExpectUniqueSample("SharedHighlights.LinkGenerated", true,
1);
LogLinkGenerationStatus(false);
histogram_tester.ExpectBucketCount("SharedHighlights.LinkGenerated", false,
1);
histogram_tester.ExpectTotalCount("SharedHighlights.LinkGenerated", 2);
}
TEST(SharedHighlightingMetricsTest, LogLinkGenerationErrorReason) {
base::HistogramTester histogram_tester;
LogLinkGenerationErrorReason(LinkGenerationError::kIncorrectSelector);
histogram_tester.ExpectBucketCount("SharedHighlights.LinkGenerated.Error",
LinkGenerationError::kIncorrectSelector,
1);
LogLinkGenerationErrorReason(LinkGenerationError::kEmptySelection);
histogram_tester.ExpectBucketCount("SharedHighlights.LinkGenerated.Error",
LinkGenerationError::kEmptySelection, 1);
histogram_tester.ExpectTotalCount("SharedHighlights.LinkGenerated.Error", 2);
}
TEST(SharedHighlightingMetricsTest, LogAndroidLinkGenerationErrorReason) {
base::HistogramTester histogram_tester;
LogGenerateErrorTabHidden();
histogram_tester.ExpectBucketCount("SharedHighlights.LinkGenerated.Error",
LinkGenerationError::kTabHidden, 1);
LogGenerateErrorOmniboxNavigation();
histogram_tester.ExpectBucketCount("SharedHighlights.LinkGenerated.Error",
LinkGenerationError::kOmniboxNavigation,
1);
LogGenerateErrorTabCrash();
histogram_tester.ExpectBucketCount("SharedHighlights.LinkGenerated.Error",
LinkGenerationError::kTabCrash, 1);
histogram_tester.ExpectTotalCount("SharedHighlights.LinkGenerated.Error", 3);
}
} // namespace } // namespace
} // namespace shared_highlighting } // namespace shared_highlighting
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment