From 6ada7cfbc952d5120b7fcbd59bf402e4737856f7 Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Fri, 10 Mar 2017 21:04:13 +0100 Subject: [PATCH] Strip java related things and handle inlined stacks produced by dtrace. --- stackcollapse.pl | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/stackcollapse.pl b/stackcollapse.pl index f5ebda1f..17144bb6 100755 --- a/stackcollapse.pl +++ b/stackcollapse.pl @@ -88,7 +88,20 @@ sub remember_stack { $frame =~ s/(::.*)[(<].*/$1/; $frame = "-" if $frame eq ""; - unshift @stack, $frame; + + my @inline; + for (split /\->/, $frame) { + my $func = $_; + + # Strip out L and ; included in java stacks + $func =~ tr/\;/:/; + $func =~ s/^L//; + $func .= "_[i]" if scalar(@inline) > 0; #inlined + + push @inline, $func; + } + + unshift @stack, @inline; } foreach my $k (sort { $a cmp $b } keys %collapsed) {