Backed out changeset 8f84cc961e80 (bug 1790046) for multiple failures on a CLOSED TREE

This commit is contained in:
Andreea Pavel 2022-09-20 14:50:21 +03:00
Родитель 4753a3a777
Коммит e865bcb13c
3 изменённых файлов: 27 добавлений и 86 удалений

Просмотреть файл

@ -54,16 +54,11 @@ If you add a new definitions file, be sure to edit
`toolkit/components/glean/metrics_index.py`,
adding your definitions files to the Python lists therein.
If you don't, no API will be generated for your metrics and your build will fail.
You will have to decide which products your metrics will be used in.
For code that's also used in other Gecko-based products (Firefox Desktop, Firefox for Android, Focus for Android), use `gecko_metrics`.
For Desktop-only instrumentation use `firefox_desktop_metrics`.
For other products use their respective lists.
Changes to `metrics_index.py` are automatically reflected in the data pipeline once a day
using the [fog-updater automation in probe-scraper](https://github.com/mozilla/probe-scraper/tree/main/fog-updater).
Data will not show up in datasets and tools until this happens.
If something is unclear or data is not showing up in time you will need to file a bug in
`Data Platform and Tools :: General`.
In addition, do not forget to file a bug in `Data Platform and Tools :: General`
asking for your definitions files to be added to the others for `firefox_desktop`.
If you don't, your metrics will not show up in datasets and tools
because the pipeline won't know that they exist.
If you have any questions, be sure to ask on
[the #glean channel](https://chat.mozilla.org/#/room/#glean:mozilla.org).

Просмотреть файл

@ -4,89 +4,46 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# ATTENTION: Changes to this file will need to be reflected in probe-scraper[1].
# This should happen automatically once a day.
# If something is unclear or data is not showing up in time
# you will need to file a bug in Data Platform and Tools :: General.
#
# [1] https://github.com/mozilla/probe-scraper
# ATTENTION: If you make changes to this file you will need to file a bug in
# Data Platform and Tools :: General asking for the changes to be reflected
# in the data pipeline. Otherwise bad things will happen to good people:
# any new metrics files' metrics will not get columns in any datasets.
# Metrics that are sent by Gecko and everyone using Gecko
# (Firefox Desktop, Firefox for Android, Focus for Android, etc.).
# The list of all Glean metrics.yaml files, relative to the top src dir.
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
gecko_metrics = [
metrics_yamls = [
"browser/base/content/metrics.yaml",
"browser/components/metrics.yaml",
"browser/components/newtab/metrics.yaml",
"browser/components/search/metrics.yaml",
"browser/modules/metrics.yaml",
"dom/media/metrics.yaml",
"dom/metrics.yaml",
"gfx/metrics.yaml",
"netwerk/metrics.yaml",
"netwerk/protocol/http/metrics.yaml",
"toolkit/components/glean/metrics.yaml",
"toolkit/components/processtools/metrics.yaml",
]
# Metrics that are sent by Firefox Desktop
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
firefox_desktop_metrics = [
"browser/components/metrics.yaml",
"browser/components/newtab/metrics.yaml",
"browser/components/search/metrics.yaml",
"browser/modules/metrics.yaml",
"toolkit/components/extensions/metrics.yaml",
"toolkit/components/glean/metrics.yaml",
"toolkit/components/glean/tests/test_metrics.yaml",
"toolkit/components/nimbus/metrics.yaml",
"toolkit/components/pdfjs/metrics.yaml",
"toolkit/components/processtools/metrics.yaml",
"toolkit/components/search/metrics.yaml",
"toolkit/components/telemetry/metrics.yaml",
"toolkit/mozapps/update/metrics.yaml",
"toolkit/xre/metrics.yaml",
]
# Metrics that are sent by the Firefox Desktop Background Update Task
# The list of all Glean pings.yaml files, relative to the top src dir.
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
background_update_metrics = [
"toolkit/mozapps/update/metrics.yaml",
]
# Test metrics
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
test_metrics = [
"toolkit/components/glean/tests/test_metrics.yaml",
]
# The list of all Glean metrics.yaml files, relative to the top src dir.
# ONLY TO BE MODIFIED BY FOG PEERS!
metrics_yamls = (
gecko_metrics + firefox_desktop_metrics + background_update_metrics + test_metrics
)
# Pings that are sent by Gecko and everyone using Gecko
# (Firefox Desktop, Firefox for Android, Focus for Android, etc.).
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
gecko_pings = [
"toolkit/components/telemetry/pings.yaml",
]
# Pings that are sent by Firefox Desktop.
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
firefox_desktop_pings = [
pings_yamls = [
"browser/components/newtab/pings.yaml",
"toolkit/components/glean/pings.yaml",
]
# Pings that are sent by the Firefox Desktop Background Update Task
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
background_update_pings = [
"toolkit/components/glean/tests/test_pings.yaml",
"toolkit/components/telemetry/pings.yaml",
"toolkit/mozapps/update/pings.yaml",
]
# Test pings
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
test_pings = [
"toolkit/components/glean/tests/test_pings.yaml",
]
# The list of all Glean pings.yaml files, relative to the top src dir.
# ONLY TO BE MODIFIED BY FOG PEERS!
pings_yamls = gecko_pings + firefox_desktop_pings + background_update_pings + test_pings
# The list of tags that are allowed in the above to files, and their
# descriptions. Currently we restrict to a set scraped from bugzilla
# (via `./mach update-glean-tags`)

Просмотреть файл

@ -11,26 +11,15 @@ FOG_ROOT_PATH = path.abspath(
path.join(path.dirname(__file__), path.pardir, path.pardir)
)
sys.path.append(FOG_ROOT_PATH)
import metrics_index
from metrics_index import metrics_yamls, pings_yamls, tags_yamls
def test_yamls_sorted():
def test_yamls_sorted(yamls_to_test=[metrics_yamls, pings_yamls, tags_yamls]):
"""
Ensure the yamls indices are sorted lexicographically.
"""
# Ignore lists that are the concatenation of others.
to_ignore = ["metrics_yamls", "pings_yamls"]
# Fetch names of all variables defined in the `metrics_index` module.
yaml_lists = [item for item in dir(metrics_index) if not item.startswith("__")]
for name in yaml_lists:
if name in to_ignore:
continue
yamls_to_test = metrics_index.__dict__[name]
assert (
sorted(yamls_to_test) == yamls_to_test
), f"{name} must be be lexicographically sorted."
for yamls in yamls_to_test:
assert sorted(yamls) == yamls, "FOG YAMLs must be lexicographically sorted"
if __name__ == "__main__":