| 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 |