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 class’s @CommandProvider annotation with metrics_path.

  2. Use the self.metrics handle provided by MachCommandBase

For example:

METRICS_PATH = os.path.abspath(os.path.join(__file__, '..', '..', 'metrics.yaml'))

@CommandProvider(metrics_path=METRICS_PATH)
class CustomCommand(MachCommandBase):
    @Command('custom-command')
    def custom_command(self):
        self.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