[pprof] Produce global profile unless thread-local profile requested
Currently pprof will print output for all threads if a single thread is not specified, but this doesn't play well with many output formats (e.g., any of the dot-based formats). Instead, default to printing just the overall profile when no specific thread is requested. This resolves #157.
This commit is contained in:
parent
2c5cb613df
commit
b4acf7300a
@ -404,7 +404,7 @@ sub Init() {
|
|||||||
"edgefraction=f" => \$main::opt_edgefraction,
|
"edgefraction=f" => \$main::opt_edgefraction,
|
||||||
"maxdegree=i" => \$main::opt_maxdegree,
|
"maxdegree=i" => \$main::opt_maxdegree,
|
||||||
"focus=s" => \$main::opt_focus,
|
"focus=s" => \$main::opt_focus,
|
||||||
"thread=i" => \$main::opt_thread,
|
"thread=s" => \$main::opt_thread,
|
||||||
"ignore=s" => \$main::opt_ignore,
|
"ignore=s" => \$main::opt_ignore,
|
||||||
"scale=i" => \$main::opt_scale,
|
"scale=i" => \$main::opt_scale,
|
||||||
"heapcheck" => \$main::opt_heapcheck,
|
"heapcheck" => \$main::opt_heapcheck,
|
||||||
@ -707,7 +707,8 @@ sub Main() {
|
|||||||
}
|
}
|
||||||
if (defined($data->{threads})) {
|
if (defined($data->{threads})) {
|
||||||
foreach my $thread (sort { $a <=> $b } keys(%{$data->{threads}})) {
|
foreach my $thread (sort { $a <=> $b } keys(%{$data->{threads}})) {
|
||||||
if (!defined($main::opt_thread) || $main::opt_thread == $thread) {
|
if (defined($main::opt_thread) &&
|
||||||
|
($main::opt_thread eq '*' || $main::opt_thread == $thread)) {
|
||||||
my $thread_profile = $data->{threads}{$thread};
|
my $thread_profile = $data->{threads}{$thread};
|
||||||
FilterAndPrint($thread_profile, $symbols, $libs, $thread);
|
FilterAndPrint($thread_profile, $symbols, $libs, $thread);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user