From 6468e8ba879d236064bcb375383577a6cb6c2410 Mon Sep 17 00:00:00 2001 From: Brendan Gregg Date: Thu, 4 Dec 2014 16:40:53 -0800 Subject: [PATCH] only drop "L" (Java signature) for "java" processes --- stackcollapse-perf.pl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/stackcollapse-perf.pl b/stackcollapse-perf.pl index bac439ff..92776469 100755 --- a/stackcollapse-perf.pl +++ b/stackcollapse-perf.pl @@ -72,7 +72,7 @@ sub remember_stack { chomp; if (m/^$/) { - if (defined $pname) { unshift @stack, $pname; } + if ($include_pname) { unshift @stack, $pname; } remember_stack(join(";", @stack), 1) if @stack; undef @stack; undef $pname; @@ -80,17 +80,18 @@ sub remember_stack { } if (/^(\S+)\s/) { - $include_pname and $pname = $1; # else skip this line + $pname = $1; } elsif (/^\s*\w+\s*(.+) (\S+)/) { my ($func, $mod) = ($1, $2); next if $func =~ /^\(/; # skip process names - if ($tidy_java) { + if ($tidy_java and $pname eq "java") { # eg, convert the following: # Lorg/mozilla/javascript/ContextFactory;.call(Lorg/mozilla/javascript/ContextAction;)Ljava/lang/Object; # Lorg/mozilla/javascript/ContextFactory;.call(Lorg/mozilla/javascript/C # Lorg/mozilla/javascript/MemberBox;.(Ljava/lang/reflect/Method;)V # into: # org/mozilla/javascript/ContextFactory:.call + # org/mozilla/javascript/ContextFactory:.call # org/mozilla/javascript/MemberBox:.init $func =~ s/;/:/g; $func =~ tr/<>//d;