Mach Telemetry

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 generated file here.

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, the metrics document will need to be updated:

./mach doc mach-telemetry