Commit 925b9d8e authored by Scott Violet's avatar Scott Violet Committed by Commit Bot

weblayer: wires up ContentStabilityMetricsProvider

This gives the core stability metrics.

BUG=1120537
TEST=covered by weblayer_browsertests

Change-Id: I22e99959dacb9b9593af02cea70088d449e604a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2376565Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#801836}
parent 8a43db15
...@@ -386,6 +386,7 @@ source_set("weblayer_lib_base") { ...@@ -386,6 +386,7 @@ source_set("weblayer_lib_base") {
"//components/keyed_service/content", "//components/keyed_service/content",
"//components/language/core/browser", "//components/language/core/browser",
"//components/metrics", "//components/metrics",
"//components/metrics:content",
"//components/network_time", "//components/network_time",
"//components/omnibox/browser:location_bar", "//components/omnibox/browser:location_bar",
"//components/page_info", "//components/page_info",
......
...@@ -145,6 +145,28 @@ IN_PROC_BROWSER_TEST_F(MetricsBrowserTest, PageLoadsEnableMultipleUploads) { ...@@ -145,6 +145,28 @@ IN_PROC_BROWSER_TEST_F(MetricsBrowserTest, PageLoadsEnableMultipleUploads) {
// might potentially have a third metrics log in the queue. // might potentially have a third metrics log in the queue.
} }
IN_PROC_BROWSER_TEST_F(MetricsBrowserTest, NavigationIncrementsPageLoadCount) {
ASSERT_TRUE(embedded_test_server()->Start());
metrics::ChromeUserMetricsExtension log = WaitForNextMetricsLog();
// The initial log should not have a page load count (because nothing was
// loaded).
{
const metrics::SystemProfileProto& system_profile = log.system_profile();
ASSERT_TRUE(system_profile.has_stability());
EXPECT_EQ(0, system_profile.stability().page_load_count());
}
// Loading a page should increment the page load count.
NavigateAndWaitForCompletion(
embedded_test_server()->GetURL("/simple_page.html"), shell());
log = WaitForNextMetricsLog();
{
const metrics::SystemProfileProto& system_profile = log.system_profile();
ASSERT_TRUE(system_profile.has_stability());
EXPECT_EQ(1, system_profile.stability().page_load_count());
}
}
IN_PROC_BROWSER_TEST_F(MetricsBrowserTest, RendererHistograms) { IN_PROC_BROWSER_TEST_F(MetricsBrowserTest, RendererHistograms) {
base::HistogramTester histogram_tester; base::HistogramTester histogram_tester;
ASSERT_TRUE(embedded_test_server()->Start()); ASSERT_TRUE(embedded_test_server()->Start());
......
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
#include "base/base64.h" #include "base/base64.h"
#include "base/no_destructor.h" #include "base/no_destructor.h"
#include "components/metrics/content/content_stability_metrics_provider.h"
#include "components/metrics/content/extensions_helper.h"
#include "components/metrics/metrics_provider.h" #include "components/metrics/metrics_provider.h"
#include "components/metrics/metrics_service.h" #include "components/metrics/metrics_service.h"
#include "components/page_load_metrics/browser/metrics_web_contents_observer.h" #include "components/page_load_metrics/browser/metrics_web_contents_observer.h"
...@@ -150,6 +152,9 @@ int WebLayerMetricsServiceClient::GetPackageNameLimitRatePerMille() { ...@@ -150,6 +152,9 @@ int WebLayerMetricsServiceClient::GetPackageNameLimitRatePerMille() {
void WebLayerMetricsServiceClient::RegisterAdditionalMetricsProviders( void WebLayerMetricsServiceClient::RegisterAdditionalMetricsProviders(
metrics::MetricsService* service) { metrics::MetricsService* service) {
service->RegisterMetricsProvider(
std::make_unique<metrics::ContentStabilityMetricsProvider>(pref_service(),
nullptr));
service->RegisterMetricsProvider(std::make_unique<PageLoadMetricsProvider>()); service->RegisterMetricsProvider(std::make_unique<PageLoadMetricsProvider>());
} }
......
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