2 incr
: function incr(stat_name
, data
) {
3 global
.modules
.emit('stat counter', {name
: stat_name
, data
: data
});
6 gauge
: function gauge(stat_name
, value
) {
7 global
.modules
.emit('stat gauge', {name
: stat_name
, value
: value
});
12 * Send a timer value to the stats
15 * var timer = Stats.startTimer('stat_name', {some_data: 'value'});
17 * timer.stop({other_data: 'value'});
19 * The object passed into .startTimer() and .stop(); are optional. If
20 * given they will be shallow merged with .stop() overridding .startTimer()
22 startTimer
: function statsTimer(stat_name
, data_start
) {
23 var timer_started
= new Date();
25 var timerStop
= function timerStop(data_end
) {
26 var time
= (new Date()) - timer_started
;
27 var data
= shallowMergeObjects(data_start
, data_end
);
29 global
.modules
.emit('stat timer', {name
: stat_name
, time
: time
, data
: data
});
40 function shallowMergeObjects(/** argn, ... **/) {
44 for(arg_idx
=0; arg_idx
<arguments
.length
; arg_idx
++) {
45 arg
= arguments
[arg_idx
];
51 for(var prop
in arg
) {
52 if (arg
.hasOwnProperty(prop
)) {
53 data
[prop
] = arg
[prop
];