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 |