window.profiler = (function() { var _events = {}; var _getEvents = function(name, domain) { if(!name) { return {}; } if(!domain) { domain = ''; } if(!_events[domain]) { _events[domain] = {}; } if(!_events[domain][name]) { _events[domain][name] = { name: name, domain: domain }; } return _events[domain][name]; }; var _setEvent = function(event, name, domain) { if(!name) { return {}; } if(!domain) { domain = ''; } if(!_events[domain]) { _events[domain] = {}; } _events[domain][name] = event; }; var _setTimestamp = function(name, domain, action) { var a = _getEvents(name, domain); a[action] = new Date(); _setEvent(a, name, domain); }; var _start = function(name, domain) { return _setTimestamp(name, domain, 'start'); }; var _stop = function(name, domain) { return _setTimestamp(name, domain, 'stop'); }; var _getLog = function() { var log = 'nombre,domain,start,stop,duration (sec)\n'; for(var i in _events) { for(var j in _events[i]) { var item = _events[i][j]; var duration = item.start && item.stop ? (item.stop - item.start) / 1000 : 0; var start = item.start ? item.start.getTime() : 0; var stop = item.stop ? item.stop.getTime() : 0; log += item.name + ',' + item.domain + ',' + start + ',' + stop + ',' + duration + '\n' } } console.log(log); }; return { start: _start, stop: _stop, getLog: _getLog }; })(); // MINIMIZADO window.profiler=function(){var t={},n=function(n,r){return n?(r||(r=""),t[r]||(t[r]={}),t[r][n]||(t[r][n]={name:n,domain:r}),t[r][n]):{}},r=function(n,r,o){return r?(o||(o=""),t[o]||(t[o]={}),void(t[o][r]=n)):{}},o=function(t,o,a){var e=n(t,o);e[a]=new Date,r(e,t,o)},a=function(t,n){return o(t,n,"start")},e=function(t,n){return o(t,n,"stop")},i=function(){var n="nombre,domain,start,stop,duration (sec)\n";for(var r in t)for(var o in t[r]){var a=t[r][o],e=a.start&&a.stop?(a.stop-a.start)/1e3:0,i=a.start?a.start.getTime():0,s=a.stop?a.stop.getTime():0;n+=a.name+","+a.domain+","+i+","+s+","+e+"\n"}console.log(n)};return{start:a,stop:e,getLog:i}}();