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

Unified Diff: chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc

Issue 2692163003: cros: Add enterprise user session metrics (Closed)
Patch Set: fix crash on browser exit w/o login Created 3 years, 10 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: chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
index 782663d2df5a1aa759da106827ac800953d55e51..1811306000fc18dcfc0bc2486f81c1ba535a0ac9 100644
--- a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
@@ -33,6 +33,7 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
#include "chrome/browser/chromeos/login/demo_mode/demo_app_launcher.h"
+#include "chrome/browser/chromeos/login/enterprise_user_session_metrics.h"
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
#include "chrome/browser/chromeos/login/signin/auth_sync_observer.h"
#include "chrome/browser/chromeos/login/signin/auth_sync_observer_factory.h"
@@ -163,6 +164,7 @@ void ChromeUserManagerImpl::RegisterPrefs(PrefRegistrySimple* registry) {
SupervisedUserManager::RegisterPrefs(registry);
SessionLengthLimiter::RegisterPrefs(registry);
BootstrapManager::RegisterPrefs(registry);
+ enterprise_user_session_metrics::RegisterPrefs(registry);
}
// static
@@ -225,6 +227,10 @@ ChromeUserManagerImpl::ChromeUserManagerImpl()
cros_settings_, device_local_account_policy_service,
policy::key::kWallpaperImage, this);
wallpaper_policy_observer_->Init();
+
+ // Record the stored session length for enrolled device.
+ if (IsEnterpriseManaged())
+ enterprise_user_session_metrics::RecordStoredSessionLength();
}
ChromeUserManagerImpl::~ChromeUserManagerImpl() {
@@ -236,6 +242,17 @@ void ChromeUserManagerImpl::Shutdown() {
local_accounts_subscription_.reset();
+ if (session_length_limiter_ && IsEnterpriseManaged()) {
+ // Store session length before tearing down |session_length_limiter_| for
+ // enrolled devices so that it can be reported on the next run.
+ const base::TimeDelta session_length =
+ session_length_limiter_->GetSessionDuration();
+ if (!session_length.is_zero()) {
+ enterprise_user_session_metrics::StoreSessionLength(
+ GetActiveUser()->GetType(), session_length);
+ }
+ }
+
// Stop the session length limiter.
session_length_limiter_.reset();

Powered by Google App Engine
This is Rietveld 408576698