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[] = {
{"ipc", "SyncChannel::Send", nullptr},
{"latencyInfo", "*", kInputLatencyAllowedArgs},
{"shutdown", "*", nullptr},
{"startup", "PrefProvider::PrefProvider", nullptr},
{"task_scheduler", "*", nullptr},
{"toplevel", "*", nullptr},
{TRACE_DISABLED_BY_DEFAULT("cpu_profiler"), "*", nullptr},
......
......@@ -15,6 +15,7 @@
#include "base/bind.h"
#include "base/metrics/histogram_macros.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_pref.h"
#include "components/content_settings/core/browser/content_settings_registry.h"
......@@ -93,6 +94,7 @@ PrefProvider::PrefProvider(PrefService* prefs,
is_incognito_(incognito),
store_last_modified_(store_last_modified),
clock_(base::DefaultClock::GetInstance()) {
TRACE_EVENT_BEGIN0("startup", "PrefProvider::PrefProvider");
DCHECK(prefs_);
// Verify preferences version.
if (!prefs_->HasPrefPath(prefs::kContentSettingsVersion)) {
......@@ -101,6 +103,7 @@ PrefProvider::PrefProvider(PrefService* prefs,
}
if (prefs_->GetInteger(prefs::kContentSettingsVersion) >
ContentSettingsPattern::kContentSettingsPatternVersion) {
TRACE_EVENT_END0("startup", "PrefProvider::PrefProvider");
return;
}
......@@ -135,14 +138,17 @@ PrefProvider::PrefProvider(PrefService* prefs,
}
}
size_t num_exceptions = 0;
if (!is_incognito_) {
size_t num_exceptions = 0;
for (const auto& pref : content_settings_prefs_)
num_exceptions += pref.second->GetNumExceptions();
UMA_HISTOGRAM_COUNTS_1M("ContentSettings.NumberOfExceptions",
num_exceptions);
}
TRACE_EVENT_END1("startup", "PrefProvider::PrefProvider",
"NumberOfExceptions", num_exceptions);
}
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