Re: [PATCH v4 0/6] Add support for Firefox's gecko profile format

From: Arnaldo Carvalho de Melo
Date: Thu Jul 20 2023 - 11:14:36 EST


Em Wed, Jul 19, 2023 at 04:34:28PM +0530, Anup Sharma escreveu:
> On Wed, Jul 19, 2023 at 04:15:52AM +0530, Anup Sharma wrote:
> > 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 v3:
> a small typo here. It should be v4 instead of v3 (changes in v4).
> > - Implemented object-oriented programming (OOP) approach for Thread and Sample
> > to improve code organization and maintainability.
> > - Enhanced user experience by introducing argparse for changing color settings
> > of user and kernel symbols during execution.
> > - Ensured proper module encapsulation by adding imports wherever necessary.
> > - Improved code readability by adding descriptive comments and type annotations.
> >
> > These changes focus on adopting OOP principles, enhancing user interaction with argparse,
> > and making the code more readable with comments and type information.
> >
> > TODO:
> > - use cpu_mode to determine the category instead of finding it from symbol name.
> > - Write a test.
> > - add direct execution command for this script under script/python/bin directory.
> >
> > 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 firefox-gecko-converter.py > output.json
> > - upload output.json to profiler.firefox.com

I see it in the cover letter, will try now.

> > [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 (6):
> > 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 internal get or create frame, stack and
> > string function
> > perf scripts python: Implement add sample function and thread
> > processing
> >
> > .../scripts/python/firefox-gecko-converter.py | 339 ++++++++++++++++++
> > 1 file changed, 339 insertions(+)
> > create mode 100644 tools/perf/scripts/python/firefox-gecko-converter.py
> >
> > --
> > 2.34.1
> >

--

- Arnaldo