in mozilla_schema_generator/glean_ping.py [0:0]
def get_schema(self, generic_schema=False) -> Schema:
"""
Fetch schema via URL.
Unless *generic_schema* is set to true, this function makes some modifications
to allow some workarounds for proper injection of metrics.
"""
schema = super().get_schema()
if generic_schema:
return schema
# We need to inject placeholders for the url2, text2, etc. types as part
# of mitigation for https://bugzilla.mozilla.org/show_bug.cgi?id=1737656
for metric_name in ["labeled_rate", "jwe", "url", "text"]:
metric1 = schema.get(
("properties", "metrics", "properties", metric_name)
).copy()
metric1 = schema.set_schema_elem(
("properties", "metrics", "properties", metric_name + "2"),
metric1,
)
return schema