[pypy-svn] r70659 - in pypy/build/bot2/jsplot: . js test
fijal at codespeak.net
fijal at codespeak.net
Sun Jan 17 17:29:02 CET 2010
Author: fijal
Date: Sun Jan 17 17:29:02 2010
New Revision: 70659
Added:
pypy/build/bot2/jsplot/js/collect.js
pypy/build/bot2/jsplot/test/jstest_collect_any.js
- copied, changed from r70658, pypy/build/bot2/jsplot/test/jstest_one_any.js
Removed:
pypy/build/bot2/jsplot/test/jstest_one_any.js
Modified:
pypy/build/bot2/jsplot/js/plot.js
pypy/build/bot2/jsplot/plot.html
Log:
Rename and move stuff around
Added: pypy/build/bot2/jsplot/js/collect.js
==============================================================================
--- (empty file)
+++ pypy/build/bot2/jsplot/js/collect.js Sun Jan 17 17:29:02 2010
@@ -0,0 +1,116 @@
+
+function Collector(revnos)
+{
+ this.plotdata = [];
+ this.counter = revnos.length;
+
+ this.finish_collecting = function() {
+ this.plotdata = extract_benchmark_data(this.plotdata);
+ var benchnames = _.keys(this.plotdata.results);
+ benchnames.sort()
+ for (var i = 0; i < benchnames.length; ++i) {
+ var benchname = benchnames[i];
+ var benchresults = this.plotdata.results[benchname];
+ var cpystart = benchresults[0][0];
+ var cpyend = benchresults[benchresults.length - 1][0];
+ var cpyval = this.plotdata.cpytimes[benchname];
+ var cpython_results = [[cpystart, cpyval], [cpyend, cpyval]]
+ this.plot(benchname, benchresults, cpython_results)
+ }
+ }
+
+ this.collect = function(next) {
+ this.plotdata.push(next);
+ this.counter--;
+ if (this.counter == 0) {
+ this.finish_collecting()
+ }
+ }
+}
+
+function collect_data(plot_function, revlist_url, base_url, async)
+{
+ $.ajax({
+ url: revlist_url,
+ dataType: 'html',
+ success: function(htmlstr) {
+ var revnos = extract_revnos($(htmlstr));
+ var collector = new Collector(revnos);
+ collector.plot = plot_function;
+ for (var i in revnos) {
+ $.ajax({
+ url: base_url + revnos[i] + '.json',
+ success: function(data) {
+ collector.collect(data)
+ },
+ dataType: 'json',
+ async: async,
+ });
+ }
+ },
+ async: async,
+ });
+}
+
+function extract_benchmark_data(data)
+{
+ var retval = {};
+ var cpytimes = {};
+ var lastrev = 0;
+ var lastrevindex = 0;
+ for (var i = 0; i < data.length; i++) {
+ var revno = data[i]["revision"];
+ if (revno > lastrev) {
+ lastrev = revno;
+ lastrevindex = i;
+ }
+ var results = data[i]["results"];
+ for (var j = 0; j < results.length; j++) {
+ var result = results[j];
+ var name = result[0];
+ var dataelem = result[2];
+ var avg;
+ if (dataelem["avg_changed"]) {
+ avg = dataelem["avg_changed"];
+ } else {
+ avg = dataelem["changed_time"];
+ }
+ if (retval[name]) {
+ retval[name].push([revno, avg]);
+ } else {
+ retval[name] = [[revno, avg]];
+ }
+ }
+ }
+ for (var name in retval) {
+ retval[name].sort(function (a, b) {
+ if (a[0] > b[0]) {
+ return 1;
+ } else {
+ return -1;
+ }
+ });
+ }
+ var cpyelem = data[lastrevindex]
+ for (var i = 0; i < cpyelem.results.length; i++) {
+ var dataelem = cpyelem.results[i][2];
+ var benchname = cpyelem.results[i][0];
+ if (dataelem.avg_base) {
+ cpytimes[benchname] = dataelem.avg_base;
+ } else {
+ cpytimes[benchname] = dataelem.base_time;
+ }
+ }
+ return {'results': retval, 'cpytimes': cpytimes};
+}
+
+function extract_revnos(xmldoc)
+{
+ var res = [];
+ $(xmldoc).find("a").each(function (no, elem) {
+ var s = elem.getAttribute("href");
+ s = s.substr(0, s.length - ".json".length);
+ res.push(s);
+ });
+ return res;
+}
Modified: pypy/build/bot2/jsplot/js/plot.js
==============================================================================
--- pypy/build/bot2/jsplot/js/plot.js (original)
+++ pypy/build/bot2/jsplot/js/plot.js Sun Jan 17 17:29:02 2010
@@ -9,36 +9,7 @@
JSON_DIR_LIST = JSON_DIR_URL + "dir";
}
-function Collector(revnos)
-{
- this.plotdata = [];
- this.counter = revnos.length;
-
- this.finish_collecting = function() {
- this.plotdata = extract_benchmark_data(this.plotdata);
- var benchnames = _.keys(this.plotdata.results);
- benchnames.sort()
- for (var i = 0; i < benchnames.length; ++i) {
- var benchname = benchnames[i];
- var benchresults = this.plotdata.results[benchname];
- var cpystart = benchresults[0][0];
- var cpyend = benchresults[benchresults.length - 1][0];
- var cpyval = this.plotdata.cpytimes[benchname];
- var cpython_results = [[cpystart, cpyval], [cpyend, cpyval]]
- this.plot(benchname, benchresults, cpython_results)
- }
- }
-
- this.collect = function(next) {
- this.plotdata.push(next);
- this.counter--;
- if (this.counter == 0) {
- this.finish_collecting()
- }
- }
-}
-
-function myplot(benchname, benchresults, cpython_results) {
+function plot_main(benchname, benchresults, cpython_results) {
$("#placeholder").append("<p class='caption'>" + benchname + "</p>");
$("#placeholder").append("<div class='plot'></div>");
var plotinput = [{
@@ -67,93 +38,3 @@
});
}
-function collect_data(plot_function, revlist_url, base_url, async)
-{
- $.ajax({
- url: revlist_url,
- dataType: 'html',
- success: function(htmlstr) {
- var revnos = extract_revnos($(htmlstr));
- var collector = new Collector(revnos);
- collector.plot = plot_function;
- for (var i in revnos) {
- $.ajax({
- url: base_url + revnos[i] + '.json',
- success: function(data) {
- collector.collect(data)
- },
- dataType: 'json',
- async: async,
- });
- }
- },
- async: async,
- });
-}
-
-$(document).ready(function() {
- collect_data(myplot, JSON_DIR_LIST, JSON_DIR_URL, true);
-});
-
-function extract_benchmark_data(data)
-{
- var retval = {};
- var cpytimes = {};
- var lastrev = 0;
- var lastrevindex = 0;
- for (var i = 0; i < data.length; i++) {
- var revno = data[i]["revision"];
- if (revno > lastrev) {
- lastrev = revno;
- lastrevindex = i;
- }
- var results = data[i]["results"];
- for (var j = 0; j < results.length; j++) {
- var result = results[j];
- var name = result[0];
- var dataelem = result[2];
- var avg;
- if (dataelem["avg_changed"]) {
- avg = dataelem["avg_changed"];
- } else {
- avg = dataelem["changed_time"];
- }
- if (retval[name]) {
- retval[name].push([revno, avg]);
- } else {
- retval[name] = [[revno, avg]];
- }
- }
- }
- for (var name in retval) {
- retval[name].sort(function (a, b) {
- if (a[0] > b[0]) {
- return 1;
- } else {
- return -1;
- }
- });
- }
- var cpyelem = data[lastrevindex]
- for (var i = 0; i < cpyelem.results.length; i++) {
- var dataelem = cpyelem.results[i][2];
- var benchname = cpyelem.results[i][0];
- if (dataelem.avg_base) {
- cpytimes[benchname] = dataelem.avg_base;
- } else {
- cpytimes[benchname] = dataelem.base_time;
- }
- }
- return {'results': retval, 'cpytimes': cpytimes};
-}
-
-function extract_revnos(xmldoc)
-{
- var res = [];
- $(xmldoc).find("a").each(function (no, elem) {
- var s = elem.getAttribute("href");
- s = s.substr(0, s.length - ".json".length);
- res.push(s);
- });
- return res;
-}
\ No newline at end of file
Modified: pypy/build/bot2/jsplot/plot.html
==============================================================================
--- pypy/build/bot2/jsplot/plot.html (original)
+++ pypy/build/bot2/jsplot/plot.html Sun Jan 17 17:29:02 2010
@@ -3,7 +3,13 @@
<script src="js/underscore-min.js"></script>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.flot.js"></script>
+ <script src="js/collect.js"></script>
<script src="js/plot.js"></script>
+ <script>
+ $(document).ready(function() {
+ collect_data(myplot, JSON_DIR_LIST, JSON_DIR_URL, true);
+ });
+ </script>
<link rel="stylesheet" href="css/main.css" type="text/css"/>
</head>
<body>
Copied: pypy/build/bot2/jsplot/test/jstest_collect_any.js (from r70658, pypy/build/bot2/jsplot/test/jstest_one_any.js)
==============================================================================
--- pypy/build/bot2/jsplot/test/jstest_one_any.js (original)
+++ pypy/build/bot2/jsplot/test/jstest_collect_any.js Sun Jan 17 17:29:02 2010
@@ -1,5 +1,5 @@
-OpenEnd.require("/js/plot.js")
+OpenEnd.require("/js/collect.js")
OpenEnd.require("/js/jquery.min.js")
OpenEnd.require("/js/underscore-min.js")
More information about the Pypy-commit
mailing list