benchfella
benchfella copied to clipboard
No graph with `TypeError: cannot read property 'elapsed' of null`
I think this has to do with the fact that one of the benchmarks in the comparison has a test that the other does not. The mix bench.cmp
command handled this just fine, but the mix bench.graph
command results in an HTML page that doesn't display a graph.
The full error from the JS console:
Uncaught TypeError: Cannot read property 'elapsed' of null
at file:///home/awynter/projects/personal/breaker/bench/graphs/index.html:168:42
at Function.m.map.m.collect (http://underscorejs.org/underscore-min.js:5:2566)
at m.(anonymous function) [as map] (http://underscorejs.org/underscore-min.js:5:15545)
at make_comparison_chart (file:///home/awynter/projects/personal/breaker/bench/graphs/index.html:168:10)
at add_comparison_chart (file:///home/awynter/projects/personal/breaker/bench/graphs/index.html:157:5)
at redrawCharts (file:///home/awynter/projects/personal/breaker/bench/graphs/index.html:320:5)
at HTMLDocument.<anonymous> (file:///home/awynter/projects/personal/breaker/bench/graphs/index.html:329:5)
at j (http://code.jquery.com/jquery-2.1.1.min.js:2:26860)
at Object.fireWith [as resolveWith] (http://code.jquery.com/jquery-2.1.1.min.js:2:27673)
at Function.ready (http://code.jquery.com/jquery-2.1.1.min.js:2:29467)
The snapshots are put into a gist: https://gist.github.com/awochna/9e010affe57ad9df6ffbdaf144f6c9fa
I've encountered the same problem.
var snapshotCount;
for (var key in categories) {
snapshotCount = categories[key].length;
break;
}
...
for (var i = 0; i < snapshotCount; i++) {
// Go through the ith snapshot of each category
var sample = _.map(categories, function(snapshots, key) {
var val = snapshots[i];
return {cat: key, val: val.elapsed / val.n};
});
I've noticed that snapshotCount
between categories varies. And the way it calculates it now, it may not be correct for every category.