Commit 0bddcf50 authored by Christian Dullweber's avatar Christian Dullweber Committed by Commit Bot

Record histogram for Clear Browsing Data deletion duration

Record how much time it takes to perform full and partial deletions.

Change-Id: I7494e96c8aaf96434389df19c85a3b40c3cdd0a4
Reviewed-on: https://chromium-review.googlesource.com/1154969Reviewed-by: default avatarSteven Holte <holte@chromium.org>
Reviewed-by: default avatarMartin Šrámek <msramek@chromium.org>
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580146}
parent 1c3b10d1
......@@ -227,7 +227,8 @@ void BrowsingDataRemoverImpl::RemoveInternal(
void BrowsingDataRemoverImpl::RunNextTask() {
DCHECK(!task_queue_.empty());
const RemovalTask& removal_task = task_queue_.front();
RemovalTask& removal_task = task_queue_.front();
removal_task.task_started = base::Time::Now();
RemoveImpl(removal_task.delete_begin, removal_task.delete_end,
removal_task.remove_mask, *removal_task.filter_builder,
......@@ -550,9 +551,22 @@ void BrowsingDataRemoverImpl::Notify() {
// itself in the meantime.
DCHECK(!task_queue_.empty());
if (task_queue_.front().observer != nullptr &&
observer_list_.HasObserver(task_queue_.front().observer)) {
task_queue_.front().observer->OnBrowsingDataRemoverDone();
const RemovalTask& task = task_queue_.front();
if (task.observer != nullptr && observer_list_.HasObserver(task.observer)) {
task.observer->OnBrowsingDataRemoverDone();
}
if (task.filter_builder->GetMode() == BrowsingDataFilterBuilder::BLACKLIST) {
base::TimeDelta delta = base::Time::Now() - task.task_started;
// Full and partial deletions are often implemented differently, so
// we track them in seperate metrics.
if (task.delete_begin.is_null() && task.delete_end.is_max() &&
task.filter_builder->IsEmptyBlacklist()) {
UMA_HISTOGRAM_MEDIUM_TIMES(
"History.ClearBrowsingData.Duration.FullDeletion", delta);
} else {
UMA_HISTOGRAM_MEDIUM_TIMES(
"History.ClearBrowsingData.Duration.PartialDeletion", delta);
}
}
task_queue_.pop();
......
......@@ -116,6 +116,7 @@ class CONTENT_EXPORT BrowsingDataRemoverImpl
int origin_type_mask;
std::unique_ptr<BrowsingDataFilterBuilder> filter_builder;
Observer* observer;
base::Time task_started;
};
// Setter for |is_removing_|; DCHECKs that we can only start removing if we're
......
......@@ -33969,6 +33969,24 @@ uploading your change for review.
</summary>
</histogram>
<histogram name="History.ClearBrowsingData.Duration.FullDeletion" units="ms">
<owner>dullweber@chromium.org</owner>
<owner>msramek@chromium.org</owner>
<summary>
The time that passed while performing a full browsing data deletion.
</summary>
</histogram>
<histogram name="History.ClearBrowsingData.Duration.PartialDeletion" units="ms">
<owner>dullweber@chromium.org</owner>
<owner>msramek@chromium.org</owner>
<summary>
The time that passed while performing a browsing data deletion for a
restricted amount of time (e.g. &quot;Last hour&quot;) or with an origin
filter.
</summary>
</histogram>
<histogram
name="History.ClearBrowsingData.HistoryNoticeShownInFooterWhenUpdated"
enum="BooleanShown">
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