Skip to content

Instantly share code, notes, and snippets.

@jwalsh
Created July 6, 2012 18:14
Show Gist options
  • Save jwalsh/3061757 to your computer and use it in GitHub Desktop.
Save jwalsh/3061757 to your computer and use it in GitHub Desktop.
function getNavTiming(name) {
if (!window.performance || !window.performance.timing) return 'unsupported';
var t = window.performance.timing;
var startName = name + 'Start', endName = name + 'End';
if (name.indexOf('dom') == 0 && name.indexOf('domain') == -1) {
startName = 'responseStart'; endName = name;
}
switch (name) {
case 'load': startName = 'responseStart'; endName = 'loadEventEnd'; break;
case 'connect':
if (t.secureConnectionStart > 0) endName = 'secureConnectionStart';
break;
case 'secureConnection': endName = 'connectEnd'; break;
case 'request': endName = 'responseStart'; break;
}
if (!(startName in t) || !(endName in t)) return 'invalid';
if (t[startName] == 0 || t[endName] == 0) return 'n/a';
var delta = t[endName] - t[startName], total = t[endName] - t.navigationStart;
return delta + 'ms. Total: ' + total + 'ms';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment