Commit Graph

2 Commits

Author SHA1 Message Date
Arnaldo Carvalho de Melo
5e9c2f5d86 [CTRACER]: Generate systemtap script + mini-struct collector kernel module
It generates these files:

http://oops.ghostprotocols.net:81/acme/dwarves/callgraphs/ctracer_methods.struct.sock.stp
http://oops.ghostprotocols.net:81/acme/dwarves/callgraphs/ctracer_collector.struct.sock.c

And from the collector + a relay source lib the ctracer.ko module that is
where we collect the traces + relayfs.

Run it and then with some manual collection + sorting on the relayfs files we
get this after running "make callgraph"

http://oops.ghostprotocols.net:81/acme/dwarves/callgraphs/sock.callgraph/

Further work is required to further integrate this with systemtap.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2007-11-11 16:39:03 -02:00
Arnaldo Carvalho de Melo
ce9d7e11fe [CTRACER]: Lots of improvements
1. We now use relayfs
2. ostra-cg is shipped and used in the Makefile
3. README.ctracer has all the details

I followed README.ctracer and the result, in my workstation, was this one:
http://oops.ghostprotocols.net:81/acme/dwarves/callgraphs/acme_eating_his_dog_food/6.html

I've started on the 6th page as it is more interesting, having tcp and netlink
callchains, don't be disappointed by some pages having just one level of
nesting, that is just the lack of containers and aliases (to follow tcp_sock,
skb->sk, etc) from the OSTRA days, but it's getting there! :-)

Ah, it is collecting all the base types in the specified struct by doing a
struct "view", i.e. trimming the struct to have just members that are
"reducible" to basic types (int, long, char, signed and unsigned), then
reorganizing it with the code introduced in pahole --reorganize to get it to
the best layout possible, reducing the size of the entry probe points trace
entries.

Updated rpms are available at the usual place:

http://oops.ghostprotocols.net:81/acme/dwarves/rpm/

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2007-02-02 15:15:27 -02:00