Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1590056
| From | Brendan Gregg <brendan.d.gregg@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v3 2/2] perf/sdt: Directly record SDT events with 'perf record' |
| Date | 2017-03-01 08:20 +0100 |
| Message-ID | <tg6Ih-80f-7@gated-at.bofh.it> (permalink) |
| References | <teiNz-5pl-5@gated-at.bofh.it> <teiNz-5pl-3@gated-at.bofh.it> <tfYB4-28l-23@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, Feb 28, 2017 at 2:31 PM, Brendan Gregg
<brendan.d.gregg@gmail.com> wrote:
> G'Day Ravi,
>
[...]
> Now retrying perf:
>
> # ./perf record -e sdt_node:http__server__request -a
> ^C[ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.446 MB perf.data (3 samples) ]
> # ./perf script
> node 7646 [002] 361.012364:
> sdt_node:http__server__request: (dc2e69)
> node 7646 [002] 361.204718:
> sdt_node:http__server__request: (dc2e69)
> node 7646 [002] 361.363043:
> sdt_node:http__server__request: (dc2e69)
>
> Now perf works.
>
> If I restart the node process, it goes back to the broken state.
>
Oh sorry, I forgot about that these Node.js probes are behind an
is-enabled semaphore.
$ readelf -n `which node`
[...]
stapsdt 0x00000089 NT_STAPSDT (SystemTap probe descriptors)
Provider: node
Name: http__server__request
Location: 0x0000000000dc2e69, Base: 0x000000000112e064, Semaphore:
0x0000000001470954
Arguments: 8@%r14 8@%rax 8@-4344(%rbp) -4@-4348(%rbp)
8@-4304(%rbp) 8@-4312(%rbp) -4@-4352(%rbp)
# dd if=/proc/31695/mem bs=1 count=1 skip=$(( 0x0000000001470954 ))
2>/dev/null | xxd
00000000: 00 .
# printf "\x1" | dd of=/proc/31695/mem bs=1 count=1 seek=$((
0x0000000001470954 )) 2>/dev/null
# dd if=/proc/31695/mem bs=1 count=1 skip=$(( 0x0000000001470954 ))
2>/dev/null | xxd
00000000: 01 .
# ./perf record -e sdt_node:http__server__request -a
Matching event(s) from uprobe_events:
sdt_node:http__server__request 0x9c2e69@/usr/local/bin/node
Use 'perf probe -d <event>' to delete event(s).
^C[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.280 MB perf.data (3 samples) ]
# ./perf script
node 31695 [003] 24947.168761:
sdt_node:http__server__request: (dc2e69)
node 31695 [003] 24947.476143:
sdt_node:http__server__request: (dc2e69)
node 31695 [003] 24947.679090:
sdt_node:http__server__request: (dc2e69)
So setting that to 1 made the probe work from perf. I guess this is
not a problem with this patch set, but rather a feature request for
the next one: is-enabled SDT support.
Were probe arguments supposed to work? I don't notice them in the perf
script output.
PS, if it's helpful, here's the commands to build node with these SDT probes:
$ sudo apt-get install systemtap-sdt-dev # adds "dtrace", used
by node build
$ wget https://nodejs.org/dist/v4.4.1/node-v4.4.1.tar.gz
$ tar xvf node-v4.4.1.tar.gz
$ cd node-v4.4.1
$ ./configure --with-dtrace
$ make -j 8
Brendan
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v3 0/2] perf/sdt: Directly record SDT events with 'perf record' Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> - 2017-02-24 08:50 +0100
[PATCH v3 1/2] perf/sdt: Introduce util func is_sdt_event() Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> - 2017-02-24 08:50 +0100
Re: [PATCH v3 1/2] perf/sdt: Introduce util func is_sdt_event() Masami Hiramatsu <mhiramat@kernel.org> - 2017-02-28 02:40 +0100
[PATCH v3 2/2] perf/sdt: Directly record SDT events with 'perf record' Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> - 2017-02-24 08:50 +0100
Re: [PATCH v3 2/2] perf/sdt: Directly record SDT events with 'perf record' Masami Hiramatsu <mhiramat@kernel.org> - 2017-02-28 07:00 +0100
Re: [PATCH v3 2/2] perf/sdt: Directly record SDT events with 'perf record' Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> - 2017-02-28 12:00 +0100
Re: [PATCH v3 2/2] perf/sdt: Directly record SDT events with 'perf record' Masami Hiramatsu <mhiramat@kernel.org> - 2017-03-01 07:50 +0100
Re: [PATCH v3 2/2] perf/sdt: Directly record SDT events with 'perf record' Brendan Gregg <brendan.d.gregg@gmail.com> - 2017-02-28 23:40 +0100
Re: [PATCH v3 2/2] perf/sdt: Directly record SDT events with 'perf record' Brendan Gregg <brendan.d.gregg@gmail.com> - 2017-03-01 08:20 +0100
Re: [PATCH v3 2/2] perf/sdt: Directly record SDT events with 'perf record' Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> - 2017-03-01 12:10 +0100
Re: [PATCH v3 0/2] perf/sdt: Directly record SDT events with 'perf record' Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> - 2017-02-27 06:00 +0100
csiph-web