function GrasChartOverallThroughput(args, panel) { //save enables this.ids = args.block_ids; //input checking if (this.ids.length == 0) throw gras_error_dialog( "GrasChartOverallThroughput", "Error making overall thoughput chart.\n"+ "Specify at least 1 block for this chart." ); //make new chart this.chart = new google.visualization.LineChart(panel); this.title = "Overall Throughput vs Time in MIps"; this.history = new Array(); this.default_width = 2*GRAS_CHARTS_STD_WIDTH; } GrasChartOverallThroughput.prototype.update = function(point) { this.history.push(point); if (this.history.length == 1) this.p0 = point; if (this.history.length < 2) return; if (this.history.length > 10) this.history.splice(0, 1); var data_set = [['Throughput'].concat(this.ids)]; for (var i = 1; i < this.history.length; i++) { var row = new Array(); row.push(gras_extract_stat_time_delta(this.p0, this.history[i]).toFixed(2).toString()); for (var j = 0; j < this.ids.length; j++) { row.push(gras_extract_throughput_delta(this.history[i-1], this.history[i], this.ids[j])/1e6); } data_set.push(row); } var chart_data = google.visualization.arrayToDataTable(data_set); var options = { legend: {'position': 'bottom'}, }; if (this.gc_resize) options.width = 50; if (this.gc_resize) options.height = 50; this.chart.draw(chart_data, options); };