[PATCH v5 0/8] Add support for Firefox's gecko profile format

From: Anup Sharma
Date: Fri Jul 21 2023 - 13:51:17 EST


This patch series adds support for Firefox's gecko profile format.
The format is documented here [1].

I have incorporated several changes based on feedback from the
previous version of the patch.

Changes in v5:
- Reorganized the patch series to ensure that each patch works independently.
- Renamed the file to perf-gecko.py.
- Added command exection support for the script. The script can now be
executed as "perf script report perf-gecko > output.json."
- Simplified the usage information; previously it was "perf script
perf-gecko.py > output.json," now it is "perf script report
perf-gecko > output.json."
- Merged the test and command execution patches into this series,
which were previously in a separate series.

Committer Testing:
- Tested with a perf.data file generated for single and multiple cpu
cores enabled.
- Uploaded the stdout into profiler.firefox.com and verified the
output.
- Verified the output with the output generated by the existing
script as mentioned here [2].

Method:
- perf record -F 99 -a -g -- sleep 5
- perf script report perf-gecko > output.json
- upload output.json to profiler.firefox.com

[1] https://github.com/firefox-devtools/profiler/blob/main/docs-developer/gecko-profile-format.md
[2] https://perf.wiki.kernel.org/index.php/Tutorial#Firefox_Profiler

Anup Sharma (8):
perf scripts python: Add initial script file with usage information
perf scripts python: Extact necessary information from process event
perf scripts python: Add classes and conversion functions
perf scripts python: Add trace end processing and PRODUCT and
CATEGORIES information
perf scripts python: Implement add sample function and thread
processing
perf scripts python: Implement add sample function and thread
processing
perf scripts python: Add command execution for firefox gecko converter
script
perf test: Add support for testing firefox gecko converter script

.../perf/scripts/python/bin/perf-gecko-record | 2 +
.../perf/scripts/python/bin/perf-gecko-report | 3 +
tools/perf/scripts/python/perf-gecko.py | 339 ++++++++++++++++++
tools/perf/tests/shell/test_perf_gecko.sh | 188 ++++++++++
4 files changed, 532 insertions(+)
create mode 100644 tools/perf/scripts/python/bin/perf-gecko-record
create mode 100644 tools/perf/scripts/python/bin/perf-gecko-report
create mode 100644 tools/perf/scripts/python/perf-gecko.py
create mode 100755 tools/perf/tests/shell/test_perf_gecko.sh

--
2.34.1