Skip to content

add Netty epoll/NIO-select TaskBlock instrumentation - #12209

Draft
kaahos wants to merge 1 commit into
paul.fournillon/wallclock-threadsleep-taskblockfrom
paul.fournillon/wallclock-netty-taskblock
Draft

add Netty epoll/NIO-select TaskBlock instrumentation#12209
kaahos wants to merge 1 commit into
paul.fournillon/wallclock-threadsleep-taskblockfrom
paul.fournillon/wallclock-netty-taskblock

Conversation

@kaahos

@kaahos kaahos commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

What Does This Do

Adds TaskBlock instrumentation for NIO Selector.select and Netty epoll event-loop blocking, following the same pattern established for LockSupport (#11545) and Thread.sleep (#11546). Includes:

  • nio-select and netty-epoll-4.1 instrumentation modules
  • Forked instrumentation tests and disabled/enabled coverage tests
  • End-to-end smoke tests (NioSelectTaskBlockProfilingTest, NettyEpollTaskBlockProfilingTest) asserting on resulting TaskBlock recordings
  • Native I/O TaskBlock smoke coverage (NativeIoTaskBlockProfilingTest)

This is stacked on #11546 (Thread.sleep), #11545 (LockSupport), and #11544 (foundational TaskBlock support), and should be reviewed/merged in that order.

Motivation

Selector-based I/O waits and Netty's epoll event loop are common sources of off-CPU time that for now show up only as generic sampled wall-clock frames. Emitting structured datadog.TaskBlock events for these operations, as already done for locks and sleeps, gives users accurate attribution of NIO and Netty event-loop blocking without relying solely on stack sampling.

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant