Commit 5bbf1ecc authored by Balazs Engedy's avatar Balazs Engedy Committed by Commit Bot

Trace the content_settings::PrefProvider constructor.

Add a TRACE_EVENT to track how long it takes to initialize
content_settings::PrefProvider, and record the number of exceptions parsed.

Bug: 890129
Change-Id: Ic70783bc9c69f4ce0fdb84e5406701b59bbcbd10
Reviewed-on: https://chromium-review.googlesource.com/c/1326150Reviewed-by: default avataroysteine <oysteine@chromium.org>
Reviewed-by: default avatarMartin Šrámek <msramek@chromium.org>
Reviewed-by: default avatarssid <ssid@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606976}
parent 0669d9a0
...@@ -36,6 +36,7 @@ const WhitelistEntry kEventArgsWhitelist[] = { ...@@ -36,6 +36,7 @@ const WhitelistEntry kEventArgsWhitelist[] = {
{"ipc", "SyncChannel::Send", nullptr}, {"ipc", "SyncChannel::Send", nullptr},
{"latencyInfo", "*", kInputLatencyAllowedArgs}, {"latencyInfo", "*", kInputLatencyAllowedArgs},
{"shutdown", "*", nullptr}, {"shutdown", "*", nullptr},
{"startup", "PrefProvider::PrefProvider", nullptr},
{"task_scheduler", "*", nullptr}, {"task_scheduler", "*", nullptr},
{"toplevel", "*", nullptr}, {"toplevel", "*", nullptr},
{TRACE_DISABLED_BY_DEFAULT("cpu_profiler"), "*", nullptr}, {TRACE_DISABLED_BY_DEFAULT("cpu_profiler"), "*", nullptr},
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/time/default_clock.h" #include "base/time/default_clock.h"
#include "base/trace_event/trace_event.h"
#include "components/content_settings/core/browser/content_settings_info.h" #include "components/content_settings/core/browser/content_settings_info.h"
#include "components/content_settings/core/browser/content_settings_pref.h" #include "components/content_settings/core/browser/content_settings_pref.h"
#include "components/content_settings/core/browser/content_settings_registry.h" #include "components/content_settings/core/browser/content_settings_registry.h"
...@@ -93,6 +94,7 @@ PrefProvider::PrefProvider(PrefService* prefs, ...@@ -93,6 +94,7 @@ PrefProvider::PrefProvider(PrefService* prefs,
is_incognito_(incognito), is_incognito_(incognito),
store_last_modified_(store_last_modified), store_last_modified_(store_last_modified),
clock_(base::DefaultClock::GetInstance()) { clock_(base::DefaultClock::GetInstance()) {
TRACE_EVENT_BEGIN0("startup", "PrefProvider::PrefProvider");
DCHECK(prefs_); DCHECK(prefs_);
// Verify preferences version. // Verify preferences version.
if (!prefs_->HasPrefPath(prefs::kContentSettingsVersion)) { if (!prefs_->HasPrefPath(prefs::kContentSettingsVersion)) {
...@@ -101,6 +103,7 @@ PrefProvider::PrefProvider(PrefService* prefs, ...@@ -101,6 +103,7 @@ PrefProvider::PrefProvider(PrefService* prefs,
} }
if (prefs_->GetInteger(prefs::kContentSettingsVersion) > if (prefs_->GetInteger(prefs::kContentSettingsVersion) >
ContentSettingsPattern::kContentSettingsPatternVersion) { ContentSettingsPattern::kContentSettingsPatternVersion) {
TRACE_EVENT_END0("startup", "PrefProvider::PrefProvider");
return; return;
} }
...@@ -135,14 +138,17 @@ PrefProvider::PrefProvider(PrefService* prefs, ...@@ -135,14 +138,17 @@ PrefProvider::PrefProvider(PrefService* prefs,
} }
} }
size_t num_exceptions = 0;
if (!is_incognito_) { if (!is_incognito_) {
size_t num_exceptions = 0;
for (const auto& pref : content_settings_prefs_) for (const auto& pref : content_settings_prefs_)
num_exceptions += pref.second->GetNumExceptions(); num_exceptions += pref.second->GetNumExceptions();
UMA_HISTOGRAM_COUNTS_1M("ContentSettings.NumberOfExceptions", UMA_HISTOGRAM_COUNTS_1M("ContentSettings.NumberOfExceptions",
num_exceptions); num_exceptions);
} }
TRACE_EVENT_END1("startup", "PrefProvider::PrefProvider",
"NumberOfExceptions", num_exceptions);
} }
PrefProvider::~PrefProvider() { PrefProvider::~PrefProvider() {
......
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