Commit 0434aa04 authored by Francois Doray's avatar Francois Doray Committed by Commit Bot

Remove obsolete histogram Tab.Visibility*

Fixed: 1089560
Change-Id: I95a1b7565c9ec244b8cbc5e4a6b11553282c2c1d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2511883Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Commit-Queue: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#823883}
parent 6bad3775
......@@ -245,7 +245,6 @@ class TabStatsTracker::WebContentsUsageObserver
TabStatsTracker* tab_stats_tracker)
: content::WebContentsObserver(web_contents),
tab_stats_tracker_(tab_stats_tracker),
visibility_(web_contents->GetVisibility()),
ukm_source_id_(ukm::GetSourceIdForWebContentsDocument(web_contents)) {}
// content::WebContentsObserver:
......@@ -277,18 +276,11 @@ class TabStatsTracker::WebContentsUsageObserver
}
void OnVisibilityChanged(content::Visibility visibility) override {
// Record Tab.Visibility.* histogram and do associated bookkeeping.
// Recording is done at every visibility state change rather than just when
// the WebContents is destroyed to reduce data loss on session end.
RecordVisibilityHistogram(visibility);
if (visibility == content::Visibility::VISIBLE)
tab_stats_tracker_->tab_stats_data_store()->OnTabVisible(web_contents());
}
void WebContentsDestroyed() override {
RecordVisibilityHistogram(visibility_);
if (ukm_source_id_) {
ukm::builders::TabManager_TabLifetime(ukm_source_id_)
.SetTimeSinceNavigation(
......@@ -303,45 +295,11 @@ class TabStatsTracker::WebContentsUsageObserver
private:
TabStatsTracker* tab_stats_tracker_;
// Current tab visibility.
content::Visibility visibility_;
// The last time at which |visibility_| changed.
base::TimeTicks last_visibility_change_time_ = base::TimeTicks::Now();
// The last navigation time associated with this tab.
base::TimeTicks navigation_time_ = base::TimeTicks::Now();
// Updated when a navigation is finished.
ukm::SourceId ukm_source_id_ = 0;
void RecordVisibilityHistogram(content::Visibility new_visibility) {
const base::TimeTicks now = base::TimeTicks::Now();
const base::TimeDelta duration = now - last_visibility_change_time_;
switch (visibility_) {
case content::Visibility::VISIBLE: {
UMA_HISTOGRAM_CUSTOM_TIMES("Tab.Visibility.Visible", duration,
base::TimeDelta::FromMilliseconds(1),
base::TimeDelta::FromDays(1), 50);
break;
}
case content::Visibility::OCCLUDED: {
UMA_HISTOGRAM_CUSTOM_TIMES("Tab.Visibility.Occluded", duration,
base::TimeDelta::FromMilliseconds(1),
base::TimeDelta::FromDays(1), 50);
break;
}
case content::Visibility::HIDDEN: {
UMA_HISTOGRAM_CUSTOM_TIMES("Tab.Visibility.Hidden", duration,
base::TimeDelta::FromMilliseconds(1),
base::TimeDelta::FromDays(1), 50);
break;
}
}
visibility_ = new_visibility;
last_visibility_change_time_ = now;
}
DISALLOW_COPY_AND_ASSIGN(WebContentsUsageObserver);
};
......
......@@ -558,6 +558,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</histogram>
<histogram name="Tab.Visibility{Visibility}" units="ms" expires_after="M85">
<obsolete>
Removed 11/2020. Not actively used now that occlusion tracking is shipped to
stable on Windows, Mac and ChromeOS.
</obsolete>
<owner>fdoray@chromium.org</owner>
<summary>
Time spent by a tab in a given visibility state. Recorded when the
......
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