Bug 1542709 Comment 2 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Currently, we only parse the applications `metrics.yaml` and the standard Glean `metrics.yaml`. That means any additional fields will not be included in the output, so for example, those that come from any component that is also reporting Glean metrics.

To include those, I propose the following:

Requirements:
* For a component's Glean metric to be reported for any application, that component must be included in the probe-info-service.
* For an application to include component Glean metrics, they must be defined in a single (configurable) location, e.g. `Dependencies.kt`. *Currently, I don't see a good way to do this with the A-C dependency in Fenix.*
* Glean metrics never change in a BigQuery schema-incompatible way (for example, changing types). This is not a new requirement but is especially important here.
* The BigQuery tables created for any application using a component will always be the _latest_ version of that component's metrics, even if the dependency is not at the latest version.

Given these two requirements, we can:
A. In probe-scraper:
  1. Parse the `metrics.yaml` for every application
  2. Parse and include an additional included dependencies file for every application
B. During schema generation:
  1. Create a dependency graph for every application
  2. Include metrics and pings in an application for any dependency it includes

Alessio, can your team look at how we handle dependencies, specifically the Android-Components, and come up with a way for us to parse them? That is the only piece I'm not clear about handling.
Currently, we only parse the applications `metrics.yaml` and the standard Glean `metrics.yaml`. That means any additional fields will not be included in the output, so for example, those that come from any component that is also reporting Glean metrics.

To include those, I propose the following:

Requirements:
* For a component's Glean metric to be reported for any application, that component must be included in the probe-info-service.
* For an application to include component Glean metrics, they must be defined in a single (configurable) location, e.g. `Dependencies.kt`. *Currently, I don't see a good way to do this with the A-C dependency in Fenix.*
* Glean metrics never change in a BigQuery schema-incompatible way (for example, changing types). This is not a new requirement but is especially important here.
* The BigQuery tables created for any application using a component will always be the _latest_ version of that component's metrics, even if the dependency is not at the latest version.

Given these two requirements, we can:
* In probe-scraper:
    1. Parse the `metrics.yaml` for every application
    2. Parse and include an additional included dependencies file for every application
* During schema generation:
    1. Create a dependency graph for every application
    2. Include metrics and pings in an application for any dependency it includes

Alessio, can your team look at how we handle dependencies, specifically the Android-Components, and come up with a way for us to parse them? That is the only piece I'm not clear about handling.

Back to Bug 1542709 Comment 2