From: Anup Sharma <anupnewsmail@gmail.com>
To: Anup Sharma <anupnewsmail@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
linux-perf-users@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC] Adding Support for Firefox's Gecko Profile Format
Date: Wed, 16 Aug 2023 22:40:07 +0530 [thread overview]
Message-ID: <ZN0C7yXk/aORpsI1@yoga> (raw)
In-Reply-To: <ZNPwhctOgd0RdtwO@yoga>
On Thu, Aug 10, 2023 at 01:31:09AM +0530, Anup Sharma wrote:
> On Thu, Aug 03, 2023 at 12:29:51AM +0530, Anup Sharma wrote:
> > On Wed, Jul 26, 2023 at 04:22:51PM -0300, Arnaldo Carvalho de Melo wrote:
> > > Em Wed, Jul 26, 2023 at 11:34:17PM +0530, Anup Sharma escreveu:
> > > > Dear all,
> > > >
> > > > I want to share a recent development in our project that
> > > > I have been working on this week. I have successfully
> > > > implemented a new feature that allows users to directly
> > > > open the browser and visualize the output of perf.data
> > > > on Firefox Profiler.
> > >
> > > Excellent news!
> > >
> > > > To enhance user experience, I have made sure this option
> > > > is enabled by default. Additionally, I've also added a
> > > > handy command line argument, "--save-only," which allows
> > > > users to save the output file as needed. This enhancement
> > > > replaces the previous standard output method, providing a
> > > > much-improved experience.
> > > >
> > > > Moreover, Everything is processed locally, and no data is
> > > > sent to any server.
> > >
> > > That addresses the worry about sending possibly sensitive data over the
> > > network by default, great.
> > >
> > > > During this implementation, I had the opportunity to delve
> > > > into several exciting topics, including threading, HTTP server,
> > > > and CORS mechanisms. The learning process has been both
> > > > challenging and rewarding.
> > >
> > > Cool that you're so excited learning all this.
> > >
> > > > Currently, I am in the process of performing some clean-up tasks.
> > > > Once that is complete, I will be sharing the next version of the
> > > > series, which includes this fantastic new feature, with all of
> > > > you very soon.
> > > >
> > > > Thank you for your ongoing support and encouragement.
> > >
> > > Keep it up!
> >
> > This week, I'm working on documenting the gecko converter for our wiki.
> > I've dedicated a significant amount of time to think about the content
> > and how to approach it. So far, I've written sections covering the
> > introduction to Firefox Profiler and the formatting guidelines(not
> > published yet).
> >
> > However, I've left the usage part blank because I'm uncertain about how
> > to enable gecko.py arguments when executing the "perf script gecko" command.
> > I've looked at examples like flamegraph-report and sctop-report, but I'm
> > still confused. I attempted to enable the script to take the gecko.py
> > command example "perf script report gecko --save-only=profiler.json,"
> > but this caused issues when running "perf script gecko -a sleep 3" again.
> > This has left me feeling rather puzzled, and I would appreciate discussing
> > this during our office hour, or any help here.
> >
> > Due to this blocker, I haven't been able to send the updated patch
> > for test_gecko yet. However, I hope I'll find a solution soon and overcome
> > this obstacle.
>
> Hello All,
> As discussed during last office hour, I was little occupied this week, so
> I haven't been able to make much progress on my TODO list. Nonetheless,
> I've resent a server patch and test script patch for your review. If I can
> get it reviewed it would be great to make further progress.
>
> I'm also working on writing documentation for our wiki. I've already written a
> bit, and you can see it here: https://perf.wiki.kernel.org/index.php/Tutorial#Firefox_Profiler.
> If you have any thoughts or suggestions, I'd appreciate hearing them. I'll add
> more details once I've sorted out some issues I'm having with certain commands.
>
> This week, I do not have a specific agenda. Hence, if we opt to skip this week's
> office hour, it wouldn't pose any inconvenience. Nevertheless, I am available if
> there are matters you wish to discuss.
>
> Here's what I have in mind to work on next:
>
> 1. Making sure that gecko script args work with commands, like
> (perf script gecko --save-only=profile.json) or (perf script gecko --kernel-color=green),which
> aren't working right now.
I have done this part and sent the patch for review.
https://lore.kernel.org/all/ZNf7W+EIrrCSHZN0@yoga/
> 2. Trying out "perf record -p firefox" or using it with a specific process ID to
> see if the current script supports these recording commands.
This is working with the existing script. I've tested it and documented it as well.
https://perf.wiki.kernel.org/index.php/Tutorial#Firefox_Profiler
> 3. Adding page fault and one more event in stackTable in gecko script.
I have few doubt regarding this will discuss in office hour.
> 4. Making the documentation better.
I am trying to make it better, but I'm not sure if it's good enough. Here's the link:
https://perf.wiki.kernel.org/index.php/Tutorial#Firefox_Profiler
I also need to understand on how to prepare the final report for GSoC and
planning to record a 5 min tutorial video on how to use the script.
Moreover, I need to make the script run as a root user.
This are few TODOs I have in mind. Please let me know if you have any suggestions.
> Thanks,
> Anup
>
> > > - Arnaldo
> > >
> > > > Thanks,
> > > > Anup
> > > >
> > > > > > Regards,
> > > > > > Anup
> > > > > > > >
> > > > > > > >>
> > > > > > > >> The second challenge revolved around the usage of event hooks provided with the perf script
> > > > > > > >> python event handlers. I found myself deliberating between two approaches. The first
> > > > > > > >> approach involved creating custom functions that would be called using the event
> > > > > > > >> handlers. These functions would then save the data in an organized format within
> > > > > > > >> globally created data structures. The alternative approach was to write the entire
> > > > > > > >> logic inside the event handlers themselves.
> > > > > > > >>
> > > > > > > >> Additionally, I contemplated whether it would be more suitable to handle the creation of
> > > > > > > >> a Gecko format for JSON and the profile format within the same script or to separate
> > > > > > > >> them into different scripts.
> > > > > > > >>
> > > > > > > >> I will discuss this points during tomorrow's office hour.
> > > > > > > >>
> > > > > > > >> However, I have gained a deeper understanding of the problem at hand and will use this
> > > > > > > >> knowledge to make more informed decisions and progress more effectively in the coming weeks.
> > > > > > > >
> > > > > > > > Sounds like you did a good amount of research on how perf script
> > > > > > > > works. We can talk about the details in the meeting.
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > > Namhyung
> > > > > > >
> > >
> > > --
> > >
> > > - Arnaldo
next prev parent reply other threads:[~2023-08-16 17:11 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-24 19:25 [RFC] Adding Support for Firefox's Gecko Profile Format Anup Sharma
2023-05-25 20:52 ` Namhyung Kim
2023-05-26 15:17 ` Ian Rogers
2023-05-26 19:49 ` Anup Sharma
2023-06-01 20:49 ` Anup Sharma
2023-06-05 21:47 ` Anup Sharma
2023-06-08 6:58 ` Ian Rogers
2023-06-08 12:53 ` Anup Sharma
2023-06-14 20:14 ` Anup Sharma
2023-06-14 20:17 ` Ian Rogers
2023-06-28 20:11 ` Anup Sharma
2023-06-29 6:26 ` Namhyung Kim
2023-06-29 6:35 ` Adrian Hunter
2023-07-04 14:38 ` Anup Sharma
2023-07-04 17:52 ` Anup Sharma
2023-07-26 18:04 ` Anup Sharma
2023-07-26 19:22 ` Arnaldo Carvalho de Melo
2023-08-02 18:59 ` Anup Sharma
2023-08-09 20:01 ` Anup Sharma
2023-08-16 17:10 ` Anup Sharma [this message]
2023-09-18 3:39 ` Anup Sharma
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZN0C7yXk/aORpsI1@yoga \
--to=anupnewsmail@gmail.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).