Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1243637 > unrolled thread

Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'

Started byBrendan Gregg <brendan.d.gregg@gmail.com>
First post2015-10-09 22:40 +0200
Last post2015-10-10 11:10 +0200
Articles 7 — 4 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller' Brendan Gregg <brendan.d.gregg@gmail.com> - 2015-10-09 22:40 +0200
    Re: [PATCH 13/16] perf callchain: Switch default to  'graph,0.5,caller' Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-10-10 00:00 +0200
      Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller' Brendan Gregg <brendan.d.gregg@gmail.com> - 2015-10-10 00:20 +0200
        Re: [PATCH 13/16] perf callchain: Switch default to  'graph,0.5,caller' Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> - 2015-10-10 00:30 +0200
        Re: [PATCH 13/16] perf callchain: Switch default to  'graph,0.5,caller' Ingo Molnar <mingo@kernel.org> - 2015-10-10 09:10 +0200
          Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller' Brendan Gregg <brendan.d.gregg@gmail.com> - 2015-10-10 09:40 +0200
            Re: [PATCH 13/16] perf callchain: Switch default to  'graph,0.5,caller' Ingo Molnar <mingo@kernel.org> - 2015-10-10 11:10 +0200

#1243637 — Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'

FromBrendan Gregg <brendan.d.gregg@gmail.com>
Date2015-10-09 22:40 +0200
SubjectRe: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'
Message-ID<qhMCm-4yA-13@gated-at.bofh.it>
On Mon, Oct 5, 2015 at 2:03 PM, Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> Which is the most common default found in other similar tools.


Interactive tools, sure, like the perf report TUI.

But this also changes the ordering of the non-interactive tools which
dump stacks: "perf report -n --stdio" and "perf script". The most
common default for dumping stacks is caller. Eg:

# perf report -n --stdio
[...]
    16.87%        334           iperf  [kernel.kallsyms]     [k]
copy_user_enhanced_fast_string
                     |
                     --- 0x7f0683ba1ccd
                         system_call_fastpath
                         sys_write
                         vfs_write
                         do_sync_write
                         sock_aio_write
                         do_sock_write.isra.10
                         inet_sendmsg
                         copy_user_enhanced_fast_string
[...]

That's upside down. The current default preserves ordering from the
informational line onwards:

# perf report -n --stdio -g fractal,0.5,callee
[...]
    16.87%        334           iperf  [kernel.kallsyms]     [k]
copy_user_enhanced_fast_string
                     |
                     --- copy_user_enhanced_fast_string
                        |
                        |--64.37%-- inet_sendmsg
                        |          do_sock_write.isra.10
                        |          sock_aio_write
                        |          do_sync_write
                        |          vfs_write
                        |          sys_write
                        |          system_call_fastpath
                        |          0x7f0683ba1ccd

... Those are just short examples. Another profile I'm working on now
gets really messy on "perf report -n --stdio"; eg:

perf report -n --stdio -g graph,0.5,caller
    94.80%     0.10%             2  iperf     [kernel.vmlinux]    [k]
entry_SYSCALL_64_fastpath
               |
               |--94.70%-- entry_SYSCALL_64_fastpath
               |          |
               |          |--55.76%-- sys_write
               |          |          |
               |          |          |--55.10%-- vfs_write
               |          |          |          |
               |          |          |          |--54.39%-- __vfs_write
               |          |          |          |          |
               |          |          |          |           --54.34%--
sock_write_iter
               |          |          |          |                     |
               |          |          |          |
|--54.19%-- sock_sendmsg
               |          |          |          |
|          |
               |          |          |          |
|          |--53.99%-- inet_sendmsg
               |          |          |          |
|          |          |
               |          |          |          |
|          |          |--53.08%-- tcp_sendmsg
               |          |          |          |
|          |          |          |
               |          |          |          |
|          |          |          |--17.27%--
copy_user_enhanced_fast_string
               |          |          |          |
|          |          |          |
               |          |          |          |
|          |          |          |--11.41%-- tcp_push_one
               |          |          |          |
|          |          |          |          |
               |          |          |          |
|          |          |          |          |--11.31%-- tcp_write_xmit
               |          |          |          |
|          |          |          |          |          |
               |          |          |          |
|          |          |          |          |          |--10.00%--
tcp_transmit_skb
               |          |          |          |
|          |          |          |          |          |          |
               |          |          |          |
|          |          |          |          |          |
|--9.29%-- ip_queue_xmit
               |          |          |          |
|          |          |          |          |          |          |
      |
               |          |          |          |
|          |          |          |          |          |          |
      |--8.69%-- ip_local_out_sk
               |          |          |          |
|          |          |          |          |          |          |
      |          |
               |          |          |          |
|          |          |          |          |          |          |
      |          |--8.64%-- ip_output
               |          |          |          |
|          |          |          |          |          |          |
      |          |          ip_finish_output
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |--8.43%-- ip_finish_output2
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |          |
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |          |--6.97%-- __local_bh_enable_ip
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |          |          |
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |          |          |--6.82%--
do_softirq
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |          |          |          |
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |          |          |
--6.77%-- do_softirq_own_stack
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |          |          |
 |
               |          |          |          |
|          |          |          |          |          |          |
      |          |          |          |          |
 |--6.46%-- __do_softirq
[...]

The current default never gets beyond 5 levels deep. The new default
goes to 25 levels. At least with perf report I can override the
default using "-g". perf script doesn't support that.

Can this patch please preserve the callee ordering for non-interactive
output? (perf script, perf report -n --stdio). Thanks,

Brendan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1243685 — Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-10-10 00:00 +0200
SubjectRe: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'
Message-ID<qhNRN-6gk-11@gated-at.bofh.it>
In reply to#1243637
Em Fri, Oct 09, 2015 at 01:34:33PM -0700, Brendan Gregg escreveu:
> On Mon, Oct 5, 2015 at 2:03 PM, Arnaldo Carvalho de Melo
> <acme@kernel.org> wrote:
> >
> > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> >
> > Which is the most common default found in other similar tools.
> 
> Interactive tools, sure, like the perf report TUI.
 
> But this also changes the ordering of the non-interactive tools which
> dump stacks: "perf report -n --stdio" and "perf script". The most
> common default for dumping stacks is caller. Eg:

And you use that for scripting?
 
> # perf report -n --stdio
> [...]
>     16.87%        334           iperf  [kernel.kallsyms]     [k] copy_user_enhanced_fast_string
>                      |
>                      --- 0x7f0683ba1ccd
>                          system_call_fastpath
>                          sys_write
>                          vfs_write
>                          do_sync_write
>                          sock_aio_write
>                          do_sock_write.isra.10
>                          inet_sendmsg
>                          copy_user_enhanced_fast_string
> [...]
> 
> That's upside down. The current default preserves ordering from the
> informational line onwards:
> 
> # perf report -n --stdio -g fractal,0.5,callee
> [...]
>     16.87%        334           iperf  [kernel.kallsyms]     [k] copy_user_enhanced_fast_string
>                      |
>                      --- copy_user_enhanced_fast_string
>                         |
>                         |--64.37%-- inet_sendmsg
>                         |          do_sock_write.isra.10
>                         |          sock_aio_write
>                         |          do_sync_write
>                         |          vfs_write
>                         |          sys_write
>                         |          system_call_fastpath
>                         |          0x7f0683ba1ccd
> 
> ... Those are just short examples. Another profile I'm working on now
> gets really messy on "perf report -n --stdio"; eg:
> 
> perf report -n --stdio -g graph,0.5,caller
>     94.80%     0.10%             2  iperf     [kernel.vmlinux]    [k]
> entry_SYSCALL_64_fastpath
>                |
>                |--94.70%-- entry_SYSCALL_64_fastpath
>                |          |

> 
> The current default never gets beyond 5 levels deep. The new default
> goes to 25 levels. At least with perf report I can override the
> default using "-g". perf script doesn't support that.

Ok, so changing defaults is not nice, but in this case looked sensible,
ends up not being for you...
 
> Can this patch please preserve the callee ordering for non-interactive
> output? (perf script, perf report -n --stdio). Thanks,

If this is because you do scripting on it? Wouldn't it be better to not
depend on defaults, always specify what you want and then the bug would
be constrained to 'perf script' where we need to provide a way to change
the default?

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1243696

FromBrendan Gregg <brendan.d.gregg@gmail.com>
Date2015-10-10 00:20 +0200
Message-ID<qhOb8-6RX-21@gated-at.bofh.it>
In reply to#1243685
On Fri, Oct 9, 2015 at 2:56 PM, Arnaldo Carvalho de Melo
<arnaldo.melo@gmail.com> wrote:
>
> Em Fri, Oct 09, 2015 at 01:34:33PM -0700, Brendan Gregg escreveu:
> > On Mon, Oct 5, 2015 at 2:03 PM, Arnaldo Carvalho de Melo
> > <acme@kernel.org> wrote:
> > >
> > > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> > >
> > > Which is the most common default found in other similar tools.
> >
> > Interactive tools, sure, like the perf report TUI.
>
> > But this also changes the ordering of the non-interactive tools which
> > dump stacks: "perf report -n --stdio" and "perf script". The most
> > common default for dumping stacks is caller. Eg:
>
> And you use that for scripting?

Yes; how I typically CPU profile:

git clone https://github.com/brendangregg/FlameGraph
cd FlameGraph
perf record -F 99 -a -g -- sleep 60
perf script | ./stackcollapse-perf.pl | /flamegraph.pl > flame.svg

Then open flame.svg in a browser and click around. Try it. :)

But it's not just scripting; We often email around "perf report -n
--stdio" output, or attach it to tickets, when working on an issue.
Easier than trying to grab the right TUI screenshot.

>
> > # perf report -n --stdio
> > [...]
> >     16.87%        334           iperf  [kernel.kallsyms]     [k] copy_user_enhanced_fast_string
> >                      |
> >                      --- 0x7f0683ba1ccd
> >                          system_call_fastpath
> >                          sys_write
> >                          vfs_write
> >                          do_sync_write
> >                          sock_aio_write
> >                          do_sock_write.isra.10
> >                          inet_sendmsg
> >                          copy_user_enhanced_fast_string
> > [...]
> >
> > That's upside down. The current default preserves ordering from the
> > informational line onwards:
> >
> > # perf report -n --stdio -g fractal,0.5,callee
> > [...]
> >     16.87%        334           iperf  [kernel.kallsyms]     [k] copy_user_enhanced_fast_string
> >                      |
> >                      --- copy_user_enhanced_fast_string
> >                         |
> >                         |--64.37%-- inet_sendmsg
> >                         |          do_sock_write.isra.10
> >                         |          sock_aio_write
> >                         |          do_sync_write
> >                         |          vfs_write
> >                         |          sys_write
> >                         |          system_call_fastpath
> >                         |          0x7f0683ba1ccd
> >
> > ... Those are just short examples. Another profile I'm working on now
> > gets really messy on "perf report -n --stdio"; eg:
> >
> > perf report -n --stdio -g graph,0.5,caller
> >     94.80%     0.10%             2  iperf     [kernel.vmlinux]    [k]
> > entry_SYSCALL_64_fastpath
> >                |
> >                |--94.70%-- entry_SYSCALL_64_fastpath
> >                |          |
>
> >
> > The current default never gets beyond 5 levels deep. The new default
> > goes to 25 levels. At least with perf report I can override the
> > default using "-g". perf script doesn't support that.
>
> Ok, so changing defaults is not nice, but in this case looked sensible,
> ends up not being for you...

I'm pretty sure this would surprise anyone looking at dumped stacks,
where the convention is caller. pstack, jstack, gdb, systemtap,
dtrace, oops message, etc. I get that we want this for the TUI, but
not dumped stacks.

>
> > Can this patch please preserve the callee ordering for non-interactive
> > output? (perf script, perf report -n --stdio). Thanks,
>
> If this is because you do scripting on it? Wouldn't it be better to not
> depend on defaults, always specify what you want and then the bug would
> be constrained to 'perf script' where we need to provide a way to change
> the default?

Actually, for my flame graphs we should really have perf report have a
--folded output to emit folded output (I emailed perf-users), callee.

For scripting we can always specify -g.

I'm thinking of others who use perf report/script at the CLI, and
expect callee output.

Brendan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1243720 — Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'

FromArnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
Date2015-10-10 00:30 +0200
SubjectRe: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'
Message-ID<qhOkP-73l-51@gated-at.bofh.it>
In reply to#1243696
Em Fri, Oct 09, 2015 at 03:10:29PM -0700, Brendan Gregg escreveu:
> On Fri, Oct 9, 2015 at 2:56 PM, Arnaldo Carvalho de Melo
> <arnaldo.melo@gmail.com> wrote:
> >
> > Em Fri, Oct 09, 2015 at 01:34:33PM -0700, Brendan Gregg escreveu:
> > > On Mon, Oct 5, 2015 at 2:03 PM, Arnaldo Carvalho de Melo
> > > <acme@kernel.org> wrote:
> > > >
> > > > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> > > >
> > > > Which is the most common default found in other similar tools.
> > >
> > > Interactive tools, sure, like the perf report TUI.
> >
> > > But this also changes the ordering of the non-interactive tools which
> > > dump stacks: "perf report -n --stdio" and "perf script". The most
> > > common default for dumping stacks is caller. Eg:
> >
> > And you use that for scripting?
> 
> Yes; how I typically CPU profile:
> 
> git clone https://github.com/brendangregg/FlameGraph
> cd FlameGraph
> perf record -F 99 -a -g -- sleep 60
> perf script | ./stackcollapse-perf.pl | /flamegraph.pl > flame.svg
> 
> Then open flame.svg in a browser and click around. Try it. :)

Should've already, guess there are things to merge and save you some
time :)
 
> But it's not just scripting; We often email around "perf report -n
> --stdio" output, or attach it to tickets, when working on an issue.
> Easier than trying to grab the right TUI screenshot.

Well, that is something we need to change... But then, are you aware of
'P' in the TUI? It allows you to go, expand whatever callchains you deem
necessary and then press P and the current state of the UI will be
dumped to a perf.hist.<N> file. I.e. no need to get a png screenshot nor
to copy things with gpm like stuff.

Maybe that is a digression, you tell me :)
 
> >
> > > # perf report -n --stdio
> > > [...]
> > >     16.87%        334           iperf  [kernel.kallsyms]     [k] copy_user_enhanced_fast_string
> > >                      |
> > >                      --- 0x7f0683ba1ccd
> > >                          system_call_fastpath
> > >                          sys_write
> > >                          vfs_write
> > >                          do_sync_write
> > >                          sock_aio_write
> > >                          do_sock_write.isra.10
> > >                          inet_sendmsg
> > >                          copy_user_enhanced_fast_string
> > > [...]
> > >
> > > That's upside down. The current default preserves ordering from the
> > > informational line onwards:
> > >
> > > # perf report -n --stdio -g fractal,0.5,callee
> > > [...]
> > >     16.87%        334           iperf  [kernel.kallsyms]     [k] copy_user_enhanced_fast_string
> > >                      |
> > >                      --- copy_user_enhanced_fast_string
> > >                         |
> > >                         |--64.37%-- inet_sendmsg
> > >                         |          do_sock_write.isra.10
> > >                         |          sock_aio_write
> > >                         |          do_sync_write
> > >                         |          vfs_write
> > >                         |          sys_write
> > >                         |          system_call_fastpath
> > >                         |          0x7f0683ba1ccd
> > >
> > > ... Those are just short examples. Another profile I'm working on now
> > > gets really messy on "perf report -n --stdio"; eg:
> > >
> > > perf report -n --stdio -g graph,0.5,caller
> > >     94.80%     0.10%             2  iperf     [kernel.vmlinux]    [k]
> > > entry_SYSCALL_64_fastpath
> > >                |
> > >                |--94.70%-- entry_SYSCALL_64_fastpath
> > >                |          |
> >
> > >
> > > The current default never gets beyond 5 levels deep. The new default
> > > goes to 25 levels. At least with perf report I can override the
> > > default using "-g". perf script doesn't support that.
> >
> > Ok, so changing defaults is not nice, but in this case looked sensible,
> > ends up not being for you...
> 
> I'm pretty sure this would surprise anyone looking at dumped stacks,
> where the convention is caller. pstack, jstack, gdb, systemtap,
> dtrace, oops message, etc. I get that we want this for the TUI, but
> not dumped stacks.
> 
> > > Can this patch please preserve the callee ordering for non-interactive
> > > output? (perf script, perf report -n --stdio). Thanks,
> >
> > If this is because you do scripting on it? Wouldn't it be better to not
> > depend on defaults, always specify what you want and then the bug would
> > be constrained to 'perf script' where we need to provide a way to change
> > the default?
> 
> Actually, for my flame graphs we should really have perf report have a
> --folded output to emit folded output (I emailed perf-users), callee.

I'll search that message, but feel free to be more blunt when you think
its appropriate.
 
> For scripting we can always specify -g.
> 
> I'm thinking of others who use perf report/script at the CLI, and
> expect callee output.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1243841 — Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'

FromIngo Molnar <mingo@kernel.org>
Date2015-10-10 09:10 +0200
SubjectRe: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'
Message-ID<qhWs2-22e-15@gated-at.bofh.it>
In reply to#1243696
* Brendan Gregg <brendan.d.gregg@gmail.com> wrote:

> On Fri, Oct 9, 2015 at 2:56 PM, Arnaldo Carvalho de Melo
> <arnaldo.melo@gmail.com> wrote:
> >
> > Em Fri, Oct 09, 2015 at 01:34:33PM -0700, Brendan Gregg escreveu:
> > > On Mon, Oct 5, 2015 at 2:03 PM, Arnaldo Carvalho de Melo
> > > <acme@kernel.org> wrote:
> > > >
> > > > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> > > >
> > > > Which is the most common default found in other similar tools.
> > >
> > > Interactive tools, sure, like the perf report TUI.
> >
> > > But this also changes the ordering of the non-interactive tools which
> > > dump stacks: "perf report -n --stdio" and "perf script". The most
> > > common default for dumping stacks is caller. Eg:
> >
> > And you use that for scripting?
> 
> Yes; how I typically CPU profile:
> 
> git clone https://github.com/brendangregg/FlameGraph
> cd FlameGraph
> perf record -F 99 -a -g -- sleep 60
> perf script | ./stackcollapse-perf.pl | /flamegraph.pl > flame.svg
> 
> Then open flame.svg in a browser and click around. Try it. :)

So I tried it:

 triton:~/s/FlameGraph> ls -l flame.svg 
 -rw-rw-r-- 1 mingo mingo 1022870 Oct 10 09:06 flame.svg

but when I tried to view it via ImageMagick, it first showed an empty screen:

 triton:~/s/FlameGraph> display flame.svg 

then when exiting it said:

 display: non-conforming drawing primitive definition `text-anchor' @ error/draw.c/DrawImage/3182.

although I guess that latter is an unrealted ImageMagick problem, not caused by 
the SVG.

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1243844

FromBrendan Gregg <brendan.d.gregg@gmail.com>
Date2015-10-10 09:40 +0200
Message-ID<qhWV4-2zq-7@gated-at.bofh.it>
In reply to#1243841
On Sat, Oct 10, 2015 at 12:09 AM, Ingo Molnar <mingo@kernel.org> wrote:
>
> * Brendan Gregg <brendan.d.gregg@gmail.com> wrote:
>
>> On Fri, Oct 9, 2015 at 2:56 PM, Arnaldo Carvalho de Melo
>> <arnaldo.melo@gmail.com> wrote:
>> >
>> > Em Fri, Oct 09, 2015 at 01:34:33PM -0700, Brendan Gregg escreveu:
>> > > On Mon, Oct 5, 2015 at 2:03 PM, Arnaldo Carvalho de Melo
>> > > <acme@kernel.org> wrote:
>> > > >
>> > > > From: Arnaldo Carvalho de Melo <acme@redhat.com>
>> > > >
>> > > > Which is the most common default found in other similar tools.
>> > >
>> > > Interactive tools, sure, like the perf report TUI.
>> >
>> > > But this also changes the ordering of the non-interactive tools which
>> > > dump stacks: "perf report -n --stdio" and "perf script". The most
>> > > common default for dumping stacks is caller. Eg:
>> >
>> > And you use that for scripting?
>>
>> Yes; how I typically CPU profile:
>>
>> git clone https://github.com/brendangregg/FlameGraph
>> cd FlameGraph
>> perf record -F 99 -a -g -- sleep 60
>> perf script | ./stackcollapse-perf.pl | /flamegraph.pl > flame.svg
>>
>> Then open flame.svg in a browser and click around. Try it. :)
>
> So I tried it:
>
>  triton:~/s/FlameGraph> ls -l flame.svg
>  -rw-rw-r-- 1 mingo mingo 1022870 Oct 10 09:06 flame.svg
>
> but when I tried to view it via ImageMagick, it first showed an empty screen:
>
>  triton:~/s/FlameGraph> display flame.svg
>
> then when exiting it said:
>
>  display: non-conforming drawing primitive definition `text-anchor' @ error/draw.c/DrawImage/3182.
>
> although I guess that latter is an unrealted ImageMagick problem, not caused by
> the SVG.
>

Sorry, I should have said to open it in a browser (Chrome/Firefox);
the SVG contains some (entirely embedded) JavaScript to provide
interactivity (click to zoom, Ctrl-F to search).

I think it used to work in ImageMagick (without JavaScript
interactivity), but I haven't tried in a long time. I'll have to check it again.

Brendan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1243856 — Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'

FromIngo Molnar <mingo@kernel.org>
Date2015-10-10 11:10 +0200
SubjectRe: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'
Message-ID<qhYk9-4Ky-3@gated-at.bofh.it>
In reply to#1243844
* Brendan Gregg <brendan.d.gregg@gmail.com> wrote:

> On Sat, Oct 10, 2015 at 12:09 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > * Brendan Gregg <brendan.d.gregg@gmail.com> wrote:
> >
> >> On Fri, Oct 9, 2015 at 2:56 PM, Arnaldo Carvalho de Melo
> >> <arnaldo.melo@gmail.com> wrote:
> >> >
> >> > Em Fri, Oct 09, 2015 at 01:34:33PM -0700, Brendan Gregg escreveu:
> >> > > On Mon, Oct 5, 2015 at 2:03 PM, Arnaldo Carvalho de Melo
> >> > > <acme@kernel.org> wrote:
> >> > > >
> >> > > > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> >> > > >
> >> > > > Which is the most common default found in other similar tools.
> >> > >
> >> > > Interactive tools, sure, like the perf report TUI.
> >> >
> >> > > But this also changes the ordering of the non-interactive tools which
> >> > > dump stacks: "perf report -n --stdio" and "perf script". The most
> >> > > common default for dumping stacks is caller. Eg:
> >> >
> >> > And you use that for scripting?
> >>
> >> Yes; how I typically CPU profile:
> >>
> >> git clone https://github.com/brendangregg/FlameGraph
> >> cd FlameGraph
> >> perf record -F 99 -a -g -- sleep 60
> >> perf script | ./stackcollapse-perf.pl | /flamegraph.pl > flame.svg
> >>
> >> Then open flame.svg in a browser and click around. Try it. :)
> >
> > So I tried it:
> >
> >  triton:~/s/FlameGraph> ls -l flame.svg
> >  -rw-rw-r-- 1 mingo mingo 1022870 Oct 10 09:06 flame.svg
> >
> > but when I tried to view it via ImageMagick, it first showed an empty screen:
> >
> >  triton:~/s/FlameGraph> display flame.svg
> >
> > then when exiting it said:
> >
> >  display: non-conforming drawing primitive definition `text-anchor' @ error/draw.c/DrawImage/3182.
> >
> > although I guess that latter is an unrealted ImageMagick problem, not caused by
> > the SVG.
> >
> 
> Sorry, I should have said to open it in a browser (Chrome/Firefox);
> the SVG contains some (entirely embedded) JavaScript to provide
> interactivity (click to zoom, Ctrl-F to search).

aw, very nice output!

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web