Skip to content

Migrate dd-trace-core groovy files to java part 3#11085

Open
jpbempel wants to merge 4 commits intomasterfrom
jpbempel/g2j-core-pt3
Open

Migrate dd-trace-core groovy files to java part 3#11085
jpbempel wants to merge 4 commits intomasterfrom
jpbempel/g2j-core-pt3

Conversation

@jpbempel
Copy link
Copy Markdown
Member

What Does This Do

we migrate 3 small tests:

  • BlackholeSpanTest
  • LongRunningTracesTrackerTest
  • TraceCorrelationTest using new SpanConfigExtension for injecting config

Motivation

this is part of the effort to migrate groovy tests to Java/JUnit
part1: #11053
part2: #11062

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

Note: Once your PR is ready to merge, add it to the merge queue by commenting /merge. /merge -c cancels the queue request. /merge -f --reason "reason" skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.

@jpbempel jpbempel requested a review from a team as a code owner April 13, 2026 09:59
@jpbempel jpbempel requested a review from amarziali April 13, 2026 09:59
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 13, 2026

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@jpbempel jpbempel added comp: testing Testing tag: no release notes Changes to exclude from release notes labels Apr 13, 2026
expired = 0;
}

// @VisibleForTesting
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering if we should import the real anno?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that having a proper annotation should be suitable, but I wonder if we should create our own... Otherwise we depend on one of these deps:

image

Copy link
Copy Markdown
Contributor

@amarziali amarziali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks

@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Apr 13, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/g2j-core-pt3
git_commit_date 1776168739 1776170100
git_commit_sha 1ee99fb 15c6cdb
release_version 1.62.0-SNAPSHOT~1ee99fb92c 1.62.0-SNAPSHOT~15c6cdb2dc
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1776171873 1776171873
ci_job_id 1593154923 1593154923
ci_pipeline_id 107570052 107570052
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-zw9na8qq 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-zw9na8qq 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 12 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.62.0-SNAPSHOT~15c6cdb2dc, baseline=1.62.0-SNAPSHOT~1ee99fb92c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.051 s) : 0, 1050703
Total [baseline] (8.853 s) : 0, 8853040
Agent [candidate] (1.055 s) : 0, 1054857
Total [candidate] (8.833 s) : 0, 8833201
section iast
Agent [baseline] (1.22 s) : 0, 1219970
Total [baseline] (9.571 s) : 0, 9571158
Agent [candidate] (1.227 s) : 0, 1226941
Total [candidate] (9.534 s) : 0, 9533662
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.051 s -
Agent iast 1.22 s 169.267 ms (16.1%)
Total tracing 8.853 s -
Total iast 9.571 s 718.118 ms (8.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent iast 1.227 s 172.084 ms (16.3%)
Total tracing 8.833 s -
Total iast 9.534 s 700.461 ms (7.9%)
gantt
    title insecure-bank - break down per module: candidate=1.62.0-SNAPSHOT~15c6cdb2dc, baseline=1.62.0-SNAPSHOT~1ee99fb92c

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.238 ms) : 0, 1238
crashtracking [candidate] (1.219 ms) : 0, 1219
BytebuddyAgent [baseline] (628.765 ms) : 0, 628765
BytebuddyAgent [candidate] (631.411 ms) : 0, 631411
AgentMeter [baseline] (29.27 ms) : 0, 29270
AgentMeter [candidate] (29.335 ms) : 0, 29335
GlobalTracer [baseline] (247.248 ms) : 0, 247248
GlobalTracer [candidate] (248.247 ms) : 0, 248247
AppSec [baseline] (32.232 ms) : 0, 32232
AppSec [candidate] (32.342 ms) : 0, 32342
Debugger [baseline] (59.065 ms) : 0, 59065
Debugger [candidate] (58.886 ms) : 0, 58886
Remote Config [baseline] (592.636 µs) : 0, 593
Remote Config [candidate] (576.936 µs) : 0, 577
Telemetry [baseline] (8.01 ms) : 0, 8010
Telemetry [candidate] (7.993 ms) : 0, 7993
Flare Poller [baseline] (8.206 ms) : 0, 8206
Flare Poller [candidate] (8.863 ms) : 0, 8863
section iast
crashtracking [baseline] (1.218 ms) : 0, 1218
crashtracking [candidate] (1.231 ms) : 0, 1231
BytebuddyAgent [baseline] (798.179 ms) : 0, 798179
BytebuddyAgent [candidate] (804.088 ms) : 0, 804088
AgentMeter [baseline] (11.324 ms) : 0, 11324
AgentMeter [candidate] (11.628 ms) : 0, 11628
GlobalTracer [baseline] (238.739 ms) : 0, 238739
GlobalTracer [candidate] (238.684 ms) : 0, 238684
IAST [baseline] (25.724 ms) : 0, 25724
IAST [candidate] (25.757 ms) : 0, 25757
AppSec [baseline] (31.979 ms) : 0, 31979
AppSec [candidate] (29.806 ms) : 0, 29806
Debugger [baseline] (61.606 ms) : 0, 61606
Debugger [candidate] (62.588 ms) : 0, 62588
Remote Config [baseline] (1.141 ms) : 0, 1141
Remote Config [candidate] (1.156 ms) : 0, 1156
Telemetry [baseline] (10.618 ms) : 0, 10618
Telemetry [candidate] (12.067 ms) : 0, 12067
Flare Poller [baseline] (3.379 ms) : 0, 3379
Flare Poller [candidate] (3.461 ms) : 0, 3461
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.62.0-SNAPSHOT~15c6cdb2dc, baseline=1.62.0-SNAPSHOT~1ee99fb92c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1054637
Total [baseline] (10.99 s) : 0, 10989724
Agent [candidate] (1.057 s) : 0, 1057292
Total [candidate] (11.147 s) : 0, 11146625
section appsec
Agent [baseline] (1.245 s) : 0, 1244598
Total [baseline] (11.059 s) : 0, 11058627
Agent [candidate] (1.247 s) : 0, 1247192
Total [candidate] (11.141 s) : 0, 11140673
section iast
Agent [baseline] (1.239 s) : 0, 1238633
Total [baseline] (11.379 s) : 0, 11378551
Agent [candidate] (1.221 s) : 0, 1221358
Total [candidate] (11.249 s) : 0, 11249493
section profiling
Agent [baseline] (1.182 s) : 0, 1181607
Total [baseline] (11.023 s) : 0, 11023095
Agent [candidate] (1.185 s) : 0, 1184929
Total [candidate] (11.208 s) : 0, 11207697
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent appsec 1.245 s 189.961 ms (18.0%)
Agent iast 1.239 s 183.995 ms (17.4%)
Agent profiling 1.182 s 126.97 ms (12.0%)
Total tracing 10.99 s -
Total appsec 11.059 s 68.904 ms (0.6%)
Total iast 11.379 s 388.827 ms (3.5%)
Total profiling 11.023 s 33.371 ms (0.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent appsec 1.247 s 189.9 ms (18.0%)
Agent iast 1.221 s 164.066 ms (15.5%)
Agent profiling 1.185 s 127.637 ms (12.1%)
Total tracing 11.147 s -
Total appsec 11.141 s -5.952 ms (-0.1%)
Total iast 11.249 s 102.868 ms (0.9%)
Total profiling 11.208 s 61.072 ms (0.5%)
gantt
    title petclinic - break down per module: candidate=1.62.0-SNAPSHOT~15c6cdb2dc, baseline=1.62.0-SNAPSHOT~1ee99fb92c

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.227 ms) : 0, 1227
crashtracking [candidate] (1.228 ms) : 0, 1228
BytebuddyAgent [baseline] (630.088 ms) : 0, 630088
BytebuddyAgent [candidate] (631.926 ms) : 0, 631926
AgentMeter [baseline] (29.384 ms) : 0, 29384
AgentMeter [candidate] (29.471 ms) : 0, 29471
GlobalTracer [baseline] (247.567 ms) : 0, 247567
GlobalTracer [candidate] (249.04 ms) : 0, 249040
AppSec [baseline] (32.204 ms) : 0, 32204
AppSec [candidate] (32.46 ms) : 0, 32460
Debugger [baseline] (59.72 ms) : 0, 59720
Debugger [candidate] (60.173 ms) : 0, 60173
Remote Config [baseline] (611.587 µs) : 0, 612
Remote Config [candidate] (598.094 µs) : 0, 598
Telemetry [baseline] (8.076 ms) : 0, 8076
Telemetry [candidate] (8.104 ms) : 0, 8104
Flare Poller [baseline] (9.779 ms) : 0, 9779
Flare Poller [candidate] (8.235 ms) : 0, 8235
section appsec
crashtracking [baseline] (1.215 ms) : 0, 1215
crashtracking [candidate] (1.241 ms) : 0, 1241
BytebuddyAgent [baseline] (658.95 ms) : 0, 658950
BytebuddyAgent [candidate] (661.126 ms) : 0, 661126
AgentMeter [baseline] (12.035 ms) : 0, 12035
AgentMeter [candidate] (12.061 ms) : 0, 12061
GlobalTracer [baseline] (248.268 ms) : 0, 248268
GlobalTracer [candidate] (248.373 ms) : 0, 248373
IAST [baseline] (24.554 ms) : 0, 24554
IAST [candidate] (24.496 ms) : 0, 24496
AppSec [baseline] (184.904 ms) : 0, 184904
AppSec [candidate] (185.259 ms) : 0, 185259
Debugger [baseline] (65.728 ms) : 0, 65728
Debugger [candidate] (65.804 ms) : 0, 65804
Remote Config [baseline] (606.926 µs) : 0, 607
Remote Config [candidate] (623.72 µs) : 0, 624
Telemetry [baseline] (8.464 ms) : 0, 8464
Telemetry [candidate] (8.5 ms) : 0, 8500
Flare Poller [baseline] (3.527 ms) : 0, 3527
Flare Poller [candidate] (3.46 ms) : 0, 3460
section iast
crashtracking [baseline] (1.252 ms) : 0, 1252
crashtracking [candidate] (1.227 ms) : 0, 1227
BytebuddyAgent [baseline] (808.135 ms) : 0, 808135
BytebuddyAgent [candidate] (799.05 ms) : 0, 799050
AgentMeter [baseline] (11.581 ms) : 0, 11581
AgentMeter [candidate] (11.35 ms) : 0, 11350
GlobalTracer [baseline] (242.71 ms) : 0, 242710
GlobalTracer [candidate] (238.613 ms) : 0, 238613
IAST [baseline] (26.552 ms) : 0, 26552
IAST [candidate] (25.791 ms) : 0, 25791
AppSec [baseline] (32.834 ms) : 0, 32834
AppSec [candidate] (30.412 ms) : 0, 30412
Debugger [baseline] (62.458 ms) : 0, 62458
Debugger [candidate] (61.991 ms) : 0, 61991
Remote Config [baseline] (565.053 µs) : 0, 565
Remote Config [candidate] (525.353 µs) : 0, 525
Telemetry [baseline] (12.553 ms) : 0, 12553
Telemetry [candidate] (12.604 ms) : 0, 12604
Flare Poller [baseline] (3.572 ms) : 0, 3572
Flare Poller [candidate] (3.601 ms) : 0, 3601
section profiling
crashtracking [baseline] (1.182 ms) : 0, 1182
crashtracking [candidate] (1.175 ms) : 0, 1175
BytebuddyAgent [baseline] (689.177 ms) : 0, 689177
BytebuddyAgent [candidate] (689.95 ms) : 0, 689950
AgentMeter [baseline] (9.038 ms) : 0, 9038
AgentMeter [candidate] (9.114 ms) : 0, 9114
GlobalTracer [baseline] (206.658 ms) : 0, 206658
GlobalTracer [candidate] (208.132 ms) : 0, 208132
AppSec [baseline] (32.73 ms) : 0, 32730
AppSec [candidate] (32.838 ms) : 0, 32838
Debugger [baseline] (65.709 ms) : 0, 65709
Debugger [candidate] (66.005 ms) : 0, 66005
Remote Config [baseline] (578.37 µs) : 0, 578
Remote Config [candidate] (572.716 µs) : 0, 573
Telemetry [baseline] (7.782 ms) : 0, 7782
Telemetry [candidate] (7.851 ms) : 0, 7851
Flare Poller [baseline] (3.55 ms) : 0, 3550
Flare Poller [candidate] (3.594 ms) : 0, 3594
ProfilingAgent [baseline] (94.108 ms) : 0, 94108
ProfilingAgent [candidate] (94.575 ms) : 0, 94575
Profiling [baseline] (94.684 ms) : 0, 94684
Profiling [candidate] (95.136 ms) : 0, 95136
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/g2j-core-pt3
git_commit_date 1776168739 1776170100
git_commit_sha 1ee99fb 15c6cdb
release_version 1.62.0-SNAPSHOT~1ee99fb92c 1.62.0-SNAPSHOT~15c6cdb2dc
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1776172425 1776172425
ci_job_id 1593154926 1593154926
ci_pipeline_id 107570052 107570052
cpu_model Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-ucrqro58 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-ucrqro58 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 0 performance improvements and 3 performance regressions! Performance is the same for 17 metrics, 16 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:iast:high_load worse
[+69.986µs; +337.447µs] or [+2.465%; +11.886%]
unsure
[+103.008µs; +815.344µs] or [+1.272%; +10.068%]
unstable
[-202.765op/s; +61.953op/s] or [-15.896%; +4.857%]
3.043ms 8.557ms 1205.156op/s 2.839ms 8.098ms 1275.562op/s
scenario:load:petclinic:appsec:high_load worse
[+0.867ms; +1.789ms] or [+4.616%; +9.526%]
worse
[+1.357ms; +2.897ms] or [+4.479%; +9.562%]
unstable
[-40.684op/s; +10.621op/s] or [-16.631%; +4.342%]
20.104ms 32.423ms 229.594op/s 18.776ms 30.296ms 244.625op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~15c6cdb2dc, baseline=1.62.0-SNAPSHOT~1ee99fb92c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.361 ms) : 1348, 1374
.   : milestone, 1361,
iast (3.594 ms) : 3546, 3642
.   : milestone, 3594,
iast_FULL (6.583 ms) : 6513, 6653
.   : milestone, 6583,
iast_GLOBAL (3.901 ms) : 3823, 3980
.   : milestone, 3901,
profiling (2.243 ms) : 2223, 2263
.   : milestone, 2243,
tracing (2.078 ms) : 2058, 2098
.   : milestone, 2078,
section candidate
no_agent (1.397 ms) : 1383, 1411
.   : milestone, 1397,
iast (3.809 ms) : 3750, 3867
.   : milestone, 3809,
iast_FULL (6.408 ms) : 6341, 6475
.   : milestone, 6408,
iast_GLOBAL (3.891 ms) : 3812, 3969
.   : milestone, 3891,
profiling (2.202 ms) : 2183, 2222
.   : milestone, 2202,
tracing (2.045 ms) : 2027, 2063
.   : milestone, 2045,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.361 ms [1.348 ms, 1.374 ms] -
iast 3.594 ms [3.546 ms, 3.642 ms] 2.233 ms (164.1%)
iast_FULL 6.583 ms [6.513 ms, 6.653 ms] 5.222 ms (383.7%)
iast_GLOBAL 3.901 ms [3.823 ms, 3.98 ms] 2.54 ms (186.7%)
profiling 2.243 ms [2.223 ms, 2.263 ms] 882.239 µs (64.8%)
tracing 2.078 ms [2.058 ms, 2.098 ms] 717.223 µs (52.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.397 ms [1.383 ms, 1.411 ms] -
iast 3.809 ms [3.75 ms, 3.867 ms] 2.412 ms (172.6%)
iast_FULL 6.408 ms [6.341 ms, 6.475 ms] 5.011 ms (358.6%)
iast_GLOBAL 3.891 ms [3.812 ms, 3.969 ms] 2.493 ms (178.5%)
profiling 2.202 ms [2.183 ms, 2.222 ms] 804.947 µs (57.6%)
tracing 2.045 ms [2.027 ms, 2.063 ms] 647.826 µs (46.4%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~15c6cdb2dc, baseline=1.62.0-SNAPSHOT~1ee99fb92c
    dateFormat X
    axisFormat %s
section baseline
no_agent (20.081 ms) : 19877, 20285
.   : milestone, 20081,
appsec (19.081 ms) : 18890, 19272
.   : milestone, 19081,
code_origins (18.749 ms) : 18565, 18932
.   : milestone, 18749,
iast (18.566 ms) : 18378, 18754
.   : milestone, 18566,
profiling (19.312 ms) : 19118, 19506
.   : milestone, 19312,
tracing (19.314 ms) : 19116, 19513
.   : milestone, 19314,
section candidate
no_agent (18.74 ms) : 18549, 18932
.   : milestone, 18740,
appsec (20.333 ms) : 20124, 20542
.   : milestone, 20333,
code_origins (18.584 ms) : 18396, 18772
.   : milestone, 18584,
iast (18.526 ms) : 18339, 18713
.   : milestone, 18526,
profiling (19.279 ms) : 19084, 19475
.   : milestone, 19279,
tracing (18.88 ms) : 18696, 19065
.   : milestone, 18880,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 20.081 ms [19.877 ms, 20.285 ms] -
appsec 19.081 ms [18.89 ms, 19.272 ms] -1.0 ms (-5.0%)
code_origins 18.749 ms [18.565 ms, 18.932 ms] -1.332 ms (-6.6%)
iast 18.566 ms [18.378 ms, 18.754 ms] -1.515 ms (-7.5%)
profiling 19.312 ms [19.118 ms, 19.506 ms] -768.619 µs (-3.8%)
tracing 19.314 ms [19.116 ms, 19.513 ms] -766.646 µs (-3.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.74 ms [18.549 ms, 18.932 ms] -
appsec 20.333 ms [20.124 ms, 20.542 ms] 1.593 ms (8.5%)
code_origins 18.584 ms [18.396 ms, 18.772 ms] -156.403 µs (-0.8%)
iast 18.526 ms [18.339 ms, 18.713 ms] -214.37 µs (-1.1%)
profiling 19.279 ms [19.084 ms, 19.475 ms] 539.051 µs (2.9%)
tracing 18.88 ms [18.696 ms, 19.065 ms] 140.11 µs (0.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/g2j-core-pt3
git_commit_date 1776168739 1776170100
git_commit_sha 1ee99fb 15c6cdb
release_version 1.62.0-SNAPSHOT~1ee99fb92c 1.62.0-SNAPSHOT~15c6cdb2dc
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1776172139 1776172139
ci_job_id 1593154928 1593154928
ci_pipeline_id 107570052 107570052
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-4-zh3parxv 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-4-zh3parxv 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 10 metrics, 2 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~15c6cdb2dc, baseline=1.62.0-SNAPSHOT~1ee99fb92c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.497 ms) : 1485, 1508
.   : milestone, 1497,
appsec (3.872 ms) : 3648, 4097
.   : milestone, 3872,
iast (2.284 ms) : 2214, 2353
.   : milestone, 2284,
iast_GLOBAL (2.331 ms) : 2261, 2400
.   : milestone, 2331,
profiling (2.526 ms) : 2359, 2692
.   : milestone, 2526,
tracing (2.084 ms) : 2031, 2137
.   : milestone, 2084,
section candidate
no_agent (1.491 ms) : 1480, 1503
.   : milestone, 1491,
appsec (3.811 ms) : 3591, 4031
.   : milestone, 3811,
iast (2.274 ms) : 2205, 2343
.   : milestone, 2274,
iast_GLOBAL (2.325 ms) : 2255, 2394
.   : milestone, 2325,
profiling (2.112 ms) : 2057, 2167
.   : milestone, 2112,
tracing (2.089 ms) : 2036, 2143
.   : milestone, 2089,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.497 ms [1.485 ms, 1.508 ms] -
appsec 3.872 ms [3.648 ms, 4.097 ms] 2.376 ms (158.7%)
iast 2.284 ms [2.214 ms, 2.353 ms] 786.868 µs (52.6%)
iast_GLOBAL 2.331 ms [2.261 ms, 2.4 ms] 833.99 µs (55.7%)
profiling 2.526 ms [2.359 ms, 2.692 ms] 1.029 ms (68.7%)
tracing 2.084 ms [2.031 ms, 2.137 ms] 587.389 µs (39.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.491 ms [1.48 ms, 1.503 ms] -
appsec 3.811 ms [3.591 ms, 4.031 ms] 2.319 ms (155.5%)
iast 2.274 ms [2.205 ms, 2.343 ms] 782.727 µs (52.5%)
iast_GLOBAL 2.325 ms [2.255 ms, 2.394 ms] 833.333 µs (55.9%)
profiling 2.112 ms [2.057 ms, 2.167 ms] 620.364 µs (41.6%)
tracing 2.089 ms [2.036 ms, 2.143 ms] 598.064 µs (40.1%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~15c6cdb2dc, baseline=1.62.0-SNAPSHOT~1ee99fb92c
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.641 s) : 15641000, 15641000
.   : milestone, 15641000,
appsec (14.658 s) : 14658000, 14658000
.   : milestone, 14658000,
iast (18.312 s) : 18312000, 18312000
.   : milestone, 18312000,
iast_GLOBAL (17.991 s) : 17991000, 17991000
.   : milestone, 17991000,
profiling (15.052 s) : 15052000, 15052000
.   : milestone, 15052000,
tracing (14.713 s) : 14713000, 14713000
.   : milestone, 14713000,
section candidate
no_agent (15.469 s) : 15469000, 15469000
.   : milestone, 15469000,
appsec (14.96 s) : 14960000, 14960000
.   : milestone, 14960000,
iast (18.453 s) : 18453000, 18453000
.   : milestone, 18453000,
iast_GLOBAL (17.853 s) : 17853000, 17853000
.   : milestone, 17853000,
profiling (14.945 s) : 14945000, 14945000
.   : milestone, 14945000,
tracing (14.87 s) : 14870000, 14870000
.   : milestone, 14870000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.641 s [15.641 s, 15.641 s] -
appsec 14.658 s [14.658 s, 14.658 s] -983.0 ms (-6.3%)
iast 18.312 s [18.312 s, 18.312 s] 2.671 s (17.1%)
iast_GLOBAL 17.991 s [17.991 s, 17.991 s] 2.35 s (15.0%)
profiling 15.052 s [15.052 s, 15.052 s] -589.0 ms (-3.8%)
tracing 14.713 s [14.713 s, 14.713 s] -928.0 ms (-5.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.469 s [15.469 s, 15.469 s] -
appsec 14.96 s [14.96 s, 14.96 s] -509.0 ms (-3.3%)
iast 18.453 s [18.453 s, 18.453 s] 2.984 s (19.3%)
iast_GLOBAL 17.853 s [17.853 s, 17.853 s] 2.384 s (15.4%)
profiling 14.945 s [14.945 s, 14.945 s] -524.0 ms (-3.4%)
tracing 14.87 s [14.87 s, 14.87 s] -599.0 ms (-3.9%)

Copy link
Copy Markdown
Contributor

@bric3 bric3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the configuration code is misusing WithConfigExtension.

"128 bit traceid logging disabled | false "
})
void shouldMuteTracing(String moreBits) throws Exception {
WithConfigExtension.injectSysConfig("trace.128.bit.traceid.logging.enabled", moreBits);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: Shouldn't it have used WithConfig annotation, from #11076

Also, the skill should probably updated to use prefer WithConfig over WithConfigExtension.injectSysConfig

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you have an annotation based on parameter value of the method? I doubt it

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, that is supposed to use constants only.
The programmatic API is still there for this use case but I would recommend using static import for readability.

Comment on lines +63 to +66
WithConfigExtension.injectSysConfig("trace.experimental.long-running.enabled", "true");
WithConfigExtension.injectSysConfig(
"trace.experimental.long-running.initial.flush.interval", "10");
WithConfigExtension.injectSysConfig("trace.experimental.long-running.flush.interval", "20");
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: WithConfig instead?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right those can be replaced with annotations

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but is it working on @BeforeEach setup method?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link
Copy Markdown
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a bunch of comments to help with the migration

- `@TableTest` and `@MethodSource` may be combined on the same `@ParameterizedTest` when most cases are tabular but a few cases require programmatic setup.
- In combined mode, keep table-friendly cases in `@TableTest`, and put only non-tabular/complex cases in `@MethodSource`.
- If `@TableTest` is not viable for the test at all, use `@MethodSource` only.
- If `@TableTest` was successfully used, `@ParameterizedTest` can then be removed as `@TableTest` replace it fully
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔨 issue: ‏Only if the @ParameterizedTest is not used to specify the test name.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment on lines +17 to +21
@TableTest({
"scenario | moreBits",
"128 bit traceid logging enabled | true ",
"128 bit traceid logging disabled | false "
})
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 suggestion: ‏Can't we just have the 128-bit TID flag as parameter? There is no need for 2 columns here. We're only testing a flag.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

"128 bit traceid logging disabled | false "
})
void shouldMuteTracing(String moreBits) throws Exception {
WithConfigExtension.injectSysConfig("trace.128.bit.traceid.logging.enabled", moreBits);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, that is supposed to use constants only.
The programmatic API is still there for this use case but I would recommend using static import for readability.

Comment on lines +125 to +128
for (int i = 0; i < MAX_TRACKED_TRACES; i++) {
tracker.add(newTraceToTrack());
}
tracker.add(newTraceToTrack());
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💭 thought: ‏Not very clear. Should it be a single loop with MAX + 1 instead?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

"128-bit enabled | true ",
"128-bit disabled | false "
})
void getTraceIdWithoutTrace(boolean log128bTraceId) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 suggestion: ‏Same comment here. We can have a simple @ValueSource with "true" / "false".

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

"128-bit enabled | true ",
"128-bit disabled | false "
})
void getTraceIdWithTrace(boolean log128bTraceId) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 suggestion: ‏Same here

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

we migrate 3 small tests:
 - BlackholeSpanTest
 - LongRunningTracesTrackerTest
 - TraceCorrelationTest
using new SpanConfigExtension for injecting config
@jpbempel jpbempel force-pushed the jpbempel/g2j-core-pt3 branch from 0ae0065 to 15c6cdb Compare April 14, 2026 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: testing Testing tag: no release notes Changes to exclude from release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants