__init__.py |
|
0 |
analyze.py |
The analysis is based on stack frames of the following form:
[
{
"event_timeabs": 1617121013137,
"session_startabs": 1617120840000,
"build_id": "20210329095128",
"client_id": "0013a68f-9893-461a-93d4-2d7a2f85583f",
"session_id": "8cd37159-bd5c-481c-99ad-9eace9ea726a",
"seq": 1,
"context": "Initialization::TemporaryStorage",
"source_file": "dom/localstorage/ActorsParent.cpp",
"source_line": "1018",
"severity": "ERROR",
"result": "NS_ERROR_FILE_NOT_FOUND"
},
...
]
The location of the input file is expected to be found in the
last item of the list inside qmexecutions.json.
|
5129 |
cli.py |
|
631 |
fetch.py |
The analysis is based on the following query:
https://sql.telemetry.mozilla.org/queries/78691/source?p_day=28&p_month=03&p_year=2021
SELECT UNIX_MILLIS(timestamp) AS submit_timeabs,
session_start_time,
submission_date,
build_id,
client_id,
session_id,
event_timestamp,
CAST(mozfun.map.get_key(event_map_values, "seq") AS INT64) AS seq,
mozfun.map.get_key(event_map_values, "context") AS context,
mozfun.map.get_key(event_map_values, "source_file") AS source_file,
mozfun.map.get_key(event_map_values, "source_line") AS source_line,
mozfun.map.get_key(event_map_values, "severity") AS severity,
mozfun.map.get_key(event_map_values, "result") AS result,
FROM telemetry.events
WHERE submission_date >= CAST('{{ year }}-{{ month }}-{{ day }}' AS DATE)
AND event_category='dom.quota.try'
AND build_id >= '{{ build }}'
AND UNIX_MILLIS(timestamp) > {{ last }}
ORDER BY submit_timeabs
LIMIT 600000
We fetch events in chronological order, as we want to keep track of where we already
arrived with our analysis. To accomplish this we write our runs into qmexecutions.json.
[
{
"workdir": ".",
"daysback": 1,
"numrows": 17377,
"lasteventtime": 1617303855145,
"rawfile": "./qmrows_until_1617303855145.json"
}
]
lasteventtime is the highest value of event_timeabs we found in our data.
analyze_qm_failures instead needs the rows to be ordered by
client_id, session_id, thread_id, submit_timeabs, seq
Thus we sort the rows accordingly before writing them.
|
4378 |
fetch_fn_names.sh |
|
575 |
fn_anchors.py |
|
2231 |
logging.py |
|
566 |
report.py |
Report QM failures to Bugzilla based on stack analysis.
|
8784 |
stackanalysis.py |
|
13341 |
telemetry.py |
|
1668 |
utils.py |
|
2473 |