(function (factory) { if (typeof define === 'function' && define.amd) { define(['jquery'], factory); } else { factory(jQuery); } }(function ($) { // Browser timing remains hidden unless we can successfully access the performance object var perf = window.performance || window.msPerformance || window.webkitPerformance || window.mozPerformance; if (!perf) return; var rowCount = 0, timingOffset = perf.timing.navigationStart, timingEnd = perf.timing.loadEventEnd, totalTime = timingEnd - timingOffset; function getLeft(stat) { return ((perf.timing[stat] - timingOffset) / (totalTime)) * 100.0; } function getCSSWidth(stat, endStat) { var width = ((perf.timing[endStat] - perf.timing[stat]) / (totalTime)) * 100.0; // Calculate relative percent (same as sql panel logic) width = 100.0 * width / (100.0 - getLeft(stat)); return (width < 1) ? "2px" : width + "%"; } function addRow(stat, endStat) { rowCount++; var $row = $('