/metric-hub

Central hub for metric definitions that are considered the source of truth

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

metric-hub

metric-hub is the central source of truth for the definitions and metadata related to all of Mozilla's relevant business metrics. metric-hub is very much what is known as a "semantic layer", in that the metric values themselves exist in the data warehouse, and the metric implementations exist in the data processing layer made of our ETL infrastructure. metric-hub metric definitions can be thought of as pointers to the outputs of the canonical metric implementations, and it provides the abstraction layer that allows folks to access metric values without needing to know anything about the SQL required to extract those values from our warehouse.

Some metrics may only be needed within a limited context, such as a value to be tracked over the course of an experiment (handled by jetstream, our automated experiment analysis framework), or a piece of data to be continuously monitored for one or more populations (via OpMon, an operational monitoring tool used to watch the impact of scaled roll-outs and to support certain product health dashboards). Other metrics are much more widely impactful, such as organizational KPIs and high level product success measurements.

For more information on how to add metric definitions please see the docs on docs.telemetry.mozilla.org

All metric definitions can and should be referenced in other tooling and their configurations, including jetstream, OpMon, BigQuery ETL, and Python scripts. All metrics are also made available in auto-generated Looker Explores, from which visualizations and dashboards can be generated.

  • Jetstream specific configs or defaults can be added in the jetstream/ directory.
  • OpMon specific configs or defaults can be added in the opmon/ directory.
  • Looker Explore specific configs or defaults can be added in the looker/ directory. This directory also supports the definitions of "statistics" (i.e. specific aggregations of metric-hub metrics), which will be materialized as measures in the autogenerated Explores. How to do this is explained in detail in the documentation.

Tool-specific configs take precedence over the metric definitions in the top level definitions/ folder when used in the tooling, while in all other contexts definitions/ is seen as the source of truth.