7 from ctypes import c_ushort, c_int, c_ulonglong
12 print("USAGE: %s [--histogram]" % argv[0])
21 if argv[1] == "--histogram":
26 print("Hit Ctrl-C to end.")
33 b = BPF(src_file="dbus-message-size.c")
35 b.attach_uretprobe(name="dbus-1", sym="do_writing", fn_name="do_write_exit")
36 b.attach_uretprobe(name="dbus-1", sym="do_authentication", fn_name="do_write_exit")
37 b.attach_uretprobe(name="dbus-1", sym="_dbus_write_socket_with_unix_fds_two", fn_name="do_return")
38 b.attach_uretprobe(name="dbus-1", sym="_dbus_write_socket_two", fn_name="do_return")
39 b.attach_uretprobe(name="dbus-1", sym="_dbus_write_socket", fn_name="do_return")
47 print ("%d : \n" % loop)
48 stats_t = b["size_sent"]
50 print ("%10s %20s %20s" % ("PID", "NAME", "BYTES SENT"))
51 for v, p in sorted(stats_t.items(), key=lambda stats_t: stats_t[1].bytes, reverse=True):
52 print("%10d %20s %20d \n" % (v.pid, v.comm.encode('string-escape'), p.bytes))
53 b["sizes"].print_log2_hist("bytes");