Skip to content

Add custom ImageNameSubstitutor implementation that rewrites Docker image names to use Datadog’s internal registry registry.ddbuild.io when running in a CI environment.#9679

Open
AlexeyKuznetsov-DD wants to merge 5 commits intomasterfrom
alexeyk/docker-image-substitutor
Open

Add custom ImageNameSubstitutor implementation that rewrites Docker image names to use Datadog’s internal registry registry.ddbuild.io when running in a CI environment.#9679
AlexeyKuznetsov-DD wants to merge 5 commits intomasterfrom
alexeyk/docker-image-substitutor

Conversation

@AlexeyKuznetsov-DD
Copy link
Contributor

What Does This Do

Implements a custom ImageNameSubstitutor that rewrites Docker image names to use Datadog’s internal registry (registry.ddbuild.io) when running in a CI environment.

Motivation

Improve CI reliability.

Some tests were failing on CI with the following error: org.testcontainers.containers.ContainerLaunchException: Container startup failed for image mcr.microsoft.com/mssql/server:latest.

Datadog’s internal registry mirrors DockerHub images by default (via TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX), but not images from other registries.

By introducing a custom ImageNameSubstitutor, we can rewrite image names to use our internal registry in CI, ensuring consistent availability and faster pulls.

Additional Notes

Tested locally by toggling the CI environment variable:

  • When CI is unset, the image is pulled from the Microsoft registry.
  • When CI is set, the image is pulled from the internal registry.

… image names to use Datadog’s internal registry `registry.ddbuild.io` when running in a CI environment.
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD self-assigned this Oct 6, 2025
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD added comp: testing Testing tag: no release notes Changes to exclude from release notes labels Oct 6, 2025
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD marked this pull request as ready for review October 6, 2025 20:42
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD requested a review from a team as a code owner October 6, 2025 20:42
@pr-commenter
Copy link

pr-commenter bot commented Oct 6, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master alexeyk/docker-image-substitutor
git_commit_date 1772546814 1772547250
git_commit_sha 6282d6b dbdbdc1
release_version 1.61.0-SNAPSHOT~6282d6bca7 1.55.0-SNAPSHOT~dbdbdc19d0
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1772549264 1772549264
ci_job_id 1471014938 1471014938
ci_pipeline_id 100016262 100016262
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-lbjr3256 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-lbjr3256 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 66 metrics, 5 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~dbdbdc19d0, baseline=1.61.0-SNAPSHOT~6282d6bca7

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.06 s) : 0, 1059687
Total [baseline] (10.944 s) : 0, 10944335
Agent [candidate] (1.066 s) : 0, 1066369
Total [candidate] (10.997 s) : 0, 10997364
section appsec
Agent [baseline] (1.243 s) : 0, 1243012
Total [baseline] (11.125 s) : 0, 11125424
Agent [candidate] (1.252 s) : 0, 1251983
Total [candidate] (11.129 s) : 0, 11128915
section iast
Agent [baseline] (1.235 s) : 0, 1234997
Total [baseline] (11.35 s) : 0, 11350371
Agent [candidate] (1.222 s) : 0, 1221744
Total [candidate] (11.317 s) : 0, 11316614
section profiling
Agent [baseline] (1.178 s) : 0, 1178170
Total [baseline] (10.922 s) : 0, 10921878
Agent [candidate] (1.181 s) : 0, 1180776
Total [candidate] (11.024 s) : 0, 11024491
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.06 s -
Agent appsec 1.243 s 183.325 ms (17.3%)
Agent iast 1.235 s 175.31 ms (16.5%)
Agent profiling 1.178 s 118.483 ms (11.2%)
Total tracing 10.944 s -
Total appsec 11.125 s 181.089 ms (1.7%)
Total iast 11.35 s 406.035 ms (3.7%)
Total profiling 10.922 s -22.457 ms (-0.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent appsec 1.252 s 185.615 ms (17.4%)
Agent iast 1.222 s 155.375 ms (14.6%)
Agent profiling 1.181 s 114.407 ms (10.7%)
Total tracing 10.997 s -
Total appsec 11.129 s 131.552 ms (1.2%)
Total iast 11.317 s 319.25 ms (2.9%)
Total profiling 11.024 s 27.127 ms (0.2%)
gantt
    title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~dbdbdc19d0, baseline=1.61.0-SNAPSHOT~6282d6bca7

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.202 ms) : 0, 1202
crashtracking [candidate] (1.198 ms) : 0, 1198
BytebuddyAgent [baseline] (627.728 ms) : 0, 627728
BytebuddyAgent [candidate] (633.175 ms) : 0, 633175
AgentMeter [baseline] (29.081 ms) : 0, 29081
AgentMeter [candidate] (29.299 ms) : 0, 29299
GlobalTracer [baseline] (256.368 ms) : 0, 256368
GlobalTracer [candidate] (257.631 ms) : 0, 257631
AppSec [baseline] (31.34 ms) : 0, 31340
AppSec [candidate] (31.564 ms) : 0, 31564
Debugger [baseline] (59.279 ms) : 0, 59279
Debugger [candidate] (59.378 ms) : 0, 59378
Remote Config [baseline] (606.66 µs) : 0, 607
Remote Config [candidate] (591.799 µs) : 0, 592
Telemetry [baseline] (8.61 ms) : 0, 8610
Telemetry [candidate] (8.617 ms) : 0, 8617
Flare Poller [baseline] (9.348 ms) : 0, 9348
Flare Poller [candidate] (8.772 ms) : 0, 8772
section appsec
crashtracking [baseline] (1.185 ms) : 0, 1185
crashtracking [candidate] (1.216 ms) : 0, 1216
BytebuddyAgent [baseline] (655.786 ms) : 0, 655786
BytebuddyAgent [candidate] (662.363 ms) : 0, 662363
AgentMeter [baseline] (11.984 ms) : 0, 11984
AgentMeter [candidate] (12.056 ms) : 0, 12056
GlobalTracer [baseline] (257.478 ms) : 0, 257478
GlobalTracer [candidate] (259.417 ms) : 0, 259417
AppSec [baseline] (177.488 ms) : 0, 177488
AppSec [candidate] (177.729 ms) : 0, 177729
Debugger [baseline] (64.923 ms) : 0, 64923
Debugger [candidate] (65.745 ms) : 0, 65745
Remote Config [baseline] (567.612 µs) : 0, 568
Remote Config [candidate] (568.855 µs) : 0, 569
Telemetry [baseline] (9.808 ms) : 0, 9808
Telemetry [candidate] (8.869 ms) : 0, 8869
Flare Poller [baseline] (3.607 ms) : 0, 3607
Flare Poller [candidate] (3.577 ms) : 0, 3577
IAST [baseline] (23.946 ms) : 0, 23946
IAST [candidate] (24.101 ms) : 0, 24101
section iast
crashtracking [baseline] (1.214 ms) : 0, 1214
crashtracking [candidate] (1.184 ms) : 0, 1184
BytebuddyAgent [baseline] (802.406 ms) : 0, 802406
BytebuddyAgent [candidate] (792.463 ms) : 0, 792463
AgentMeter [baseline] (11.558 ms) : 0, 11558
AgentMeter [candidate] (11.299 ms) : 0, 11299
GlobalTracer [baseline] (248.736 ms) : 0, 248736
GlobalTracer [candidate] (246.034 ms) : 0, 246034
AppSec [baseline] (26.476 ms) : 0, 26476
AppSec [candidate] (26.274 ms) : 0, 26274
Debugger [baseline] (62.973 ms) : 0, 62973
Debugger [candidate] (63.251 ms) : 0, 63251
Remote Config [baseline] (535.246 µs) : 0, 535
Remote Config [candidate] (518.328 µs) : 0, 518
Telemetry [baseline] (14.755 ms) : 0, 14755
Telemetry [candidate] (14.79 ms) : 0, 14790
Flare Poller [baseline] (4.826 ms) : 0, 4826
Flare Poller [candidate] (4.861 ms) : 0, 4861
IAST [baseline] (25.35 ms) : 0, 25350
IAST [candidate] (25.098 ms) : 0, 25098
section profiling
ProfilingAgent [baseline] (93.506 ms) : 0, 93506
ProfilingAgent [candidate] (93.835 ms) : 0, 93835
crashtracking [baseline] (1.171 ms) : 0, 1171
crashtracking [candidate] (1.179 ms) : 0, 1179
BytebuddyAgent [baseline] (680.9 ms) : 0, 680900
BytebuddyAgent [candidate] (682.518 ms) : 0, 682518
AgentMeter [baseline] (8.543 ms) : 0, 8543
AgentMeter [candidate] (8.618 ms) : 0, 8618
GlobalTracer [baseline] (214.552 ms) : 0, 214552
GlobalTracer [candidate] (214.872 ms) : 0, 214872
AppSec [baseline] (31.681 ms) : 0, 31681
AppSec [candidate] (31.841 ms) : 0, 31841
Debugger [baseline] (61.157 ms) : 0, 61157
Debugger [candidate] (64.128 ms) : 0, 64128
Remote Config [baseline] (572.287 µs) : 0, 572
Remote Config [candidate] (561.625 µs) : 0, 562
Telemetry [baseline] (12.019 ms) : 0, 12019
Telemetry [candidate] (8.891 ms) : 0, 8891
Flare Poller [baseline] (3.5 ms) : 0, 3500
Flare Poller [candidate] (3.527 ms) : 0, 3527
Profiling [baseline] (94.066 ms) : 0, 94066
Profiling [candidate] (94.384 ms) : 0, 94384
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~dbdbdc19d0, baseline=1.61.0-SNAPSHOT~6282d6bca7

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1053865
Total [baseline] (8.903 s) : 0, 8902989
Agent [candidate] (1.054 s) : 0, 1054130
Total [candidate] (8.81 s) : 0, 8810206
section iast
Agent [baseline] (1.225 s) : 0, 1224999
Total [baseline] (9.524 s) : 0, 9523987
Agent [candidate] (1.22 s) : 0, 1219968
Total [candidate] (9.515 s) : 0, 9514736
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent iast 1.225 s 171.133 ms (16.2%)
Total tracing 8.903 s -
Total iast 9.524 s 620.998 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent iast 1.22 s 165.838 ms (15.7%)
Total tracing 8.81 s -
Total iast 9.515 s 704.53 ms (8.0%)
gantt
    title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~dbdbdc19d0, baseline=1.61.0-SNAPSHOT~6282d6bca7

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.191 ms) : 0, 1191
crashtracking [candidate] (1.184 ms) : 0, 1184
BytebuddyAgent [baseline] (625.364 ms) : 0, 625364
BytebuddyAgent [candidate] (625.378 ms) : 0, 625378
AgentMeter [baseline] (29.097 ms) : 0, 29097
AgentMeter [candidate] (28.966 ms) : 0, 28966
GlobalTracer [baseline] (255.906 ms) : 0, 255906
GlobalTracer [candidate] (256.073 ms) : 0, 256073
AppSec [baseline] (31.43 ms) : 0, 31430
AppSec [candidate] (31.401 ms) : 0, 31401
Debugger [baseline] (58.429 ms) : 0, 58429
Debugger [candidate] (58.253 ms) : 0, 58253
Remote Config [baseline] (593.005 µs) : 0, 593
Remote Config [candidate] (581.695 µs) : 0, 582
Telemetry [baseline] (8.638 ms) : 0, 8638
Telemetry [candidate] (8.563 ms) : 0, 8563
Flare Poller [baseline] (7.093 ms) : 0, 7093
Flare Poller [candidate] (7.81 ms) : 0, 7810
section iast
crashtracking [baseline] (1.212 ms) : 0, 1212
crashtracking [candidate] (1.19 ms) : 0, 1190
BytebuddyAgent [baseline] (795.22 ms) : 0, 795220
BytebuddyAgent [candidate] (791.827 ms) : 0, 791827
AgentMeter [baseline] (11.267 ms) : 0, 11267
AgentMeter [candidate] (11.292 ms) : 0, 11292
GlobalTracer [baseline] (246.395 ms) : 0, 246395
GlobalTracer [candidate] (246.364 ms) : 0, 246364
AppSec [baseline] (27.283 ms) : 0, 27283
AppSec [candidate] (26.086 ms) : 0, 26086
Debugger [baseline] (61.996 ms) : 0, 61996
Debugger [candidate] (62.099 ms) : 0, 62099
Remote Config [baseline] (521.034 µs) : 0, 521
Remote Config [candidate] (518.809 µs) : 0, 519
Telemetry [baseline] (14.74 ms) : 0, 14740
Telemetry [candidate] (14.725 ms) : 0, 14725
Flare Poller [baseline] (4.976 ms) : 0, 4976
Flare Poller [candidate] (4.852 ms) : 0, 4852
IAST [baseline] (25.304 ms) : 0, 25304
IAST [candidate] (25.101 ms) : 0, 25101
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master alexeyk/docker-image-substitutor
git_commit_date 1772546814 1772547250
git_commit_sha 6282d6b dbdbdc1
release_version 1.61.0-SNAPSHOT~6282d6bca7 1.55.0-SNAPSHOT~dbdbdc19d0
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1772549599 1772549599
ci_job_id 1471014940 1471014940
ci_pipeline_id 100016262 100016262
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-2ge3pcr5 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-2ge3pcr5 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 2 performance improvements and 5 performance regressions! Performance is the same for 14 metrics, 15 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_GLOBAL:high_load worse
[+65.269µs; +197.618µs] or [+2.463%; +7.458%]
same
[-52.931µs; +401.783µs] or [-0.690%; +5.237%]
unstable
[-196.105op/s; +101.605op/s] or [-14.647%; +7.589%]
2.781ms 7.846ms 1291.594op/s 2.650ms 7.671ms 1338.844op/s
scenario:load:petclinic:iast:high_load worse
[+0.638ms; +1.674ms] or [+3.615%; +9.481%]
worse
[+0.678ms; +2.431ms] or [+2.325%; +8.342%]
unstable
[-42.659op/s; +10.909op/s] or [-16.364%; +4.185%]
18.817ms 30.697ms 244.812op/s 17.661ms 29.142ms 260.688op/s
scenario:load:petclinic:tracing:high_load worse
[+420.865µs; +1442.010µs] or [+2.414%; +8.271%]
worse
[+1.146ms; +2.477ms] or [+4.031%; +8.713%]
unstable
[-40.362op/s; +13.987op/s] or [-15.394%; +5.335%]
18.366ms 30.241ms 249.000op/s 17.435ms 28.430ms 262.188op/s
scenario:load:petclinic:no_agent:high_load better
[-2.346ms; -1.048ms] or [-12.714%; -5.678%]
better
[-3.531ms; -0.639ms] or [-11.502%; -2.083%]
unstable
[-6.903op/s; +49.590op/s] or [-2.782%; +19.983%]
16.751ms 28.611ms 269.500op/s 18.448ms 30.696ms 248.156op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~dbdbdc19d0, baseline=1.61.0-SNAPSHOT~6282d6bca7
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.183 ms) : 1172, 1195
.   : milestone, 1183,
iast (3.205 ms) : 3161, 3248
.   : milestone, 3205,
iast_FULL (5.833 ms) : 5775, 5891
.   : milestone, 5833,
iast_GLOBAL (3.421 ms) : 3366, 3475
.   : milestone, 3421,
profiling (2.3 ms) : 2280, 2321
.   : milestone, 2300,
tracing (1.788 ms) : 1773, 1803
.   : milestone, 1788,
section candidate
no_agent (1.192 ms) : 1181, 1204
.   : milestone, 1192,
iast (3.265 ms) : 3220, 3310
.   : milestone, 3265,
iast_FULL (5.929 ms) : 5869, 5989
.   : milestone, 5929,
iast_GLOBAL (3.55 ms) : 3492, 3608
.   : milestone, 3550,
profiling (2.164 ms) : 2144, 2185
.   : milestone, 2164,
tracing (1.83 ms) : 1814, 1846
.   : milestone, 1830,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.183 ms [1.172 ms, 1.195 ms] -
iast 3.205 ms [3.161 ms, 3.248 ms] 2.021 ms (170.8%)
iast_FULL 5.833 ms [5.775 ms, 5.891 ms] 4.649 ms (392.9%)
iast_GLOBAL 3.421 ms [3.366 ms, 3.475 ms] 2.237 ms (189.1%)
profiling 2.3 ms [2.28 ms, 2.321 ms] 1.117 ms (94.4%)
tracing 1.788 ms [1.773 ms, 1.803 ms] 604.559 µs (51.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.192 ms [1.181 ms, 1.204 ms] -
iast 3.265 ms [3.22 ms, 3.31 ms] 2.073 ms (173.9%)
iast_FULL 5.929 ms [5.869 ms, 5.989 ms] 4.737 ms (397.3%)
iast_GLOBAL 3.55 ms [3.492 ms, 3.608 ms] 2.358 ms (197.8%)
profiling 2.164 ms [2.144 ms, 2.185 ms] 972.295 µs (81.6%)
tracing 1.83 ms [1.814 ms, 1.846 ms] 638.155 µs (53.5%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~dbdbdc19d0, baseline=1.61.0-SNAPSHOT~6282d6bca7
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.81 ms) : 18615, 19004
.   : milestone, 18810,
appsec (19.867 ms) : 19664, 20071
.   : milestone, 19867,
code_origins (17.72 ms) : 17545, 17895
.   : milestone, 17720,
iast (17.896 ms) : 17716, 18077
.   : milestone, 17896,
profiling (18.571 ms) : 18387, 18755
.   : milestone, 18571,
tracing (17.793 ms) : 17617, 17968
.   : milestone, 17793,
section candidate
no_agent (17.311 ms) : 17137, 17485
.   : milestone, 17311,
appsec (19.456 ms) : 19260, 19653
.   : milestone, 19456,
code_origins (17.693 ms) : 17520, 17867
.   : milestone, 17693,
iast (19.062 ms) : 18867, 19257
.   : milestone, 19062,
profiling (18.883 ms) : 18695, 19071
.   : milestone, 18883,
tracing (18.74 ms) : 18548, 18932
.   : milestone, 18740,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.81 ms [18.615 ms, 19.004 ms] -
appsec 19.867 ms [19.664 ms, 20.071 ms] 1.058 ms (5.6%)
code_origins 17.72 ms [17.545 ms, 17.895 ms] -1.09 ms (-5.8%)
iast 17.896 ms [17.716 ms, 18.077 ms] -913.048 µs (-4.9%)
profiling 18.571 ms [18.387 ms, 18.755 ms] -238.972 µs (-1.3%)
tracing 17.793 ms [17.617 ms, 17.968 ms] -1.017 ms (-5.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.311 ms [17.137 ms, 17.485 ms] -
appsec 19.456 ms [19.26 ms, 19.653 ms] 2.145 ms (12.4%)
code_origins 17.693 ms [17.52 ms, 17.867 ms] 382.139 µs (2.2%)
iast 19.062 ms [18.867 ms, 19.257 ms] 1.751 ms (10.1%)
profiling 18.883 ms [18.695 ms, 19.071 ms] 1.571 ms (9.1%)
tracing 18.74 ms [18.548 ms, 18.932 ms] 1.428 ms (8.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master alexeyk/docker-image-substitutor
git_commit_date 1772546814 1772547250
git_commit_sha 6282d6b dbdbdc1
release_version 1.61.0-SNAPSHOT~6282d6bca7 1.55.0-SNAPSHOT~dbdbdc19d0
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1772549455 1772549455
ci_job_id 1471014943 1471014943
ci_pipeline_id 100016262 100016262
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-7c02w89t 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-7c02w89t 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 12 metrics, 0 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~dbdbdc19d0, baseline=1.61.0-SNAPSHOT~6282d6bca7
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.482 ms) : 1470, 1493
.   : milestone, 1482,
appsec (2.506 ms) : 2452, 2560
.   : milestone, 2506,
iast (2.248 ms) : 2179, 2317
.   : milestone, 2248,
iast_GLOBAL (2.292 ms) : 2222, 2361
.   : milestone, 2292,
profiling (2.091 ms) : 2035, 2147
.   : milestone, 2091,
tracing (2.06 ms) : 2007, 2114
.   : milestone, 2060,
section candidate
no_agent (1.473 ms) : 1461, 1484
.   : milestone, 1473,
appsec (2.506 ms) : 2451, 2560
.   : milestone, 2506,
iast (2.251 ms) : 2182, 2320
.   : milestone, 2251,
iast_GLOBAL (2.302 ms) : 2232, 2371
.   : milestone, 2302,
profiling (2.095 ms) : 2039, 2151
.   : milestone, 2095,
tracing (2.063 ms) : 2009, 2117
.   : milestone, 2063,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.482 ms [1.47 ms, 1.493 ms] -
appsec 2.506 ms [2.452 ms, 2.56 ms] 1.024 ms (69.1%)
iast 2.248 ms [2.179 ms, 2.317 ms] 765.951 µs (51.7%)
iast_GLOBAL 2.292 ms [2.222 ms, 2.361 ms] 809.778 µs (54.6%)
profiling 2.091 ms [2.035 ms, 2.147 ms] 608.898 µs (41.1%)
tracing 2.06 ms [2.007 ms, 2.114 ms] 578.358 µs (39.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.461 ms, 1.484 ms] -
appsec 2.506 ms [2.451 ms, 2.56 ms] 1.033 ms (70.1%)
iast 2.251 ms [2.182 ms, 2.32 ms] 778.021 µs (52.8%)
iast_GLOBAL 2.302 ms [2.232 ms, 2.371 ms] 828.907 µs (56.3%)
profiling 2.095 ms [2.039 ms, 2.151 ms] 622.123 µs (42.2%)
tracing 2.063 ms [2.009 ms, 2.117 ms] 589.938 µs (40.1%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~dbdbdc19d0, baseline=1.61.0-SNAPSHOT~6282d6bca7
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.368 s) : 15368000, 15368000
.   : milestone, 15368000,
appsec (14.904 s) : 14904000, 14904000
.   : milestone, 14904000,
iast (17.997 s) : 17997000, 17997000
.   : milestone, 17997000,
iast_GLOBAL (17.74 s) : 17740000, 17740000
.   : milestone, 17740000,
profiling (14.927 s) : 14927000, 14927000
.   : milestone, 14927000,
tracing (15.263 s) : 15263000, 15263000
.   : milestone, 15263000,
section candidate
no_agent (15.246 s) : 15246000, 15246000
.   : milestone, 15246000,
appsec (14.9 s) : 14900000, 14900000
.   : milestone, 14900000,
iast (17.854 s) : 17854000, 17854000
.   : milestone, 17854000,
iast_GLOBAL (17.919 s) : 17919000, 17919000
.   : milestone, 17919000,
profiling (15.356 s) : 15356000, 15356000
.   : milestone, 15356000,
tracing (14.831 s) : 14831000, 14831000
.   : milestone, 14831000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.368 s [15.368 s, 15.368 s] -
appsec 14.904 s [14.904 s, 14.904 s] -464.0 ms (-3.0%)
iast 17.997 s [17.997 s, 17.997 s] 2.629 s (17.1%)
iast_GLOBAL 17.74 s [17.74 s, 17.74 s] 2.372 s (15.4%)
profiling 14.927 s [14.927 s, 14.927 s] -441.0 ms (-2.9%)
tracing 15.263 s [15.263 s, 15.263 s] -105.0 ms (-0.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.246 s [15.246 s, 15.246 s] -
appsec 14.9 s [14.9 s, 14.9 s] -346.0 ms (-2.3%)
iast 17.854 s [17.854 s, 17.854 s] 2.608 s (17.1%)
iast_GLOBAL 17.919 s [17.919 s, 17.919 s] 2.673 s (17.5%)
profiling 15.356 s [15.356 s, 15.356 s] 110.0 ms (0.7%)
tracing 14.831 s [14.831 s, 14.831 s] -415.0 ms (-2.7%)

Copy link
Contributor

@sarahchen6 sarahchen6 left a comment

Choose a reason for hiding this comment

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

Cool!

Copy link
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.

Nice improvement !

By the way since our registry mirrors docker hub do you think we could use the mirror of the build image in .gitlab-ci.yaml ? I remember pull failures in our GL runner.

Comment on lines +24 to +27
name = name.replace(
'mcr.microsoft.com/mssql/server:',
'registry.ddbuild.io/images/mirror/sqlserver:'
)
Copy link
Contributor

Choose a reason for hiding this comment

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

thought: For consistency shouldn't we do that for all images. Also while writing this comment I noticed that the prefix is not exactly the same, i.e. one cannot simply replace mcr.microsoft.com by registry.ddbuild.io/images/mirror.

Also, what about logging / printing image names that are unknown ?

Comment on lines +55 to +58
(POSTGRESQL): "jdbc:postgresql://localhost:5432/" + dbName.get(POSTGRESQL),
(MYSQL) : "jdbc:mysql://localhost:3306/" + dbName.get(MYSQL),
(SQLSERVER) : "jdbc:sqlserver://localhost:1433/" + dbName.get(SQLSERVER),
(ORACLE) : "jdbc:oracle:thin:@//localhost:1521/" + dbName.get(ORACLE),
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
(POSTGRESQL): "jdbc:postgresql://localhost:5432/" + dbName.get(POSTGRESQL),
(MYSQL) : "jdbc:mysql://localhost:3306/" + dbName.get(MYSQL),
(SQLSERVER) : "jdbc:sqlserver://localhost:1433/" + dbName.get(SQLSERVER),
(ORACLE) : "jdbc:oracle:thin:@//localhost:1521/" + dbName.get(ORACLE),
(POSTGRESQL): "jdbc:postgresql://localhost:5432/${dbName.get(POSTGRESQL)}",
(MYSQL) : "jdbc:mysql://localhost:3306/${dbName.get(MYSQL)}",
(SQLSERVER) : "jdbc:sqlserver://localhost:1433/${dbName.get(SQLSERVER)}",
(ORACLE) : "jdbc:oracle:thin:@//localhost:1521/${dbName.get(ORACLE)}",

PortUtils.waitForPortToOpen(mysql.getHost(), mysql.getMappedPort(MySQLContainer.MYSQL_PORT), 5, TimeUnit.SECONDS)
jdbcUrls.put(MYSQL, "${mysql.getJdbcUrl()}")
sqlserver = new MSSQLServerContainer(MSSQLServerContainer.IMAGE).acceptLicense().withPassword(jdbcPasswords.get(SQLSERVER))
sqlserver = new MSSQLServerContainer("mcr.microsoft.com/mssql/server:2022-latest").acceptLicense().withPassword(jdbcPasswords.get(SQLSERVER))
Copy link
Contributor

Choose a reason for hiding this comment

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

thought: I think it's fine to keep MSSQLServerContainer.IMAGE.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

problem with MSSQLServerContainer.IMAGE that it is resolved as mcr.microsoft.com/mssql/server:latest, that is actually has same SHA as :2022-latest on Microsoft registry:

2022-latest | Docker Image | sha256:b1395aa51b4ec39981883560f1379ea9eba2a1c0719bf8e6477902769316bb79 | 09/11/2025

latest      | Docker Image | sha256:b1395aa51b4ec39981883560f1379ea9eba2a1c0719bf8e6477902769316bb79 | 09/11/2025

But on our DataDog mirror we do not have latest image at all...
Although I can try to add it there (will check and update on that).

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah got it ! But if the image is different it's not exactly the same test.
It's weird however that the lastest image is not pulled "automatically" by the registry ?.

Copy link
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.

Forgot to approve

@github-actions
Copy link
Contributor

github-actions bot commented Feb 1, 2026

This pull request has been marked as stale because it has not had activity over the past quarter. It will be closed in 7 days if no further activity occurs. Feel free to reopen the PR if you are still working on it.

@github-actions github-actions bot added the tag: stale Stale pull requests label Feb 1, 2026
@github-actions github-actions bot removed the tag: stale Stale pull requests label Mar 1, 2026
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.

3 participants