Files
tubestation/python/mach/docs/telemetry.rst
Alex Lopez f066b3d2b0 Bug 1696251 - Move metrics_path parameter from @CommandProvider to @Command/@SubCommand . r=mhentges
As a step to remove the need to use @CommandProvider, we are moving
the metrics_path parameter to @Command.

Differential Revision: https://phabricator.services.mozilla.com/D108092
2021-03-17 14:14:14 +00:00

40 lines
1.1 KiB
ReStructuredText

.. _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:
#. Parameterize your ``@Command`` annotation with ``metrics_path``.
#. Use the ``self.metrics`` handle provided by ``MachCommandBase``
For example::
METRICS_PATH = os.path.abspath(os.path.join(__file__, '..', '..', 'metrics.yaml'))
@CommandProvider
class CustomCommand(MachCommandBase):
@Command('custom-command', metrics_path=METRICS_PATH)
def custom_command(self):
self.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