OLD | NEW |
1 # benchmark | 1 # benchmark |
2 | 2 |
3 This application connects to another mojo application, collects traces during | 3 This application connects to another mojo application, collects traces during |
4 indicated period of time and computes a number of results based on the collected | 4 indicated period of time and computes a number of results based on the collected |
5 traces. It can be used to measure performance of a mojo app, provided that the | 5 traces. It can be used to measure performance of a mojo app, provided that the |
6 app being benchmarked participates in the [tracing | 6 app being benchmarked participates in the [tracing |
7 ecosystem](../../mojo/services/tracing/public/interfaces/tracing.mojom). | 7 ecosystem](../../mojo/services/tracing/public/interfaces/tracing.mojom). |
8 | 8 |
9 ## Arguments | 9 ## Arguments |
10 | 10 |
11 The benchmarking app **requires** the following arguments: | 11 The benchmarking app **requires** the following arguments: |
12 | 12 |
13 - `--app=<app_url>` - url of the application to be benchmarked | 13 - `--app=<app_url>` - url of the application to be benchmarked |
14 - `--duration=<duration_seconds>` - duration of the benchmark in seconds | 14 - `--duration=<duration_seconds>` - duration of the benchmark in seconds |
15 | 15 |
16 The following arguments are **optional**: | 16 The following arguments are **optional**: |
17 | 17 |
18 - `--trace-output=<output_file_path>` - local file path at which the collected
trace | 18 - `--trace-output=<output_file_path>` - local file path at which the collected
trace |
19 will be written | 19 will be written |
20 | 20 |
21 Any other arguments are assumed to be descriptions of measurements to be | 21 Any other arguments are assumed to be descriptions of measurements to be |
22 conducted on the collected trace data. Each measurement has to be of form: | 22 conducted on the collected trace data. Each measurement has to be of form: |
23 `<measurement_type>/<trace_event_category>/<trace_event_name>`. | 23 `<measurement_type>/<measurement_arg_1>/<measurement_arg_2>/...`. |
24 | 24 |
25 The following measurement types are available: | 25 The following measurement types are available: |
26 | 26 |
27 - `time_until` - measures time until the first occurence of the event named | 27 - `time_until/<trace_event_category>/<trace_event_name>` - measures time until |
28 `trace_event_name` in category `trace_event_category`. | 28 the first occurence of the event named `trace_event_name` in category |
29 - `avg_duration` - measures average duration of all events named | 29 `trace_event_category`. |
30 `trace_event_name` in category `trace_event_category`. | 30 - `time_between/<first_event_category>/<first_event_name>/<second_event_categor
y>/<second_event_name>` |
| 31 measures time between the first occurence of the event named |
| 32 `<first_event_name>` in category `<first_event_category>` and the first occur
ence |
| 33 of the event named `<second_event_name>` in category |
| 34 `<second_event_category>`. The measurement will fail if the first occurence |
| 35 of the first event happens after the first occurence of the second event. |
| 36 - `avg_duration/<trace_event_category>/<trace_event_name>` - measures average |
| 37 duration of all events named `trace_event_name` in category |
| 38 `trace_event_category`. |
31 | 39 |
32 ## Runner script | 40 ## Runner script |
33 | 41 |
34 Devtools offers [a helper script](../../mojo/devtools/common/mojo_benchmark) | 42 Devtools offers [a helper script](../../mojo/devtools/common/mojo_benchmark) |
35 allowing to run a list of benchmarks in controlled caching conditions, both | 43 allowing to run a list of benchmarks in controlled caching conditions, both |
36 on **Android** and **Linux**. | 44 on **Android** and **Linux**. |
OLD | NEW |