Ext.define('PageAnalyzer.models.BasicTimeData', {
|
extend: 'Ext.data.Model',
|
fields: [
|
{ name: 'environment', type: 'string' },
|
{ name: 'build', type: 'string' },
|
{ name: 'test', type: 'string' },
|
{ name: 'measure', type: 'string' },
|
{ name: 'path', type: 'string' },
|
{ name: 'avgTime', type: 'float', defaultValue: 0 },
|
{ name: 'avgTimePerCall', type: 'float', defaultValue: 0 },
|
{ name: 'sumAvgTime', type: 'float', defaultValue: 0 },
|
{ name: 'sumAvgTimePerCall', type: 'float', defaultValue: 0 },
|
{ name: 'minCalls', type: 'int', defaultValue: 0 },
|
{ name: 'maxCalls', type: 'int', defaultValue: 0 },
|
{ name: 'numSamples', type: 'int', defaultValue: 0 }
|
],
|
|
addSample: function (time, numCalls) {
|
var me = this,
|
data = me.data;
|
|
if (numCalls) {
|
if (1 == ++data.numSamples) {
|
data.minCalls = data.maxCalls = numCalls;
|
} else {
|
if (data.minCalls > numCalls) {
|
data.minCalls = numCalls;
|
}
|
if (data.maxCalls < numCalls) {
|
data.maxCalls = numCalls;
|
}
|
}
|
|
data.sumAvgTime += time;
|
data.sumAvgTimePerCall += time / numCalls;
|
|
data.avgTime = Math.round(data.sumAvgTime / data.numSamples * 100) / 100;
|
data.avgTimePerCall = Math.round(data.sumAvgTimePerCall / data.numSamples * 100) / 100;
|
}
|
}
|
});
|