perf-o-matic: generate dashboard images using Google Chart Tools
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Feb 2012 06:06:55 +0000 (06:06 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Feb 2012 06:06:55 +0000 (06:06 +0000)
commitde838a7271bf933827491fdc32cac3751d7794ea
treed71109bd83b2da1898c2e1b57ed38db1e53519fd
parent7e7ff58db989cdf3d2f473bd9d624c3a3f60a9b7
perf-o-matic: generate dashboard images using Google Chart Tools
https://bugs.webkit.org/show_bug.cgi?id=79838

Reviewed by Hajime Morita.

Rename RunsJSONGenerator to Runs and added an ability to generate parameters for Google chart tool.
Also added RunsChartHandler to make url-fetches these images and DashboardImageHandler to serve them.
The image is stored in DashboardImage model.

We can't enable flip the switch to use images yet because we don't create images on fly (they're
generated when runs are updated; i.e. bots upload new results). We should be able to flip the switch
once this patch lands and all perf bots cycle.

We probably make way too many calls to Google chart tool's server with this preliminary design but we
can easily move this task into the backend and run it via a cron job once we know it works.

* Websites/webkit-perf.appspot.com/controller.py:
(schedule_runs_update):
(RunsUpdateHandler.post):
(RunsChartHandler):
(RunsChartHandler.get):
(RunsChartHandler.post):
(DashboardImageHandler):
(DashboardImageHandler.get):
(schedule_report_process):
* Websites/webkit-perf.appspot.com/json_generators.py:
(ManifestJSONGenerator.value):
(Runs):
(Runs.__init__):
(Runs.value):
(Runs.chart_params):
* Websites/webkit-perf.appspot.com/json_generators_unittest.py:
(RunsTest):
(RunsTest._create_results):
(RunsTest.test_generate_runs):
(RunsTest.test_value_without_results):
(RunsTest.test_value_with_results):
(RunsTest.test_run_from_build_and_result):
(RunsTest.test_chart_params_with_value):
(RunsTest.test_chart_params_with_value.split_as_int):
* Websites/webkit-perf.appspot.com/main.py:
* Websites/webkit-perf.appspot.com/models.py:
(PersistentCache.get_cache):
(DashboardImage):
(DashboardImage.key_name):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@109190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ChangeLog
Websites/webkit-perf.appspot.com/controller.py
Websites/webkit-perf.appspot.com/json_generators.py
Websites/webkit-perf.appspot.com/json_generators_unittest.py
Websites/webkit-perf.appspot.com/main.py
Websites/webkit-perf.appspot.com/models.py