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 ...@@ -245,7 +245,6 @@ class TabStatsTracker::WebContentsUsageObserver
TabStatsTracker* tab_stats_tracker) TabStatsTracker* tab_stats_tracker)
: content::WebContentsObserver(web_contents), : content::WebContentsObserver(web_contents),
tab_stats_tracker_(tab_stats_tracker), tab_stats_tracker_(tab_stats_tracker),
visibility_(web_contents->GetVisibility()),
ukm_source_id_(ukm::GetSourceIdForWebContentsDocument(web_contents)) {} ukm_source_id_(ukm::GetSourceIdForWebContentsDocument(web_contents)) {}
// content::WebContentsObserver: // content::WebContentsObserver:
...@@ -277,18 +276,11 @@ class TabStatsTracker::WebContentsUsageObserver ...@@ -277,18 +276,11 @@ class TabStatsTracker::WebContentsUsageObserver
} }
void OnVisibilityChanged(content::Visibility visibility) override { 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) if (visibility == content::Visibility::VISIBLE)
tab_stats_tracker_->tab_stats_data_store()->OnTabVisible(web_contents()); tab_stats_tracker_->tab_stats_data_store()->OnTabVisible(web_contents());
} }
void WebContentsDestroyed() override { void WebContentsDestroyed() override {
RecordVisibilityHistogram(visibility_);
if (ukm_source_id_) { if (ukm_source_id_) {
ukm::builders::TabManager_TabLifetime(ukm_source_id_) ukm::builders::TabManager_TabLifetime(ukm_source_id_)
.SetTimeSinceNavigation( .SetTimeSinceNavigation(
...@@ -303,45 +295,11 @@ class TabStatsTracker::WebContentsUsageObserver ...@@ -303,45 +295,11 @@ class TabStatsTracker::WebContentsUsageObserver
private: private:
TabStatsTracker* tab_stats_tracker_; 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. // The last navigation time associated with this tab.
base::TimeTicks navigation_time_ = base::TimeTicks::Now(); base::TimeTicks navigation_time_ = base::TimeTicks::Now();
// Updated when a navigation is finished. // Updated when a navigation is finished.
ukm::SourceId ukm_source_id_ = 0; 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); DISALLOW_COPY_AND_ASSIGN(WebContentsUsageObserver);
}; };
......
...@@ -558,6 +558,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. ...@@ -558,6 +558,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</histogram> </histogram>
<histogram name="Tab.Visibility{Visibility}" units="ms" expires_after="M85"> <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> <owner>fdoray@chromium.org</owner>
<summary> <summary>
Time spent by a tab in a given visibility state. Recorded when the 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