Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1612)

Unified Diff: ash/wm/overview/window_selector.cc

Issue 320303002: Added UMA stats to overview mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed Terry's nits Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/wm/overview/window_selector.cc
diff --git a/ash/wm/overview/window_selector.cc b/ash/wm/overview/window_selector.cc
index a8aaab4cd57f36a69a3baaf395bb39016ccbcee3..f7f608750b78ce7be616dc9be42ace9d6f18e1b7 100644
--- a/ash/wm/overview/window_selector.cc
+++ b/ash/wm/overview/window_selector.cc
@@ -95,8 +95,11 @@ WindowSelector::WindowSelector(const WindowList& windows,
restore_focus_window_(aura::client::GetFocusClient(
Shell::GetPrimaryRootWindow())->GetFocusedWindow()),
ignore_activations_(false),
+ selected_grid_index_(0),
overview_start_time_(base::Time::Now()),
- selected_grid_index_(0) {
+ num_key_presses_(0),
+ num_items_(0),
+ num_closed_items_(0) {
DCHECK(delegate_);
Shell* shell = Shell::GetInstance();
shell->OnOverviewModeStarting();
@@ -105,7 +108,6 @@ WindowSelector::WindowSelector(const WindowList& windows,
restore_focus_window_->AddObserver(this);
const aura::Window::Windows root_windows = Shell::GetAllRootWindows();
- size_t items = 0;
for (aura::Window::Windows::const_iterator iter = root_windows.begin();
iter != root_windows.end(); iter++) {
// Observed switchable containers for newly created windows on all root
@@ -119,12 +121,12 @@ WindowSelector::WindowSelector(const WindowList& windows,
scoped_ptr<WindowGrid> grid(new WindowGrid(*iter, windows, this));
if (grid->empty())
continue;
+ num_items_ += grid->size();
grid_list_.push_back(grid.release());
- items += grid_list_.size();
}
DCHECK(!grid_list_.empty());
- UMA_HISTOGRAM_COUNTS_100("Ash.WindowSelector.Items", items);
+ UMA_HISTOGRAM_COUNTS_100("Ash.WindowSelector.Items", num_items_);
shell->activation_client()->AddObserver(this);
@@ -169,9 +171,10 @@ WindowSelector::~WindowSelector() {
shell->RemovePreTargetHandler(this);
shell->GetScreen()->RemoveObserver(this);
- UMA_HISTOGRAM_MEDIUM_TIMES(
- "Ash.WindowSelector.TimeInOverview",
- base::Time::Now() - overview_start_time_);
+ UMA_HISTOGRAM_MEDIUM_TIMES("Ash.WindowSelector.TimeInOverview",
+ base::Time::Now() - overview_start_time_);
+ UMA_HISTOGRAM_COUNTS_100("Ash.WindowSelector.OverviewClosedItems",
+ num_closed_items_);
flackr 2014/06/10 15:39:41 This metric seems like it is the same as num_items
Nina 2014/06/10 16:10:14 Right, I'll update the code to reflect this.
// TODO(nsatragno): Change this to OnOverviewModeEnded and move it to when
// everything is done.
@@ -206,21 +209,32 @@ void WindowSelector::OnKeyEvent(ui::KeyEvent* event) {
CancelSelection();
break;
case ui::VKEY_UP:
+ num_key_presses_++;
Move(WindowSelector::UP);
break;
case ui::VKEY_DOWN:
+ num_key_presses_++;
Move(WindowSelector::DOWN);
break;
case ui::VKEY_RIGHT:
+ num_key_presses_++;
Move(WindowSelector::RIGHT);
break;
case ui::VKEY_LEFT:
+ num_key_presses_++;
Move(WindowSelector::LEFT);
break;
case ui::VKEY_RETURN:
// Ignore if no item is selected.
if (!grid_list_[selected_grid_index_]->is_selecting())
return;
+ UMA_HISTOGRAM_COUNTS_100("Ash.WindowSelector.ArrowKeyPresses",
+ num_key_presses_);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Ash.WindowSelector.KeyPressesOverItemsRatio",
+ (num_key_presses_ * 100) / num_items_, 1, 300, 30);
+ Shell::GetInstance()->metrics()->RecordUserMetricsAction(
+ UMA_WINDOW_OVERVIEW_ENTER_KEY);
wm::GetWindowState(grid_list_[selected_grid_index_]->
SelectedWindow()->SelectionWindow())->Activate();
break;

Powered by Google App Engine
This is Rietveld 408576698