Akosiaris has submitted this change and it was merged.

Change subject: NavigationTiming: aggregate data by bits cache host; add 
'totalPageLoadTime'
......................................................................


NavigationTiming: aggregate data by bits cache host; add 'totalPageLoadTime'

* Aggregate metric data by bits host.
* Adds a 'totalPageLoadTime' metric to the navtiming script and Ganglia view.
  It represents the time from navigationStart to loadEventEnd, or pretty much
  the whole page load. It is not a very actionable metric precisely because it
  is so broad, but it is useful as a gauge of how users are actually
  experiencing the site and where we stand relative to other prominent web
  properties.

Change-Id: I6fbd052b2ae996712fe2b545cdbba1fa01d04288
---
M files/graphite/modules/navtiming.py
M manifests/misc/monitoring.pp
2 files changed, 14 insertions(+), 1 deletion(-)

Approvals:
  Akosiaris: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/files/graphite/modules/navtiming.py 
b/files/graphite/modules/navtiming.py
index e47d0ec..255519e 100644
--- a/files/graphite/modules/navtiming.py
+++ b/files/graphite/modules/navtiming.py
@@ -13,7 +13,8 @@
 
 schema_revs = (5336845, 5832704)
 metrics = ('connecting', 'sending', 'waiting', 'redirecting', 'receiving',
-           'rendering', 'loading', 'dnsLookup', 'pageSpeed')
+           'rendering', 'loading', 'dnsLookup', 'pageSpeed',
+           'totalPageLoadTime')
 
 
 ap = argparse.ArgumentParser(description='NavigationTiming Graphite module')
@@ -57,9 +58,14 @@
         if 'loadEventEnd' in event and 'domInteractive' in event:
             event['pageSpeed'] = (
                 event['loadEventEnd'] - event['domInteractive'])
+        if 'loadEventEnd' in event and 'navigationStart' in event:
+            event['totalPageLoadTime'] = (
+                event['loadEventEnd'] - event['navigationStart'])
 
     site = 'mobile' if 'mobileMode' in event else 'desktop'
     auth = 'anonymous' if event.get('isAnon') else 'authenticated'
+
+    bits_cache = meta.get('recvFrom', '').split('.')[0]
 
     for metric in metrics:
         value = event.get(metric, 0)
@@ -68,3 +74,5 @@
             sock.sendto(stat.encode('utf-8'), addr)
             stat = 'browser.%s.%s.%s:%s|ms' % (metric, site, auth, value)
             sock.sendto(stat.encode('utf-8'), addr)
+            stat = 'browser.%s.%s:%s|ms' % (metric, bits_cache, value)
+            sock.sendto(stat.encode('utf-8'), addr)
diff --git a/manifests/misc/monitoring.pp b/manifests/misc/monitoring.pp
index 5e2938d..817e787 100644
--- a/manifests/misc/monitoring.pp
+++ b/manifests/misc/monitoring.pp
@@ -302,6 +302,11 @@
                                host_regex   => 'client-side',
                                metric_regex => 
'^browser.redirecting.(desktop|mobile)_median$',
                        },
+                       {
+                               title        => 'TotalPageLoadTime: 
navigationStart to loadEventEnd',
+                               host_regex   => 'client-side',
+                               metric_regex => 
'^browser.totalPageLoadTime.(desktop|mobile)_median$',
+                       },
                ],
        }
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I6fbd052b2ae996712fe2b545cdbba1fa01d04288
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ori.livneh <o...@wikimedia.org>
Gerrit-Reviewer: Akosiaris <akosia...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot

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

Reply via email to