mozilla_schema_generator/bhr_ping.py (27 lines of code) (raw):
# -*- coding: utf-8 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# 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/.
from .common_ping import CommonPing
from .utils import prepend_properties
class BhrPing(CommonPing):
schema_url = (
"https://raw.githubusercontent.com/mozilla-services/mozilla-pipeline-schemas"
"/{branch}/schemas/telemetry/bhr/bhr.4.schema.json"
)
def __init__(self, **kwargs):
super().__init__(self.schema_url, **kwargs)
def _update_env(self, schema):
# hangs is an array of objects
stack = prepend_properties(("payload", "hangs")) + (
"items",
"properties",
"stack",
)
schema.set_schema_elem(
stack,
{
"type": "string",
"description": (
"JSON representation of the stack field."
" Injected by mozilla-schema-generator."
),
},
# this may otherwise overwrite the "items" fields
propagate=False,
)
return super()._update_env(schema)