Convert python/{docs,mach/docs,mozperftest/perfdocs,mozboot,
mozbuild/mozbuild/vendor/docs} RST to MyST-flavored Markdown, plus
the top-level READMEs for python/mach, python/mozboot, and
python/mozperftest.
Differential Revision: https://phabricator.services.mozilla.com/D304229
39 lines
1001 B
Markdown
39 lines
1001 B
Markdown
(mach-telemetry)=
|
|
|
|
# Mach Telemetry
|
|
|
|
[Glean](https://mozilla.github.io/glean/) is used to collect telemetry, and uses the metrics
|
|
defined in the `metrics.yaml` files in-tree.
|
|
These files are all documented in a single {ref}`generated file here<metrics>`.
|
|
|
|
```{toctree}
|
|
:maxdepth: 1
|
|
|
|
metrics
|
|
```
|
|
|
|
## Adding Metrics to a new Command
|
|
|
|
If you would like to submit telemetry metrics from your mach `@Command`, you should take two steps:
|
|
|
|
1. Parameterize your `@Command` annotation with `metrics_path`.
|
|
2. Use the `command_context.metrics` handle provided by `MachCommandBase`
|
|
|
|
For example:
|
|
|
|
```
|
|
METRICS_PATH = os.path.abspath(os.path.join(__file__, '..', '..', 'metrics.yaml'))
|
|
|
|
@Command('custom-command', metrics_path=METRICS_PATH)
|
|
def custom_command(command_context):
|
|
command_context.metrics.custom.foo.set('bar')
|
|
```
|
|
|
|
## Updating Generated Metrics Docs
|
|
|
|
When a `metrics.yaml` is added/changed/removed, {ref}`the metrics document<metrics>` will need to be updated:
|
|
|
|
```
|
|
./mach doc mach-telemetry
|
|
```
|