diff --git a/benchmarks/webaudio-benchmark/README.md b/benchmarks/webaudio-benchmark/README.md new file mode 100644 index 0000000..f40d2b4 --- /dev/null +++ b/benchmarks/webaudio-benchmark/README.md @@ -0,0 +1,20 @@ +# webaudio-benchmark + +## Run + +Just open `index.html`. Time are in milliseconds, lower is better. + +## Adding new benchmarks + +Look into `benchmarks.js`, it's pretty straightforward. + +## Grafana dashboard + +When adding new benchmarks, run `node generate-grafana-dashboard.js`, this +should overwrite `webaudio.json` so that the new benchmarks are registered in +grafana. + + +## License + +MPL 2.0 diff --git a/benchmarks/webaudio-benchmark/benchmarks.js b/benchmarks/webaudio-benchmark/benchmarks.js new file mode 100644 index 0000000..0f91e19 --- /dev/null +++ b/benchmarks/webaudio-benchmark/benchmarks.js @@ -0,0 +1,323 @@ +if (typeof(window) == "undefined") { + benchmarks = [] + registerTestFile = function() {} + registerTestCase = function(o) { return benchmarks.push(o.name); } +} + +registerTestFile("think-mono-48000.wav"); +registerTestFile("think-mono-44100.wav"); +registerTestFile("think-mono-38000.wav"); +registerTestFile("think-stereo-48000.wav"); +registerTestFile("think-stereo-44100.wav"); +registerTestFile("think-stereo-38000.wav"); + +registerTestCase({ + func: function () { + var oac = new OfflineAudioContext(1, 120 * samplerate, samplerate); + return oac; + }, + name: "Empty testcase" +}); + +registerTestCase({ + func: function () { + var oac = new OfflineAudioContext(1, 120 * samplerate, samplerate); + var source0 = oac.createBufferSource(); + source0.buffer = getSpecificFile({rate: oac.samplerate, channels:1}); + source0.loop = true; + source0.connect(oac.destination); + source0.start(0); + return oac; + }, + name: "Simple gain test without resampling" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(2, 120 * samplerate, samplerate); + var source0 = oac.createBufferSource(); + source0.buffer = getSpecificFile({rate: oac.samplerate, channels:2}); + source0.loop = true; + source0.connect(oac.destination); + source0.start(0); + return oac; + }, + name: "Simple gain test without resampling (Stereo)" +}); + +registerTestCase({ + func: function () { + var oac = new OfflineAudioContext(2, 120 * samplerate, samplerate); + var source0 = oac.createBufferSource(); + var panner = oac.createPanner(); + source0.buffer = getSpecificFile({rate: oac.samplerate, channels:2}); + source0.loop = true; + panner.setPosition(1, 2, 3); + panner.setOrientation(10, 10, 10); + source0.connect(panner); + panner.connect(oac.destination); + source0.start(0); + return oac; + }, + name: "Simple gain test without resampling (Stereo and positional)" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(1, 120 * samplerate, samplerate); + var source0 = oac.createBufferSource(); + source0.buffer = getSpecificFile({rate: 38000, channels:1}); + source0.loop = true; + source0.connect(oac.destination); + source0.start(0); + return oac; + }, + name: "Simple gain test" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(2, 120 * samplerate, samplerate); + var source0 = oac.createBufferSource(); + source0.buffer = getSpecificFile({rate: 38000, channels:2}); + source0.loop = true; + source0.connect(oac.destination); + source0.start(0); + return oac; + }, + name: "Simple gain test (Stereo)" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(2, 120 * samplerate, samplerate); + var source0 = oac.createBufferSource(); + var panner = oac.createPanner(); + source0.buffer = getSpecificFile({rate: 38000, channels:2}); + source0.loop = true; + panner.setPosition(1, 2, 3); + panner.setOrientation(10, 10, 10); + source0.connect(panner); + panner.connect(oac.destination); + source0.start(0); + return oac; + }, + name: "Simple gain test (Stereo and positional)" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(2, 120 * samplerate, samplerate); + var source0 = oac.createBufferSource(); + source0.buffer = getSpecificFile({rate: oac.samplerate, channels:1}); + source0.loop = true; + source0.connect(oac.destination); + source0.start(0); + return oac; + }, + name: "Upmix without resampling (Mono -> Stereo)" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(1, 120 * samplerate, samplerate); + var source0 = oac.createBufferSource(); + source0.buffer = getSpecificFile({rate: oac.samplerate, channels:2}); + source0.loop = true; + source0.connect(oac.destination); + source0.start(0); + return oac; + }, + name: "Downmix without resampling (Mono -> Stereo)" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(2, 30 * samplerate, samplerate); + for (var i = 0; i < 100; i++) { + var source0 = oac.createBufferSource(); + source0.buffer = getSpecificFile({rate: 38000, channels:1}); + source0.loop = true; + source0.connect(oac.destination); + source0.start(0); + } + return oac; + }, + name: "Simple mixing (same buffer)" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(2, 30 * samplerate, samplerate); + var reference = getSpecificFile({rate: 38000, channels:1}).getChannelData(0); + for (var i = 0; i < 100; i++) { + var source0 = oac.createBufferSource(); + // copy the buffer into the a new one, so we know the implementation is not + // sharing them. + var b = oac.createBuffer(1, reference.length, 38000); + var data = b.getChannelData(0); + for (var j = 0; j < b.length; j++) { + data[i] = reference[i]; + } + source0.buffer = b; + source0.loop = true; + source0.connect(oac.destination); + source0.start(0); + } + return oac; + }, + name: "Simple mixing (different buffers)" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(2, 300 * samplerate, samplerate); + var gain = oac.createGain(); + gain.gain.value = -1; + gain.connect(oac.destination); + var gainsi = []; + for (var i = 0; i < 4; i++) { + var gaini = oac.createGain(); + gaini.gain.value = 0.25; + gaini.connect(gain); + gainsi[i] = gaini + } + for (var j = 0; j < 2; j++) { + var sourcej = oac.createBufferSource(); + sourcej.buffer = getSpecificFile({rate: 38000, channels:1}); + sourcej.loop = true; + sourcej.start(0); + for (var i = 0; i < 4; i++) { + var gainij = oac.createGain(); + gainij.gain.value = 0.5; + gainij.connect(gainsi[i]); + sourcej.connect(gainij); + } + } + return oac; + }, + name: "Simple mixing with gains" +}); + +registerTestCase({ + func: function() { + var oac = new OfflineAudioContext(1, 30 * samplerate, samplerate); + var i,l; + var decay = 10; + var duration = 4; + var len = samplerate * duration; + var buffer = ac.createBuffer(2, len, oac.sampleRate) + var iL = buffer.getChannelData(0) + var iR = buffer.getChannelData(1) + // Simple exp decay loop + for(i=0,l=buffer.length;i + + + + + + + + +
+ +
+ + Benchmark in progress... +
+
+
+
+ + diff --git a/benchmarks/webaudio-benchmark/template-row.json b/benchmarks/webaudio-benchmark/template-row.json new file mode 100644 index 0000000..83ada19 --- /dev/null +++ b/benchmarks/webaudio-benchmark/template-row.json @@ -0,0 +1,79 @@ +{ + "title": "{{benchmark}} -- {{platform}}", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "{{benchmark}} -- {{platform}}", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.{{benchmark}}.{{platform}}.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.{{benchmark}}.{{platform}}.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.{{benchmark}}.{{platform}}.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.{{benchmark}}.{{platform}}.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] +} diff --git a/benchmarks/webaudio-benchmark/think-mono-38000.wav b/benchmarks/webaudio-benchmark/think-mono-38000.wav new file mode 100644 index 0000000..953127b Binary files /dev/null and b/benchmarks/webaudio-benchmark/think-mono-38000.wav differ diff --git a/benchmarks/webaudio-benchmark/think-mono-44100.wav b/benchmarks/webaudio-benchmark/think-mono-44100.wav new file mode 100644 index 0000000..22c1ad6 Binary files /dev/null and b/benchmarks/webaudio-benchmark/think-mono-44100.wav differ diff --git a/benchmarks/webaudio-benchmark/think-mono-48000.wav b/benchmarks/webaudio-benchmark/think-mono-48000.wav new file mode 100644 index 0000000..87be7e5 Binary files /dev/null and b/benchmarks/webaudio-benchmark/think-mono-48000.wav differ diff --git a/benchmarks/webaudio-benchmark/think-mono.wav b/benchmarks/webaudio-benchmark/think-mono.wav new file mode 100644 index 0000000..553a1f3 Binary files /dev/null and b/benchmarks/webaudio-benchmark/think-mono.wav differ diff --git a/benchmarks/webaudio-benchmark/think-stereo-38000.wav b/benchmarks/webaudio-benchmark/think-stereo-38000.wav new file mode 100644 index 0000000..ab2a7c4 Binary files /dev/null and b/benchmarks/webaudio-benchmark/think-stereo-38000.wav differ diff --git a/benchmarks/webaudio-benchmark/think-stereo-44100.wav b/benchmarks/webaudio-benchmark/think-stereo-44100.wav new file mode 100644 index 0000000..017e0cb Binary files /dev/null and b/benchmarks/webaudio-benchmark/think-stereo-44100.wav differ diff --git a/benchmarks/webaudio-benchmark/think-stereo-48000.wav b/benchmarks/webaudio-benchmark/think-stereo-48000.wav new file mode 100644 index 0000000..6917538 Binary files /dev/null and b/benchmarks/webaudio-benchmark/think-stereo-48000.wav differ diff --git a/benchmarks/webaudio-benchmark/update.sh b/benchmarks/webaudio-benchmark/update.sh new file mode 100755 index 0000000..773def3 --- /dev/null +++ b/benchmarks/webaudio-benchmark/update.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +usage() { + echo "Usage:" + echo "\t$0" /path/to/webaudio-benchmarks + exit 1 +} + +if [ $# != "1" ] +then + usage $0 +fi + +cp $1/* . diff --git a/benchmarks/webaudio-benchmark/webaudio-bench.js b/benchmarks/webaudio-benchmark/webaudio-bench.js new file mode 100644 index 0000000..550aae7 --- /dev/null +++ b/benchmarks/webaudio-benchmark/webaudio-bench.js @@ -0,0 +1,204 @@ +if (window.AudioContext == undefined) { + window.AudioContext = window.webkitAudioContext; + window.OfflineAudioContext = window.webkitOfflineAudioContext; +} + +// Global samplerate at which we run the context. +var samplerate = 48000; +// Array containing at first the url of the audio resources to fetch, and the +// the actual buffers audio buffer we have at our disposal to for tests. +var sources = []; +// Array containing the results, for each benchmark. +var results = []; +// Array containing the offline contexts used to run the testcases. +var testcases = []; +// Array containing the functions that can return a runnable testcase. +var testcases_registered = []; +// Array containing the audio buffers for each benchmark +var buffers = []; +var playingSource = null; +// audiocontext used to play back the result of the benchmarks +var ac = new AudioContext(); + +function getFile(url, callback) { + var request = new XMLHttpRequest(); + request.open("GET", url, true); + request.responseType = "arraybuffer"; + + request.onload = function() { + var ctx = new AudioContext(); + ctx.decodeAudioData(request.response, function(data) { + callback(data, undefined); + }, function() { + callback(undefined, "Error decoding the file " + url); + }); + } + request.send(); +} + +function recordResult(result) { + results.push(result); +} + +function benchmark(testcase, ended) { + var context = testcase.ctx; + var start; + + context.oncomplete = function(e) { + var end = Date.now(); + recordResult({ + name: testcase.name, + duration: end - start, + buffer: e.renderedBuffer + }); + ended(); + }; + + start = Date.now(); + context.startRendering(); +} + +function getMonoFile() { + return getSpecificFile({numberOfChannels: 1}); +} + +function getStereoFile() { + return getSpecificFile({numberOfChannels: 2}); +} + +function matchIfSpecified(a, b) { + if (b) { + return a == b; + } + return true; +} + +function getSpecificFile(spec) { + for (var i = 0 ; i < sources.length; i++) { + if (matchIfSpecified(sources[i].numberOfChannels, spec.numberOfChannels) && + matchIfSpecified(sources[i].samplerate, spec.samplerate)) { + return sources[i]; + } + } + throw new Error("Could not find a file that matches the specs."); +} + +function allDone() { + document.getElementById("in-progress").style.display = "none"; + var result = document.getElementById("results"); + var str = ""; + var buffers_base = buffers.length; + var product_of_durations = 1.0; + + for (var i = 0 ; i < results.length; i++) { + var r = results[i]; + product_of_durations *= r.duration; + str += "" + + ""+ + ""+ + "" + +""; + buffers[buffers_base + i] = r.buffer; + } + recordResult({ + name: "Geometric Mean", + duration: Math.round(Math.pow(product_of_durations, 1.0/results.length)), + buffer: {} + }); + str += "
Test nameTime in msSpeedup vs. realtimeSound
" + r.name + "" + r.duration + "" + Math.round((r.buffer.duration * 1000) / r.duration) + "x ("+r.buffer.duration+"s)
"; + result.innerHTML += str; + result.addEventListener("click", function(e) { + var t = e.target; + if (t.dataset.soundindex != undefined) { + if (playingSource != null) { + playingSource.button.innerHTML = "Play"; + playingSource.onended = undefined; + playingSource.stop(0); + if (playingSource.button == t) { + playingSource = null; + return; + } + } + playingSource = ac.createBufferSource(); + playingSource.connect(ac.destination); + playingSource.buffer = buffers[t.dataset.soundindex]; + playingSource.start(0); + playingSource.button = t; + t.innerHTML = "Pause"; + playingSource.onended = function () { + playingSource = null; + } + } + }); + + document.getElementById("run-all").disabled = false; + + var xhr = new XMLHttpRequest(); + xhr.open("POST", "/results", true); + xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); + xhr.send("results=" + JSON.stringify(results)); +} + +function runOne(i) { + benchmark(testcases[i], function() { + i++; + if (i < testcases.length) { + runOne(i); + } else { + allDone(); + } + }); +} + +function runAll() { + initAll(); + results = []; + runOne(0); +} + +function initAll() { + for (var i = 0; i < testcases_registered.length; i++) { + testcases[i] = {}; + testcases[i].ctx = testcases_registered[i].func(); + testcases[i].name = testcases_registered[i].name; + } +} + +function loadOne(i, endCallback) { + getFile(sources[i], function(b) { + sources[i] = b; + i++; + if (i == sources.length) { + loadOne(i); + } else { + endCallback(); + } + }) +} + +function loadAllSources(endCallback) { + loadOne(0, endCallback); +} + +document.addEventListener("DOMContentLoaded", function() { + document.getElementById("run-all").addEventListener("click", function() { + document.getElementById("in-progress").style.display = "inline"; + document.getElementById("run-all").disabled = true; + runAll(); + }); + loadAllSources(function() { + document.getElementById("loading").style.display = "none"; + document.getElementById("run-all").style.display = "inline"; + document.getElementById("in-progress").style.display = "inline"; + setTimeout(runAll, 100); + }); +}); + +/* Public API */ +function registerTestCase(testCase) { + testcases_registered.push(testCase); +} + +function registerTestFile(url) { + sources.push(url); +} diff --git a/benchmarks/webaudio-benchmark/webaudio-dashboard.json b/benchmarks/webaudio-benchmark/webaudio-dashboard.json new file mode 100644 index 0000000..d8abc1c --- /dev/null +++ b/benchmarks/webaudio-benchmark/webaudio-dashboard.json @@ -0,0 +1,57 @@ +{ + "id": null, + "title": "Web Audio API benchmark", + "originalTitle": "Web Audio API benchmark", + "tags": [], + "style": "dark", + "timezone": "browser", + "editable": true, + "hideControls": false, + "sharedCrosshair": false, + "rows": [ ], + "nav": [ + { + "type": "timepicker", + "collapse": false, + "enable": true, + "status": "Stable", + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ], + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "now": true, + "notice": false + } + ], + "time": { + "from": "now-7d", + "to": "now" + }, + "templating": { + "list": [] + }, + "annotations": { + "list": [] + }, + "version": 6, + "hideAllLegends": false +} diff --git a/benchmarks/webaudio-benchmark/webaudio.json b/benchmarks/webaudio-benchmark/webaudio.json new file mode 100644 index 0000000..e534e31 --- /dev/null +++ b/benchmarks/webaudio-benchmark/webaudio.json @@ -0,0 +1,5114 @@ +{ + "id": null, + "title": "Web Audio API benchmark", + "originalTitle": "Web Audio API benchmark", + "tags": [], + "style": "dark", + "timezone": "browser", + "editable": true, + "hideControls": false, + "sharedCrosshair": false, + "rows": [ + { + "title": "Empty testcase -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Empty testcase -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Empty testcase.win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Empty testcase.win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Empty testcase.win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Empty testcase.win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Empty testcase -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Empty testcase -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Empty testcase.linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Empty testcase.linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Empty testcase.linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Empty testcase.linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Empty testcase -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Empty testcase -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Empty testcase.mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Empty testcase.mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Empty testcase.mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Empty testcase.mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Empty testcase -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Empty testcase -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Empty testcase.android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Empty testcase.android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Empty testcase.android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Empty testcase.android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling.win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling.win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling.win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling.win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling.linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling.linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling.linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling.linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling.mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling.mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling.mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling.mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling.android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling.android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling.android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling.android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling (Stereo) -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling (Stereo) -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling (Stereo) -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling (Stereo) -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling (Stereo) -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling (Stereo) -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling (Stereo) -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling (Stereo) -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo).android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling (Stereo and positional) -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling (Stereo and positional) -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling (Stereo and positional) -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling (Stereo and positional) -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling (Stereo and positional) -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling (Stereo and positional) -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test without resampling (Stereo and positional) -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test without resampling (Stereo and positional) -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test without resampling (Stereo and positional).android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test.win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test.win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test.win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test.win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test.linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test.linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test.linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test.linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test.mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test.mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test.mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test.mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test.android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test.android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test.android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test.android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test (Stereo) -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test (Stereo) -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo).win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo).win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo).win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo).win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test (Stereo) -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test (Stereo) -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo).linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo).linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo).linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo).linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test (Stereo) -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test (Stereo) -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo).mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo).mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo).mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo).mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test (Stereo) -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test (Stereo) -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo).android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo).android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo).android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo).android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test (Stereo and positional) -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test (Stereo and positional) -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test (Stereo and positional) -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test (Stereo and positional) -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test (Stereo and positional) -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test (Stereo and positional) -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple gain test (Stereo and positional) -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple gain test (Stereo and positional) -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple gain test (Stereo and positional).android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Upmix without resampling (Mono -> Stereo) -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Upmix without resampling (Mono -> Stereo) -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Upmix without resampling (Mono -> Stereo) -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Upmix without resampling (Mono -> Stereo) -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Upmix without resampling (Mono -> Stereo) -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Upmix without resampling (Mono -> Stereo) -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Upmix without resampling (Mono -> Stereo) -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Upmix without resampling (Mono -> Stereo) -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Upmix without resampling (Mono -> Stereo).android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Downmix without resampling (Mono -> Stereo) -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Downmix without resampling (Mono -> Stereo) -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Downmix without resampling (Mono -> Stereo) -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Downmix without resampling (Mono -> Stereo) -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Downmix without resampling (Mono -> Stereo) -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Downmix without resampling (Mono -> Stereo) -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Downmix without resampling (Mono -> Stereo) -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Downmix without resampling (Mono -> Stereo) -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Downmix without resampling (Mono -> Stereo).android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing (same buffer) -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing (same buffer) -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (same buffer).win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (same buffer).win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (same buffer).win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (same buffer).win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing (same buffer) -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing (same buffer) -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (same buffer).linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (same buffer).linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (same buffer).linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (same buffer).linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing (same buffer) -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing (same buffer) -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (same buffer).mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (same buffer).mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (same buffer).mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (same buffer).mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing (same buffer) -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing (same buffer) -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (same buffer).android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (same buffer).android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (same buffer).android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (same buffer).android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing (different buffers) -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing (different buffers) -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (different buffers).win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (different buffers).win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (different buffers).win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (different buffers).win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing (different buffers) -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing (different buffers) -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (different buffers).linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (different buffers).linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (different buffers).linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (different buffers).linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing (different buffers) -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing (different buffers) -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (different buffers).mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (different buffers).mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (different buffers).mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (different buffers).mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing (different buffers) -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing (different buffers) -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (different buffers).android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (different buffers).android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing (different buffers).android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing (different buffers).android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing with gains -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing with gains -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing with gains.win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing with gains.win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing with gains.win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing with gains.win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing with gains -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing with gains -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing with gains.linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing with gains.linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing with gains.linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing with gains.linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing with gains -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing with gains -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing with gains.mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing with gains.mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing with gains.mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing with gains.mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Simple mixing with gains -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Simple mixing with gains -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing with gains.android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing with gains.android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Simple mixing with gains.android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Simple mixing with gains.android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Convolution reverb -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Convolution reverb -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Convolution reverb.win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Convolution reverb.win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Convolution reverb.win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Convolution reverb.win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Convolution reverb -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Convolution reverb -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Convolution reverb.linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Convolution reverb.linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Convolution reverb.linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Convolution reverb.linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Convolution reverb -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Convolution reverb -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Convolution reverb.mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Convolution reverb.mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Convolution reverb.mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Convolution reverb.mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Convolution reverb -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Convolution reverb -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Convolution reverb.android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Convolution reverb.android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Convolution reverb.android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Convolution reverb.android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Granular synthesis -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Granular synthesis -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Granular synthesis.win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Granular synthesis.win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Granular synthesis.win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Granular synthesis.win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Granular synthesis -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Granular synthesis -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Granular synthesis.linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Granular synthesis.linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Granular synthesis.linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Granular synthesis.linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Granular synthesis -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Granular synthesis -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Granular synthesis.mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Granular synthesis.mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Granular synthesis.mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Granular synthesis.mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Granular synthesis -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Granular synthesis -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Granular synthesis.android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Granular synthesis.android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Granular synthesis.android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Granular synthesis.android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Synth -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Synth -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Synth.win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Synth.win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Synth.win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Synth.win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Synth -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Synth -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Synth.linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Synth.linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Synth.linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Synth.linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Synth -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Synth -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Synth.mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Synth.mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Synth.mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Synth.mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Synth -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Synth -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Synth.android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Synth.android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Synth.android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Synth.android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Substractive synth -- win", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Substractive synth -- win", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Substractive synth.win.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Substractive synth.win.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Substractive synth.win.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Substractive synth.win.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Substractive synth -- linux", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Substractive synth -- linux", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Substractive synth.linux.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Substractive synth.linux.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Substractive synth.linux.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Substractive synth.linux.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Substractive synth -- mac", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Substractive synth -- mac", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Substractive synth.mac.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Substractive synth.mac.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Substractive synth.mac.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Substractive synth.mac.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + }, + { + "title": "Substractive synth -- android", + "height": "250px", + "editable": true, + "collapse": true, + "panels": [ + { + "title": "Substractive synth -- android", + "error": false, + "span": 12, + "editable": true, + "type": "graph", + "id": 1, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": true, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false, + "alignAsTable": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": false + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Substractive synth.android.firefox.nightly", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Substractive synth.android.firefox.nightly\" where $timeFilter group by time($interval) order asc", + "hide": false + }, + { + "function": "mean", + "column": "value", + "series": "benchmarks.webaudio-padenot.Substractive synth.android.chrome.canary", + "query": "select mean(value) from \"benchmarks.webaudio-padenot.Substractive synth.android.chrome.canary\" where $timeFilter group by time($interval) order asc", + "hide": false, + "groupby_field": "" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "Time in milliseconds, lower is better" + } + ] + } + ], + "nav": [ + { + "type": "timepicker", + "collapse": false, + "enable": true, + "status": "Stable", + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ], + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "now": true, + "notice": false + } + ], + "time": { + "from": "now-7d", + "to": "now" + }, + "templating": { + "list": [] + }, + "annotations": { + "list": [] + }, + "version": 6, + "hideAllLegends": false +} \ No newline at end of file diff --git a/slave/benchmarks_local.py b/slave/benchmarks_local.py index 11da383..fca5ddd 100644 --- a/slave/benchmarks_local.py +++ b/slave/benchmarks_local.py @@ -80,11 +80,26 @@ class WebGLSamples(Benchmark): def __init__(self): Benchmark.__init__(self, "webglsamples", "0.1", "benchmarks/webglsamples/test.html") +class WebAudio(Benchmark): + def __init__(self): + Benchmark.__init__(self, "webaudio", "0.1", "benchmarks/webaudio-benchmark/index.html") + + def processResults(self, results): + ret = [] + total = 0 + for item in results: + if item['name'] == "Geometric Mean": + item['name'] = "__total__" + ret.append({'name': item['name'], 'time': item['duration'] }) + return ret + def getBenchmark(name): if name == "webglsamples": return WebGLSamples() if name == "assorteddom": return AssortedDOM() + if name == "webaudio": + return WebAudio() raise Exception("Unknown benchmark") # Test if server is running and start server if needed. diff --git a/slave/server.py b/slave/server.py index feb0e9a..224d01c 100644 --- a/slave/server.py +++ b/slave/server.py @@ -51,7 +51,6 @@ class FakeHandler(SimpleHTTPRequestHandler): if self.path.startswith("/submit"): return self.captureResults(query) else: - print self.path return self.retrieveOffline(); def retrieveOffline(self): @@ -246,6 +245,10 @@ class FakeHandler(SimpleHTTPRequestHandler): if path == "/benchmarks/misc-desktop/hosted/assorted/driver.html": return data.replace('location = "results.html?" + encodeURI(outputString);', 'location.href = "http://localhost:8000/submit?results=" + encodeURI(outputString);'); + if host == "localhost": + if path == "/benchmarks/webaudio-benchmark/webaudio-bench.js": + return data.replace('xhr.open("POST", "/results", true);', + 'xhr.open("POST", "/submit", true);'); if host.startswith("dromaeo."): if path == "/webrunner.js": data = data.replace('function init(){',