Skip to content

Commit

Permalink
make tcpv4connect.py example tracer more robust
Browse files Browse the repository at this point in the history
  • Loading branch information
yadutaf committed Feb 21, 2016
1 parent 94e911c commit d0764aa
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions examples/tracing/tcpv4connect.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
bpf_probe_read(&dport, sizeof(dport), &skp->__sk_common.skc_dport);
// output
bpf_trace_printk("%x %x %d\\n", saddr, daddr, ntohs(dport));
bpf_trace_printk("trace_tcp4connect %x %x %d\\n", saddr, daddr, ntohs(dport));
currsock.delete(&pid);
Expand All @@ -86,10 +86,19 @@ def inet_ntoa(addr):
addr = addr >> 8
return dq

# format output
# filter and format output
while 1:
(task, pid, cpu, flags, ts, msg) = b.trace_fields()
(saddr_hs, daddr_hs, dport_s) = msg.split(" ")
# Read messages from kernel pipe
try:
(task, pid, cpu, flags, ts, msg) = b.trace_fields()
(_tag, saddr_hs, daddr_hs, dport_s) = msg.split(" ")
except ValueError:
# Ignore messages from other tracers
continue

# Ignore messages from other tracers
if _tag != "trace_tcp4connect":
continue

print("%-6d %-12.12s %-16s %-16s %-4s" % (pid, task,
inet_ntoa(int(saddr_hs, 16)),
Expand Down

0 comments on commit d0764aa

Please sign in to comment.