MaxSem has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/368310 )

Change subject: Record user login timing
......................................................................

Record user login timing

Due to differences in logic between UI and API logins ( the latter
supports bot passwords, for example), record these separately.

Bug: T171882
Change-Id: I984c9223a4481685a7bcb659a68002c8ec4d122a
---
M includes/api/ApiLogin.php
M includes/specialpage/LoginSignupSpecialPage.php
2 files changed, 20 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/10/368310/1

diff --git a/includes/api/ApiLogin.php b/includes/api/ApiLogin.php
index aa7e25e..db937d4 100644
--- a/includes/api/ApiLogin.php
+++ b/includes/api/ApiLogin.php
@@ -29,6 +29,8 @@
 use MediaWiki\Auth\AuthenticationRequest;
 use MediaWiki\Auth\AuthenticationResponse;
 use MediaWiki\Logger\LoggerFactory;
+use MediaWiki\MediaWikiServices;
+use Wikimedia\ScopedCallback;
 
 /**
  * Unit to authenticate log-in attempts to the current wiki.
@@ -93,6 +95,14 @@
 
                $result = [];
 
+               $timing = $this->getTiming();
+               $timing->mark( 'login.api' );
+               $profilingScope = new ScopedCallback( function() use ( $timing 
) {
+                       $time = $timing->measure( 'login.api' );
+                       $statsd = 
MediaWikiServices::getInstance()->getStatsdDataFactory();
+                       $statsd->timing( 'timing.login.api', $time['duration'] 
* 1000 );
+               } );
+
                // Make sure session is persisted
                $session = MediaWiki\Session\SessionManager::getGlobalSession();
                $session->persist();
diff --git a/includes/specialpage/LoginSignupSpecialPage.php 
b/includes/specialpage/LoginSignupSpecialPage.php
index 0600642..4208288 100644
--- a/includes/specialpage/LoginSignupSpecialPage.php
+++ b/includes/specialpage/LoginSignupSpecialPage.php
@@ -26,7 +26,9 @@
 use MediaWiki\Auth\AuthManager;
 use MediaWiki\Auth\Throttler;
 use MediaWiki\Logger\LoggerFactory;
+use MediaWiki\MediaWikiServices;
 use MediaWiki\Session\SessionManager;
+use Wikimedia\ScopedCallback;
 
 /**
  * Holds shared logic for login and account creation pages.
@@ -212,6 +214,14 @@
         * @param string|null $subPage
         */
        public function execute( $subPage ) {
+               $timing = $this->getContext()->getTiming();
+               $timing->mark( 'login.ui' );
+               $profilingScope = new ScopedCallback( function() use ( $timing 
) {
+                       $time = $timing->measure( 'login.ui' );
+                       $statsd = 
MediaWikiServices::getInstance()->getStatsdDataFactory();
+                       $statsd->timing( 'timing.login.ui', $time['duration'] * 
1000 );
+               } );
+
                $authManager = AuthManager::singleton();
                $session = SessionManager::getGlobalSession();
 

-- 
To view, visit https://gerrit.wikimedia.org/r/368310
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I984c9223a4481685a7bcb659a68002c8ec4d122a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: MaxSem <maxsem.w...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to