in mozetl/bhr_collection/bhr_collection.py [0:0]
def process_hangs(ping, config):
build_date = ping["application/build_id"][:8] # "YYYYMMDD" : 8 characters
platform = "{}".format(ping["environment/system/os/name"])
modules = ping["payload/modules"]
hangs = [process_hang(h) for h in ping["payload/hangs"]]
if hangs is None:
return []
pre_result = [
(
[
process_frame(frame, modules)
for frame in h["stack"]
if not isinstance(frame, list) or len(frame) == 2
],
h["duration"],
h["thread"],
"",
h["process"],
h["annotations"],
build_date,
platform,
)
for h in hangs
if filter_hang(h, config)
]
result = []
for (
stack,
duration,
thread,
runnable_name,
process,
annotations,
build_date,
platform,
) in pre_result:
result.append(
(
stack,
duration,
thread,
runnable_name,
process,
annotations,
build_date,
platform,
)
)
if "PaintWhileInterruptingJS" in annotations:
result.append(
(
stack,
duration,
"Gecko_Child_ForcePaint",
runnable_name,
process,
annotations,
build_date,
platform,
)
)
return result