Skip to content

Add --pids and --max-depth to flame command and use Go implementation of stackcollapse-perf to eliminate Perl dependency#332

Merged
harp-intel merged 31 commits into
mainfrom
stackcollapse
May 13, 2025
Merged

Add --pids and --max-depth to flame command and use Go implementation of stackcollapse-perf to eliminate Perl dependency#332
harp-intel merged 31 commits into
mainfrom
stackcollapse

Conversation

@harp-intel
Copy link
Copy Markdown
Contributor

@harp-intel harp-intel commented May 6, 2025

  • Replace stackcollapse-perf.pl (Perl) with Go implementation so that Perl is not a pre-requisite for collecting flame graphs.
  • Refactor Java and Native call stack collection scripts into a single script.
  • Change the --pid flag to --pids and accept a comma separated list of PIDs for the flamegraph.
  • Add --max-depth flag to limit the depth of rendered HTML flamegraph.

harp-intel added 30 commits May 6, 2025 10:05
…ncy.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
…ncy.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
…ncy.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
…ncy.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
…collapse

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
@harp-intel harp-intel changed the title Use Go implementation of stackcollapse-perf to eliminate Perl dependency Add --pids to flamegraph and use Go implementation of stackcollapse-perf to eliminate Perl dependency May 12, 2025
@harp-intel harp-intel changed the title Add --pids to flamegraph and use Go implementation of stackcollapse-perf to eliminate Perl dependency Add --pids and --max-depth to flame command and use Go implementation of stackcollapse-perf to eliminate Perl dependency May 13, 2025
@harp-intel harp-intel merged commit 7792ede into main May 13, 2025
4 checks passed
@harp-intel harp-intel deleted the stackcollapse branch May 13, 2025 11:58
@harp-intel harp-intel linked an issue May 13, 2025 that may be closed by this pull request
echiugoog pushed a commit to echiugoog/PerfSpect that referenced this pull request May 21, 2025
… of stackcollapse-perf to eliminate Perl dependency (intel#332)

* Use Go implementation of stackcollapse-perf to eliminate Perl dependency.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Add go.mod file for stackcollapse-perf module

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* spelling

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Remove stackcollapse-perf reset command from Makefile

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* use go stackcollapse

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Use Go implementation of stackcollapse-perf to eliminate Perl dependency.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Add go.mod file for stackcollapse-perf module

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* spelling

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Remove stackcollapse-perf reset command from Makefile

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* use go stackcollapse

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* fix out of range panic

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* add maximum depth of flame graph rendering

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* refactor and add unit tests

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Use Go implementation of stackcollapse-perf to eliminate Perl dependency.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Add go.mod file for stackcollapse-perf module

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* spelling

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Remove stackcollapse-perf reset command from Makefile

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* use go stackcollapse

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Use Go implementation of stackcollapse-perf to eliminate Perl dependency.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Add go.mod file for stackcollapse-perf module

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* Remove stackcollapse-perf reset command from Makefile

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* fix out of range panic

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* add maximum depth of flame graph rendering

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* refactor and add unit tests

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* support multiple pids

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* set cwd to temp dir in script

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* more refactoring

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

* replace log with slog

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>

---------

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add support for profiling multiple PIDs in flame command

1 participant