1# Getting started with the Performance Dashboard
2
3## Prerequisites
4
5Running the tests, running the local server and
6deploying all depends on having the [the App Engine
7SDK](https://cloud.google.com/appengine/downloads).
8
9After downloading and unpacking, you should add the path to the SDK to
10both `PATH` and `PYTHONPATH`.
11
12## Running the tests
13
14To run the Python unit tests, use `bin/run_py_tests`. To run the front-end
15component tests, use `bin/run_dev_server_tests`.
16
17## Running a local instance
18
19Run `bin/dev_server`; this sets up a temporary directory, adds links to
20required libraries, and calls `dev_appserver.py` on that directory.  By
21default, this starts a server on [localhost:8080](http://localhost:8080/).
22
23To load sample graph or alert data from production, navigate to
24[/load\_from\_prod](http://localhost:8080/load_from_prod).
25
26## Deploying to production
27
28To deploy, you can run `bin/deploy`, which prepares the
29code to be deployed and runs `appcfg.py`. Note that this
30doesn't set the new version as the default version; to do
31this, you can use the versions page on the [Google Developers
32Console](https://console.developers.google.com/) if you have edit or
33owner permissions for the App Engine project; otherwise if you want to
34request to set a new default version for chromeperf.appspot.com you can
35contact chrome-perf-dashboard-team@google.com.
36
37After deploying, there is a checklist to verify that no major functionality
38has regressed: [deploy checklist](/dashboard/docs/deploy-checklist.md).
39
40WARNING: Some changes to production may not be easily reversible; for
41example `appcfg.py ... vacuum_indexes` will remove datastore indexes that
42are not in your local index.yaml file, which may take more than 24 hours,
43and will disable any queries that depend on those indexes.
44
45## Where to find documentation
46
47- [App Engine](https://developers.google.com/appengine/docs/python/)
48- [Polymer](http://www.polymer-project.org/) (web component framework)
49- [Flot](http://flotcharts.org/) (JS chart plotting library)
50- [App engine stubs](https://developers.google.com/appengine/docs/python/tools/localunittesting)
51- [Python mock](http://www.voidspace.org.uk/python/mock/)
52