blob: ca78054a34ae9583618cc6210fe30ad4d5509eeb [file] [log] [blame] [view]
# benchmark
This application connects to another mojo application, collects traces during
indicated period of time and computes a number of results based on the collected
traces. It can be used to measure performance of a mojo app, provided that the
app being benchmarked participates in the [tracing
ecosystem](../../mojo/services/tracing/public/interfaces/tracing.mojom).
## Arguments
The benchmarking app expects the following arguments:
- `--app=<app_url>` - url of the application to be benchmarked
- `--duration=<duration_seconds>` - duration of the benchmark in seconds
any other arguments are assumed to be descriptions of measurements to be
conducted on the collected trace data. Each measurement has to be of form:
`<measurement_type>/<trace_event_category>/<trace_event_name>`.
The following measurement types are available:
- `time_until` - measures time until the first occurence of the event named
`trace_event_name` in category `trace_event_category`.
- `avg_duration` - measures average duration of all events named
`trace_event_name` in category `trace_event_category`.
## Runner script
Devtools offers [a helper script](../../mojo/devtools/common/mojo_benchmark)
allowing to run a list of benchmarks, including on an Android device.