Skip to content

feat(wall): add configurable wall thread scope#663

Draft
kaahos wants to merge 6 commits into
mainfrom
paul.fournillon/wallclock-all-threads
Draft

feat(wall): add configurable wall thread scope#663
kaahos wants to merge 6 commits into
mainfrom
paul.fournillon/wallclock-all-threads

Conversation

@kaahos

@kaahos kaahos commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?:

Adds an explicit wall-clock thread scope option. The default remains context-scoped wall profiling, while wallscope=all enables profiling all registered threads.

Motivation:

This makes all-thread wall profiling available without changing the default behavior. Follow-up TaskBlock PRs can opt into all-thread visibility while preserving the existing context-scoped mode.

Additional Notes:

wallscope=context is the default behavior. wallscope=all is opt-in.

How to test the change?:

Automated coverage includes wall scope argument parsing, thread filter behavior, and Java integration tests for all-thread and context-only wall scopes.

  • ./.claude/commands/build-and-summarize testDebug
  • ./.claude/commands/build-and-summarize :ddprof-lib:gtestDebug_wallprecheck_args_ut

For Datadog employees:

  • If this PR touches code that signs or publishes builds or packages, or handles credentials of any kind, I've requested a security review (run the dd:platform-security-review skill, or file a request via the PSEC review form).
    bewaire also runs automatically on every PR.
  • This PR doesn't touch any of that.
  • JIRA: [JIRA-XXXX]

@dd-octo-sts

dd-octo-sts Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

CI Test Results

Run: #29584494721 | Commit: 9e50850 | Duration: 14m 13s (longest job)

All 32 test jobs passed

Status Overview

JDK glibc-aarch64/debug glibc-amd64/debug musl-aarch64/debug musl-amd64/debug
8 - - -
8-ibm - - -
8-j9 - -
8-librca - -
8-orcl - - -
11 - - -
11-j9 - -
11-librca - -
17 - -
17-graal - -
17-j9 - -
17-librca - -
21 - -
21-graal - -
21-librca - -
25 - -
25-graal - -
25-librca - -

Legend: ✅ passed | ❌ failed | ⚪ skipped | 🚫 cancelled

Summary: Total: 32 | Passed: 32 | Failed: 0


Updated: 2026-07-17 13:53:55 UTC

@dd-octo-sts

dd-octo-sts Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results (commit 8b014d4)

Pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/benchmarking-platform/-/pipelines/125011552 Commit: 8b014d42c248de82a7426bb39b558e167afe6f13

⚠️ Significant outliers

  • 🔴 fj-kmeans (JDK 21): runtime +2.7% (2641→2712 ms)
Runtime details (per benchmark × JDK)
Benchmark JDK Latest Dev Δ (dev vs latest) Issues L/D
akka-uct 21 ✅ 10318 ms (21 iters) ✅ 10283 ms (21 iters) ≈ -0.3% (±11.6%) — / ⚠️ W:1
akka-uct 25 ✅ 8908 ms (24 iters) ✅ 8838 ms (24 iters) ≈ -0.8% (±10.3%) — / —
finagle-chirper 21 ✅ 5949 ms (33 iters) ✅ 5997 ms (33 iters) ≈ +0.8% (±25.3%) ⚠️ W:3 / ⚠️ W:3
finagle-chirper 25 ✅ 5480 ms (36 iters) ✅ 5465 ms (36 iters) ≈ -0.3% (±24%) ⚠️ W:3 / ⚠️ W:3
fj-kmeans 21 ✅ 2641 ms (71 iters) ✅ 2712 ms (68 iters) 🔴 +2.7% — / —
fj-kmeans 25 ✅ 2797 ms (67 iters) ✅ 2804 ms (66 iters) ≈ +0.3% (±2.6%) — / —
future-genetic 21 ✅ 2098 ms (88 iters) ✅ 2051 ms (90 iters) ≈ -2.2% (±2.5%) — / —
future-genetic 25 ✅ 2058 ms (90 iters) ✅ 2065 ms (90 iters) ≈ +0.3% (±2.8%) — / —
naive-bayes 21 ✅ 1229 ms (139 iters) ✅ 1248 ms (137 iters) ≈ +1.5% (±32.9%) — / —
naive-bayes 25 ✅ 1014 ms (168 iters) ✅ 1018 ms (168 iters) ≈ +0.4% (±31.8%) — / —
reactors 21 ✅ 15862 ms (15 iters) ✅ 17202 ms (15 iters) ≈ +8.4% (±8.5%) — / —
reactors 25 ✅ 18278 ms (15 iters) ✅ 18696 ms (15 iters) ≈ +2.3% (±4.5%) — / —
Internal counter details (ddprof)

ddprof internal counters, latest / dev (✅ = 0, · = unavailable):

Benchmark JDK Dropped rec Dropped jvmti Dropped trace Skipped WC AGCT fail Unwind fail
akka-uct 21 ✅ / ✅ ✅ / ✅ ✅ / 3 2030 / 1846 ✅ / ✅ ✅ / ✅
akka-uct 25 ✅ / ✅ ✅ / ✅ 3 / 2 2179 / 2336 ✅ / ✅ ✅ / ✅
finagle-chirper 21 ✅ / ✅ ✅ / ✅ 2 / 3 8235 / 9052 ✅ / ✅ ✅ / ✅
finagle-chirper 25 ✅ / ✅ ✅ / ✅ 1 / 2 8426 / 8551 ✅ / ✅ ✅ / ✅
fj-kmeans 21 ✅ / ✅ ✅ / ✅ 2 / 1 1290 / 1231 ✅ / ✅ ✅ / ✅
fj-kmeans 25 ✅ / ✅ ✅ / ✅ 2 / ✅ 1263 / 1268 ✅ / ✅ ✅ / ✅
future-genetic 21 ✅ / ✅ ✅ / ✅ 1 / 1 2930 / 2992 ✅ / ✅ ✅ / ✅
future-genetic 25 ✅ / ✅ ✅ / ✅ 1 / 2 2854 / 2828 ✅ / ✅ ✅ / ✅
naive-bayes 21 ✅ / ✅ ✅ / ✅ 4 / 8 3483 / 3503 ✅ / ✅ ✅ / ✅
naive-bayes 25 ✅ / ✅ ✅ / ✅ 2 / 5 3483 / 3482 ✅ / ✅ ✅ / ✅
reactors 21 ✅ / ✅ ✅ / ✅ ✅ / ✅ 1544 / 1666 ✅ / ✅ ✅ / ✅
reactors 25 ✅ / ✅ ✅ / ✅ 1 / ✅ 1862 / 1915 ✅ / ✅ ✅ / ✅

@dd-octo-sts

dd-octo-sts Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Reliability & Chaos Results

All reliability & chaos checks passed Pipeline: https://gitlab.ddbuild.io/DataDog/java-profiler/-/pipelines/125161859

@dd-octo-sts

dd-octo-sts Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results (commit c5c80a1)

Pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/benchmarking-platform/-/pipelines/125035017 Commit: c5c80a1b2b06112aa47ae079928002ed5f4487e0

⚠️ Significant outliers

  • 🟢 future-genetic (JDK 21): runtime -3.5% (2112→2039 ms)
Runtime details (per benchmark × JDK)
Benchmark JDK Latest Dev Δ (dev vs latest) Issues L/D
akka-uct 21 ✅ 10373 ms (21 iters) ✅ 10354 ms (21 iters) ≈ -0.2% (±11%) — / —
akka-uct 25 ✅ 8923 ms (24 iters) ✅ 8859 ms (24 iters) ≈ -0.7% (±11.1%) — / —
finagle-chirper 21 ✅ 6004 ms (33 iters) ✅ 5945 ms (33 iters) ≈ -1% (±24.9%) ⚠️ W:3 / ⚠️ W:3
finagle-chirper 25 ✅ 5502 ms (36 iters) ✅ 5492 ms (36 iters) ≈ -0.2% (±24.7%) ⚠️ W:3 / ⚠️ W:3
fj-kmeans 21 ✅ 2815 ms (66 iters) ✅ 2761 ms (67 iters) ≈ -1.9% (±2.6%) — / —
fj-kmeans 25 ✅ 2806 ms (66 iters) ✅ 2817 ms (66 iters) ≈ +0.4% (±2.7%) — / —
future-genetic 21 ✅ 2112 ms (88 iters) ✅ 2039 ms (90 iters) 🟢 -3.5% — / —
future-genetic 25 ✅ 2087 ms (89 iters) ✅ 2121 ms (87 iters) ≈ +1.6% (±2.5%) — / —
naive-bayes 21 ✅ 1245 ms (137 iters) ✅ 1290 ms (133 iters) ≈ +3.6% (±33.5%) — / —
naive-bayes 25 ✅ 942 ms (180 iters) ✅ 1010 ms (170 iters) ≈ +7.2% (±33.1%) — / —
reactors 21 ✅ 16169 ms (15 iters) ✅ 16307 ms (15 iters) ≈ +0.9% (±8.4%) — / —
reactors 25 ✅ 18595 ms (15 iters) ✅ 18314 ms (15 iters) ≈ -1.5% (±4.3%) — / —
Internal counter details (ddprof)

ddprof internal counters, latest / dev (✅ = 0, · = unavailable):

Benchmark JDK Dropped rec Dropped jvmti Dropped trace Skipped WC AGCT fail Unwind fail
akka-uct 21 ✅ / ✅ ✅ / ✅ ✅ / ✅ ✅ / ✅ ✅ / ✅ ✅ / ✅
akka-uct 25 ✅ / ✅ ✅ / ✅ 6 / 2 2331 / 2331 ✅ / ✅ ✅ / ✅
finagle-chirper 21 ✅ / ✅ ✅ / ✅ 3 / 2 8668 / 8486 ✅ / ✅ ✅ / ✅
finagle-chirper 25 ✅ / ✅ ✅ / ✅ 1 / 1 8654 / 8372 ✅ / ✅ ✅ / ✅
fj-kmeans 21 ✅ / ✅ ✅ / ✅ 3 / ✅ 1266 / 1266 ✅ / ✅ ✅ / ✅
fj-kmeans 25 ✅ / ✅ ✅ / ✅ 4 / 2 1268 / 1277 ✅ / ✅ ✅ / ✅
future-genetic 21 ✅ / ✅ ✅ / ✅ ✅ / 4 2959 / 2890 ✅ / ✅ ✅ / ✅
future-genetic 25 ✅ / ✅ ✅ / ✅ 1 / 1 2892 / 2908 ✅ / ✅ ✅ / ✅
naive-bayes 21 ✅ / ✅ ✅ / ✅ 6 / 1 3450 / 3518 ✅ / ✅ ✅ / ✅
naive-bayes 25 ✅ / ✅ ✅ / ✅ 4 / 3 3471 / 3476 ✅ / ✅ ✅ / ✅
reactors 21 ✅ / ✅ ✅ / ✅ 3 / ✅ 1591 / 1650 ✅ / ✅ ✅ / ✅
reactors 25 ✅ / ✅ ✅ / ✅ ✅ / ✅ 1876 / 1848 ✅ / ✅ ✅ / ✅

@dd-octo-sts

dd-octo-sts Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results (commit 4f88000)

Pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/benchmarking-platform/-/pipelines/125161860 Commit: 4f880007e640cb28884fec80a7e797f44ac6a9c9

⚠️ Significant outliers

  • 🔴 future-genetic (JDK 25): runtime +4% (1978→2057 ms)
Runtime details (per benchmark × JDK)
Benchmark JDK Latest Dev Δ (dev vs latest) Issues L/D
akka-uct 21 ✅ 10354 ms (21 iters) ✅ 10373 ms (21 iters) ≈ +0.2% (±11.8%) — / —
akka-uct 25 ✅ 8842 ms (24 iters) ✅ 8759 ms (24 iters) ≈ -0.9% (±10.1%) — / —
finagle-chirper 21 ✅ 6017 ms (33 iters) ✅ 5997 ms (33 iters) ≈ -0.3% (±26.2%) ⚠️ W:3 / ⚠️ W:3
finagle-chirper 25 ✅ 5458 ms (36 iters) ✅ 5511 ms (36 iters) ≈ +1% (±24.4%) ⚠️ W:3 / ⚠️ W:3
fj-kmeans 25 ✅ 2829 ms (66 iters) ✅ 2841 ms (66 iters) ≈ +0.4% (±2.6%) — / —
future-genetic 21 ✅ 2064 ms (90 iters) ✅ 2085 ms (89 iters) ≈ +1% (±2.6%) — / —
future-genetic 25 ✅ 1978 ms (94 iters) ✅ 2057 ms (90 iters) 🔴 +4% — / —
naive-bayes 21 ✅ 1291 ms (132 iters) ✅ 1270 ms (135 iters) ≈ -1.6% (±32.6%) — / —
naive-bayes 25 ✅ 997 ms (171 iters) ✅ 1021 ms (168 iters) ≈ +2.4% (±32%) — / —
reactors 21 ✅ 16340 ms (15 iters) ✅ 16122 ms (15 iters) ≈ -1.3% (±7.6%) — / —
reactors 25 ✅ 18334 ms (15 iters) ✅ 18899 ms (15 iters) ≈ +3.1% (±4.9%) — / —
Internal counter details (ddprof)

ddprof internal counters, latest / dev (✅ = 0, · = unavailable):

Benchmark JDK Dropped rec Dropped jvmti Dropped trace Skipped WC AGCT fail Unwind fail
akka-uct 21 ✅ / ✅ ✅ / ✅ 3 / 4 2055 / 2020 ✅ / ✅ ✅ / ✅
akka-uct 25 ✅ / ✅ ✅ / ✅ 2 / 1 2271 / 2396 ✅ / ✅ ✅ / ✅
finagle-chirper 21 ✅ / ✅ ✅ / ✅ 1 / 2 8883 / 8402 ✅ / ✅ ✅ / ✅
finagle-chirper 25 ✅ / ✅ ✅ / ✅ 2 / 2 8607 / 8795 ✅ / ✅ ✅ / ✅
fj-kmeans 21 ✅ / ✅ ✅ / ✅ 1 / 1 1272 / 1246 ✅ / ✅ ✅ / ✅
fj-kmeans 25 ✅ / ✅ ✅ / ✅ 4 / ✅ 1286 / 1293 ✅ / ✅ ✅ / ✅
future-genetic 21 ✅ / ✅ ✅ / ✅ ✅ / 2 2963 / 2968 ✅ / ✅ ✅ / ✅
future-genetic 25 ✅ / ✅ ✅ / ✅ ✅ / ✅ 3066 / 2879 ✅ / ✅ ✅ / ✅
naive-bayes 21 ✅ / ✅ ✅ / ✅ 4 / 3 3505 / 3524 ✅ / ✅ ✅ / ✅
naive-bayes 25 ✅ / ✅ ✅ / ✅ 4 / 6 3503 / 3504 ✅ / ✅ ✅ / ✅
reactors 21 ✅ / ✅ ✅ / ✅ 2 / ✅ 1783 / 1867 ✅ / ✅ ✅ / ✅
reactors 25 ✅ / ✅ ✅ / ✅ 1 / ✅ 1836 / 1880 ✅ / ✅ ✅ / ✅

@dd-octo-sts

dd-octo-sts Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results (commit f34b9b5)

Pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/benchmarking-platform/-/pipelines/125288374 Commit: f34b9b52263926985b48aac577a2883c432632a8

⚠️ Significant outliers

  • 🔴 fj-kmeans (JDK 21): runtime +5% (2701→2835 ms)
  • 🟢 future-genetic (JDK 21): runtime -3.5% (2115→2040 ms)
  • 🔴 future-genetic (JDK 25): runtime +3.1% (2071→2135 ms)
  • 🔴 reactors (JDK 21): runtime +8.6% (15071→16373 ms)
Runtime details (per benchmark × JDK)
Benchmark JDK Latest Dev Δ (dev vs latest) Issues L/D
akka-uct 21 ✅ 10206 ms (21 iters) ✅ 10311 ms (21 iters) ≈ +1% (±11.2%) — / —
akka-uct 25 ✅ 8813 ms (24 iters) ✅ 8834 ms (24 iters) ≈ +0.2% (±9.8%) — / —
finagle-chirper 21 ✅ 6003 ms (33 iters) ✅ 6017 ms (33 iters) ≈ +0.2% (±25.4%) ⚠️ W:3 / ⚠️ W:3
finagle-chirper 25 ✅ 5445 ms (36 iters) ✅ 5460 ms (36 iters) ≈ +0.3% (±24.1%) ⚠️ W:3 / ⚠️ W:3
fj-kmeans 21 ✅ 2701 ms (70 iters) ✅ 2835 ms (66 iters) 🔴 +5% — / —
fj-kmeans 25 ✅ 2831 ms (66 iters) ✅ 2758 ms (68 iters) ≈ -2.6% (±2.6%) — / —
future-genetic 21 ✅ 2115 ms (88 iters) ✅ 2040 ms (90 iters) 🟢 -3.5% — / —
future-genetic 25 ✅ 2071 ms (90 iters) ✅ 2135 ms (87 iters) 🔴 +3.1% — / —
naive-bayes 21 ✅ 1255 ms (136 iters) ✅ 1383 ms (125 iters) ≈ +10.2% (±33.9%) — / —
naive-bayes 25 ✅ 1017 ms (168 iters) ✅ 953 ms (178 iters) ≈ -6.3% (±30.8%) — / —
reactors 21 ✅ 15071 ms (16 iters) ✅ 16373 ms (15 iters) 🔴 +8.6% — / —
reactors 25 ✅ 18455 ms (15 iters) ✅ 17906 ms (15 iters) ≈ -3% (±5.7%) — / —
Internal counter details (ddprof)

ddprof internal counters, latest / dev (✅ = 0, · = unavailable):

Benchmark JDK Dropped rec Dropped jvmti Dropped trace Skipped WC AGCT fail Unwind fail
akka-uct 21 ✅ / ✅ ✅ / ✅ 2 / 1 1942 / 1999 ✅ / ✅ ✅ / ✅
akka-uct 25 ✅ / ✅ ✅ / ✅ 1 / 2 2415 / 2283 ✅ / ✅ ✅ / ✅
finagle-chirper 21 ✅ / ✅ ✅ / ✅ 3 / 3 8464 / 8806 ✅ / ✅ ✅ / ✅
finagle-chirper 25 ✅ / ✅ ✅ / ✅ 1 / 2 8198 / 8600 ✅ / ✅ ✅ / ✅
fj-kmeans 21 ✅ / ✅ ✅ / ✅ 2 / 2 1285 / 1265 ✅ / ✅ ✅ / ✅
fj-kmeans 25 ✅ / ✅ ✅ / ✅ 1 / ✅ 1266 / 1280 ✅ / ✅ ✅ / ✅
future-genetic 21 ✅ / ✅ ✅ / ✅ 1 / ✅ 3003 / 2952 ✅ / ✅ ✅ / ✅
future-genetic 25 ✅ / ✅ ✅ / ✅ 1 / 5 2912 / 2907 ✅ / ✅ ✅ / ✅
naive-bayes 21 ✅ / ✅ ✅ / ✅ 2 / 4 3488 / 3524 ✅ / ✅ ✅ / ✅
naive-bayes 25 ✅ / ✅ ✅ / ✅ 6 / 2 3491 / 3431 ✅ / ✅ ✅ / ✅
reactors 21 ✅ / ✅ ✅ / ✅ 1 / 2 1743 / 1603 ✅ / ✅ ✅ / ✅
reactors 25 ✅ / ✅ ✅ / ✅ 1 / ✅ 1865 / 1696 ✅ / ✅ ✅ / ✅

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