1234567891011121314151617181920212223242526 |
- #!/usr/bin/perl -w
- #
- # stackcollapse-instruments.pl
- #
- # Parses a CSV file containing a call tree as produced by XCode
- # Instruments and produces output suitable for flamegraph.pl.
- #
- # USAGE: ./stackcollapse-instruments.pl infile > outfile
- use strict;
- my @stack = ();
- <>;
- foreach (<>) {
- chomp;
- /\d+\.\d+ms[^,]+,(\d+(?:\.\d*)?),\s+,(\s*)(.+)/ or die;
- my $func = $3;
- my $depth = length ($2);
- $stack [$depth] = $3;
- foreach my $i (0 .. $depth - 1) {
- print $stack [$i];
- print ";";
- }
- print "$func $1\n";
- }
|