Highcharts test tool
by vladiweb
HTML
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://github.highcharts.com/v3.0.2/modules/map.src.js"></script>
<div id="latencyHeatmap" style="height: 200px"></div>
<div id="iopsColumnChart" style="min-width: 310px; height: 60px; margin: 0 auto"></div>
<div id="throughputLineChart" style="min-width: 310px; height: 100px; margin: 0 auto"></div>
JavaScript
(function (Highcharts) {
var seriesTypes = Highcharts.seriesTypes,
each = Highcharts.each;
seriesTypes.heatmap = Highcharts.extendClass(seriesTypes.map, {
translate: function () {
var series = this,
options = series.options,
dataMin = Number.MAX_VALUE,
dataMax = Number.MIN_VALUE,
opacity,
minOpacity = options.minOpacity,
path,
color;
series.generatePoints();
each(series.data, function (point) {
point.path = [
'M', point.col - 0.5, point.row - 0.5,
'L', point.col + 0.5, point.row - 0.5,
'L', point.col + 0.5, point.row + 0.5,
'L', point.col - 0.5, point.row + 0.5,
'Z'
];
point.shapeType = 'path';
point.shapeArgs = {
d: series.translatePath(point.path)
};
if (typeof point.y === 'number') {
if (point.y > dataMax) {
dataMax = point.y;
} else if (point.y < dataMin) {
dataMin = point.y;
}
}
});
series.translateColors(dataMin, dataMax);
},
getBox: function () {}
});
}(Highcharts));
Highcharts.setOptions({
global: {
useUTC: false
}
});
var col = 0;
var curTime = new Date();
curTime.setMilliseconds(0);
curTime = curTime.getTime();
var initialTimeslots = timeslotOffset = 50;
var NUM_BUCKETS = 10;
var REFRESH_RATE = 2000;
var latencyHeatmapChartRef = null;
function generateTimeSlot(col, datetime) {
var res = [];
for (var i=0; i<NUM_BUCKETS;...