all files / montage/core/extras/ console.js

38.46% Statements 10/26
33.33% Branches 2/6
0% Functions 0/5
38.46% Lines 10/26
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40                                                           
/*global module: false */
Eif (typeof window !== "undefined") {
    document._montageTiming = document._montageTiming || {};
    document._montageTiming.loadStartTime = Date.now();
    console._groupTime = Object.create(null);
    console.groupTime = function(name) {
        var groupTimeEntry = this._groupTime[name];
        if(!groupTimeEntry) {
            groupTimeEntry = {
                count: 0,
                start: 0,
                sum:0
            };
            this._groupTime[name] = groupTimeEntry;
        }
        groupTimeEntry.start = performance.now();
    };
    console.groupTimeEnd = function(name) {
        var end = performance.now();
        var groupTimeEntry = this._groupTime[name];
        var time = end - groupTimeEntry.start;
 
        groupTimeEntry.count = groupTimeEntry.count+1;
        groupTimeEntry.sum = groupTimeEntry.sum+time;
    };
    console.groupTimeAverage = function(name) {
        var groupTimeEntry = this._groupTime[name];
        return groupTimeEntry.sum/groupTimeEntry.count;
    };
    console.groupTimeTotal = function(name) {
        var groupTimeEntry = this._groupTime[name];
        return groupTimeEntry.sum;
    };
    console.groupTimeCount = function(name) {
        var groupTimeEntry = this._groupTime[name];
        return groupTimeEntry.count;
    };
}
 
module.exports.console = global.console;