Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Appengine Frontend for Clovis | 1 # Appengine Frontend for Clovis |
| 2 | 2 |
| 3 [TOC] | 3 [TOC] |
| 4 | 4 |
| 5 ## Usage | 5 ## Usage |
| 6 | 6 |
| 7 Visit the application URL in your browser, and upload a JSON dictionary with the | 7 Visit the application URL in your browser, and upload a JSON dictionary with the |
| 8 following keys: | 8 following keys: |
| 9 | 9 |
| 10 - `action` (string): the action to perform. Only `trace` is supported. | 10 - `action` (string): the action to perform. Only `trace` and `report` are |
| 11 supported. | |
| 11 - `action_params` (dictionary): the parameters associated to the action. | 12 - `action_params` (dictionary): the parameters associated to the action. |
| 12 See below for more details. | 13 See below for more details. |
| 13 - `backend_params` (dictionary): the parameters configuring the backend for | 14 - `backend_params` (dictionary): the parameters configuring the backend for |
| 14 this task. See below for more details. | 15 this task. See below for more details. |
| 15 | 16 |
| 16 ### Parameters for `backend_params` | 17 ### Parameters for `backend_params` |
| 17 | 18 |
| 18 - `instance_count` (int): Number of Compute Engine instances that will be | 19 - `instance_count` (int): Number of Compute Engine instances that will be |
| 19 started for this task. | 20 started for this task. |
| 20 - `storage_bucket` (string): Name of the storage bucket used by the backend | 21 - `storage_bucket` (string): Name of the storage bucket used by the backend |
| 21 instances. Backend code and data must have been previously deployed to this | 22 instances. Backend code and data must have been previously deployed to this |
| 22 bucket using the `deploy.sh` [script][4]. | 23 bucket using the `deploy.sh` [script][4]. |
| 23 - `tag` (string, optional): tag internally used to associate tasks to backend | 24 - `tag` (string, optional): tag internally used to associate tasks to backend |
| 24 ComputeEngine instances. This parameter should not be set in general, as it | 25 ComputeEngine instances. This parameter should not be set in general, as it |
| 25 is mostly exposed for development purposes. If this parameter is not | 26 is mostly exposed for development purposes. If this parameter is not |
| 26 specified, a unique tag will be generated. | 27 specified, a unique tag will be generated. |
| 27 - `timeout_hours` (int, optional): if workers are still alive after this | 28 - `timeout_hours` (int, optional): if workers are still alive after this |
| 28 delay, they will be forcibly killed, to avoid wasting Compute Engine | 29 delay, they will be forcibly killed, to avoid wasting Compute Engine |
| 29 resources. Defaults to `5`. | 30 resources. Defaults to `5`. |
| 30 | 31 |
| 31 ### Parameters for the `trace` action | 32 ### Parameters for the `trace` action |
| 32 | 33 |
| 33 - `urls` (list of strings): the list of URLs to process. | 34 - `urls` (list of strings): the list of URLs to process. |
| 34 - `repeat_count` (integer, optional): the number of traces to be generated | 35 - `repeat_count` (integer, optional): the number of traces to be generated |
| 35 for each URL. Defaults to 1. | 36 for each URL. Defaults to 1. |
| 36 - `emulate_device` (string, optional): the device to emulate (e.g. `Nexus 4`). | 37 - `emulate_device` (string, optional): the device to emulate (e.g. `Nexus 4`). |
| 37 - `emulate_network` (string, optional): the network to emulate. | 38 - `emulate_network` (string, optional): the network to emulate. |
| 38 | 39 |
| 40 ### Parameters for the `report` action | |
| 41 | |
| 42 - `urls` (list of strings): the list of URLs to process. | |
|
blundell
2016/05/11 10:35:39
I would think we'll also want a mode where you jus
droger
2016/05/11 11:16:27
Very good point.
This was my initial idea too, but
| |
| 43 | |
| 39 ## Development | 44 ## Development |
| 40 | 45 |
| 41 ### Design overview | 46 ### Design overview |
| 42 | 47 |
| 43 - Appengine configuration: | 48 - Appengine configuration: |
| 44 - `app.yaml` defines the handlers. There is a static handler for all URLs | 49 - `app.yaml` defines the handlers. There is a static handler for all URLs |
| 45 in the `static/` directory, and all other URLs are handled by the | 50 in the `static/` directory, and all other URLs are handled by the |
| 46 `clovis_frontend.py` script. | 51 `clovis_frontend.py` script. |
| 47 - `queue.yaml` defines the task queues associated with the application. In | 52 - `queue.yaml` defines the task queues associated with the application. In |
| 48 particular, the `clovis-queue` is a pull-queue where tasks are added by | 53 particular, the `clovis-queue` is a pull-queue where tasks are added by |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 98 # Install dependencies in the lib/ directory. | 103 # Install dependencies in the lib/ directory. |
| 99 pip install -r requirements.txt -t lib | 104 pip install -r requirements.txt -t lib |
| 100 # Deploy. | 105 # Deploy. |
| 101 gcloud preview app deploy app.yaml | 106 gcloud preview app deploy app.yaml |
| 102 ``` | 107 ``` |
| 103 | 108 |
| 104 [1]: https://cloud.google.com/sdk | 109 [1]: https://cloud.google.com/sdk |
| 105 [2]: https://cloud.google.com/appengine/docs/python/taskqueue | 110 [2]: https://cloud.google.com/appengine/docs/python/taskqueue |
| 106 [3]: https://cloud.google.com/appengine/docs/python/config/queue | 111 [3]: https://cloud.google.com/appengine/docs/python/config/queue |
| 107 [4]: ../backend/README.md#Deploy-the-code | 112 [4]: ../backend/README.md#Deploy-the-code |
| OLD | NEW |