[DTrace-devel] [PATCH v2 0/4] DTrace TCP provider
Alan Maguire
alan.maguire at oracle.com
Tue Jun 10 13:58:09 UTC 2025
This series is a first draft of TCP provider support, where the
probes are implemented via underlying fbt and sdt probes.
Due to the use of the sock/inet_sock_set_state tracepoint, intended
for ~5.15 kernels and later. Tried replacing this with
fbt::tcp_set_state:entry
but this misses a few state transitions, so stuck with using
the tracepoint.
All tests under test/unittest/tcp pass unmodified on an upstream
(6.15) kernel and 5.15 UEK7U3 kernel.
It implements all documented TCP provider probes:
accept-established, accept-refused, connnect-request,
connect-established, connect-refused, receive, send,
state-change
Changes since RFC:
- fixed issues with test failures on UEK7 due to missing
SYN_RCV state change
- moved get_member() to dt_cg.c (patch 1)
Alan Maguire (4):
dtrace: move get_member() to dt_cg.c
dt_impl: bump number of TSLOTS to 8
dtrace: add tcp provider
dtrace: sync dlibs with tcp.d, ip.d and net.d changes
dlibs/aarch64/5.14/ip.d | 1 -
dlibs/aarch64/5.14/net.d | 6 +-
dlibs/aarch64/5.14/tcp.d | 52 ++---
dlibs/aarch64/5.16/ip.d | 1 -
dlibs/aarch64/5.16/net.d | 6 +-
dlibs/aarch64/5.16/tcp.d | 52 ++---
dlibs/aarch64/6.1/ip.d | 1 -
dlibs/aarch64/6.1/net.d | 6 +-
dlibs/aarch64/6.1/tcp.d | 52 ++---
dlibs/aarch64/6.10/ip.d | 1 -
dlibs/aarch64/6.10/net.d | 6 +-
dlibs/aarch64/6.10/tcp.d | 52 ++---
dlibs/x86_64/5.14/ip.d | 1 -
dlibs/x86_64/5.14/net.d | 6 +-
dlibs/x86_64/5.14/tcp.d | 52 ++---
dlibs/x86_64/5.16/ip.d | 1 -
dlibs/x86_64/5.16/net.d | 6 +-
dlibs/x86_64/5.16/tcp.d | 52 ++---
dlibs/x86_64/6.1/ip.d | 1 -
dlibs/x86_64/6.1/net.d | 6 +-
dlibs/x86_64/6.1/tcp.d | 52 ++---
dlibs/x86_64/6.10/ip.d | 1 -
dlibs/x86_64/6.10/net.d | 6 +-
dlibs/x86_64/6.10/tcp.d | 52 ++---
libdtrace/Build | 2 +
libdtrace/dt_cg.c | 39 ++++
libdtrace/dt_cg.h | 2 +
libdtrace/dt_impl.h | 2 +-
libdtrace/dt_prov_ip.c | 45 +----
libdtrace/dt_prov_tcp.c | 405 +++++++++++++++++++++++++++++++++++++++
libdtrace/dt_provider.c | 1 +
libdtrace/dt_provider.h | 1 +
libdtrace/ip.d | 1 -
libdtrace/net.d | 6 +-
libdtrace/tcp.d | 52 ++---
35 files changed, 761 insertions(+), 267 deletions(-)
create mode 100644 libdtrace/dt_prov_tcp.c
--
2.39.3
More information about the DTrace-devel
mailing list