Skip to content

Implement Bazel support for CI Visibility#11150

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 18 commits intomasterfrom
daniel.mohedano/bazel-support
Apr 27, 2026
Merged

Implement Bazel support for CI Visibility#11150
gh-worker-dd-mergequeue-cf854d[bot] merged 18 commits intomasterfrom
daniel.mohedano/bazel-support

Conversation

@daniel-mohedano
Copy link
Copy Markdown
Contributor

@daniel-mohedano daniel-mohedano commented Apr 17, 2026

What Does This Do

Adds Bazel-focused CI Visibility support with two offline execution modes, mirroring dd-trace-go#4503 and dd-trace-py#17197:

  • Manifest mode (DD_TEST_OPTIMIZATION_MANIFEST_FILE): reads settings, known tests, flaky tests, and test management data from pre-fetched JSON cache files instead of hitting the backend.
  • Payload-files mode (DD_TEST_OPTIMIZATION_PAYLOADS_IN_FILES): writes CI test cycle, coverage, and tracer telemetry to $TEST_UNDECLARED_OUTPUTS_DIR/payloads/{tests,coverage,telemetry}/*.json instead of POSTing them.

Key Changes

  • BazelMode (internal-api): detects both modes, resolves the manifest path via Bazel's rlocation algorithm, parses the version=<int> header, and exposes the tests/, coverage/, and telemetry/ output directories.
  • FileBasedConfigurationApi (agent-ci-visibility): reads the same JSON envelopes as the HTTP API from disk; null paths return safe defaults.
  • FileBasedPayloadDispatcher (dd-trace-core): serializes CI test cycle and coverage spans as JSON files; strips ci.*/git.*/runtime.*/os.* tags to avoid cache invalidation; atomic temp-file + rename. Writes trace_id/span_id/parent_id as unsigned 64-bit JSON numbers (not strings) so backend schema validation passes.
  • FileBasedTelemetryClient (telemetry): subclass of TelemetryClient that writes the existing Moshi-encoded telemetry request body to a file; TelemetryRouter gets a single-client path that skips feature discovery; TelemetrySystem swaps in the file-based client when Bazel mode is active.
  • WriterFactory / CiVisibilityServices / CiVisibilityRepoServices: wire the file-based dispatcher/config API, disable the git client, and skip git-data upload when Bazel mode is active.
  • CoreTracer: in Bazel payload-files mode, uses StreamingTraceCollector (streams each CI Visibility span individually) and DDIntakeTraceInterceptor (not the APM-protocol interceptor, which strips test_{session,module,suite}_end spans) — same treatment as agentless, so all CITESTCYCLE events reach the file dispatcher.
  • JUnit4TracingListener / JUnit4Utils: lazy-register the test suite in testStarted so runners that don't fire testSuiteStarted still produce a proper suite span; unwrap com.google.testing.junit.junit4.runner.RunNotifierWrapper in runListenersFromRunNotifier so the idempotency check sees listeners installed on the inner notifier (fixes duplicate-listener installation under BazelTestRunner).
  • Config: adds DD_TEST_OPTIMIZATION_MANIFEST_FILE and DD_TEST_OPTIMIZATION_PAYLOADS_IN_FILES; skips API-key validation in these modes. TEST_UNDECLARED_OUTPUTS_DIR is read directly in BazelMode (it's a Bazel-provided env var, not a DD config).

Motivation

Bazel can run tests in hermetic sandboxes with no network access. The existing CI Visibility pipeline requires HTTP calls to fetch configuration and submit payloads, which is incompatible with Bazel's execution model. Most of our operations, such as tagging tests with git metadata, also invalid Bazel's cache. This PR enables CI Visibility under Bazel by reading configuration from pre-fetched cache files and writing payloads/telemetry to files, with the orchestration of everything else being handled by our custom testing rule.

Additional Notes

  • Unit tests cover each new component: BazelModeTest, FileBasedConfigurationApiTest (shares the existing *-response.ftl fixtures with ConfigurationApiImplTest to keep the HTTP and file code paths in sync), FileBasedPayloadDispatcherTest, FileBasedTelemetryClientTest, and extended TelemetryRouterSpecification.
  • End-to-end repro validated locally against DataDog/rules_test_optimization_tests: 3 test + 1 test_suite_end + 1 test_module_end + 1 test_session_end events emitted to the payload file, no duplicate listener errors, no schema-validation failures.
  • Future work, not included in this PR to avoid changes too big:
    • Include instrumentation improvements to better handle Bazel's custom JUnit4 test runner
    • Refactoring of configuration API related DTOs to common utilities
    • Define a specification for mapping and serializing CI Vis spans to avoid logic mirroring between the two approaches (original vs file-based)
    • Possibly introduce a smoke test for e2e testing of bazel process, to avoid dependencies on an external repository.

Contributor Checklist

Jira ticket: SDTEST-3335

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.

@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented Apr 17, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/bazel-support
git_commit_date 1777284879 1777290671
git_commit_sha 34333bb 30c479b
release_version 1.62.0-SNAPSHOT~34333bb5c3 1.62.0-SNAPSHOT~30c479b168
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1777292644 1777292644
ci_job_id 1633089527 1633089527
ci_pipeline_id 109868049 109868049
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-0-3scn6572 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-3scn6572 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 1 performance regressions! Performance is the same for 61 metrics, 9 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:petclinic:iast:Telemetry worse
[+233.123µs; +619.399µs] or [+3.002%; +7.976%]
8.192ms 7.766ms
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.62.0-SNAPSHOT~30c479b168, baseline=1.62.0-SNAPSHOT~34333bb5c3

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1056007
Total [baseline] (8.843 s) : 0, 8842933
Agent [candidate] (1.059 s) : 0, 1058784
Total [candidate] (8.865 s) : 0, 8864927
section iast
Agent [baseline] (1.237 s) : 0, 1237437
Total [baseline] (9.522 s) : 0, 9521590
Agent [candidate] (1.242 s) : 0, 1241851
Total [candidate] (9.573 s) : 0, 9572631
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent iast 1.237 s 181.43 ms (17.2%)
Total tracing 8.843 s -
Total iast 9.522 s 678.657 ms (7.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent iast 1.242 s 183.067 ms (17.3%)
Total tracing 8.865 s -
Total iast 9.573 s 707.704 ms (8.0%)
gantt
    title insecure-bank - break down per module: candidate=1.62.0-SNAPSHOT~30c479b168, baseline=1.62.0-SNAPSHOT~34333bb5c3

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.242 ms) : 0, 1242
crashtracking [candidate] (1.244 ms) : 0, 1244
BytebuddyAgent [baseline] (635.306 ms) : 0, 635306
BytebuddyAgent [candidate] (636.086 ms) : 0, 636086
AgentMeter [baseline] (29.574 ms) : 0, 29574
AgentMeter [candidate] (29.7 ms) : 0, 29700
GlobalTracer [baseline] (248.778 ms) : 0, 248778
GlobalTracer [candidate] (250.034 ms) : 0, 250034
AppSec [baseline] (32.387 ms) : 0, 32387
AppSec [candidate] (32.461 ms) : 0, 32461
Debugger [baseline] (59.508 ms) : 0, 59508
Debugger [candidate] (59.704 ms) : 0, 59704
Remote Config [baseline] (618.952 µs) : 0, 619
Remote Config [candidate] (592.998 µs) : 0, 593
Telemetry [baseline] (8.765 ms) : 0, 8765
Telemetry [candidate] (8.331 ms) : 0, 8331
Flare Poller [baseline] (3.548 ms) : 0, 3548
Flare Poller [candidate] (4.369 ms) : 0, 4369
section iast
crashtracking [baseline] (1.233 ms) : 0, 1233
crashtracking [candidate] (1.245 ms) : 0, 1245
BytebuddyAgent [baseline] (812.844 ms) : 0, 812844
BytebuddyAgent [candidate] (818.534 ms) : 0, 818534
AgentMeter [baseline] (11.49 ms) : 0, 11490
AgentMeter [candidate] (11.53 ms) : 0, 11530
GlobalTracer [baseline] (240.999 ms) : 0, 240999
GlobalTracer [candidate] (240.55 ms) : 0, 240550
IAST [baseline] (31.955 ms) : 0, 31955
IAST [candidate] (30.144 ms) : 0, 30144
AppSec [baseline] (26.699 ms) : 0, 26699
AppSec [candidate] (29.128 ms) : 0, 29128
Debugger [baseline] (64.324 ms) : 0, 64324
Debugger [candidate] (62.694 ms) : 0, 62694
Remote Config [baseline] (533.727 µs) : 0, 534
Remote Config [candidate] (531.408 µs) : 0, 531
Telemetry [baseline] (7.796 ms) : 0, 7796
Telemetry [candidate] (7.991 ms) : 0, 7991
Flare Poller [baseline] (3.412 ms) : 0, 3412
Flare Poller [candidate] (3.421 ms) : 0, 3421
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.62.0-SNAPSHOT~30c479b168, baseline=1.62.0-SNAPSHOT~34333bb5c3

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1057434
Total [baseline] (11.127 s) : 0, 11127349
Agent [candidate] (1.063 s) : 0, 1062997
Total [candidate] (11.103 s) : 0, 11102585
section appsec
Agent [baseline] (1.26 s) : 0, 1259796
Total [baseline] (11.08 s) : 0, 11079788
Agent [candidate] (1.269 s) : 0, 1268919
Total [candidate] (10.987 s) : 0, 10987193
section iast
Agent [baseline] (1.234 s) : 0, 1234022
Total [baseline] (11.349 s) : 0, 11348553
Agent [candidate] (1.241 s) : 0, 1240709
Total [candidate] (11.32 s) : 0, 11319534
section profiling
Agent [baseline] (1.184 s) : 0, 1184393
Total [baseline] (10.934 s) : 0, 10934247
Agent [candidate] (1.182 s) : 0, 1181968
Total [candidate] (11.084 s) : 0, 11083723
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent appsec 1.26 s 202.361 ms (19.1%)
Agent iast 1.234 s 176.588 ms (16.7%)
Agent profiling 1.184 s 126.959 ms (12.0%)
Total tracing 11.127 s -
Total appsec 11.08 s -47.561 ms (-0.4%)
Total iast 11.349 s 221.204 ms (2.0%)
Total profiling 10.934 s -193.102 ms (-1.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.063 s -
Agent appsec 1.269 s 205.923 ms (19.4%)
Agent iast 1.241 s 177.713 ms (16.7%)
Agent profiling 1.182 s 118.971 ms (11.2%)
Total tracing 11.103 s -
Total appsec 10.987 s -115.392 ms (-1.0%)
Total iast 11.32 s 216.949 ms (2.0%)
Total profiling 11.084 s -18.863 ms (-0.2%)
gantt
    title petclinic - break down per module: candidate=1.62.0-SNAPSHOT~30c479b168, baseline=1.62.0-SNAPSHOT~34333bb5c3

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.231 ms) : 0, 1231
crashtracking [candidate] (1.233 ms) : 0, 1233
BytebuddyAgent [baseline] (635.774 ms) : 0, 635774
BytebuddyAgent [candidate] (638.285 ms) : 0, 638285
AgentMeter [baseline] (29.484 ms) : 0, 29484
AgentMeter [candidate] (29.748 ms) : 0, 29748
GlobalTracer [baseline] (248.644 ms) : 0, 248644
GlobalTracer [candidate] (249.932 ms) : 0, 249932
AppSec [baseline] (32.19 ms) : 0, 32190
AppSec [candidate] (32.458 ms) : 0, 32458
Debugger [baseline] (60.302 ms) : 0, 60302
Debugger [candidate] (60.861 ms) : 0, 60861
Remote Config [baseline] (592.927 µs) : 0, 593
Remote Config [candidate] (594.118 µs) : 0, 594
Telemetry [baseline] (8.764 ms) : 0, 8764
Telemetry [candidate] (8.432 ms) : 0, 8432
Flare Poller [baseline] (4.254 ms) : 0, 4254
Flare Poller [candidate] (5.104 ms) : 0, 5104
section appsec
crashtracking [baseline] (1.218 ms) : 0, 1218
crashtracking [candidate] (1.221 ms) : 0, 1221
BytebuddyAgent [baseline] (673.623 ms) : 0, 673623
BytebuddyAgent [candidate] (679.051 ms) : 0, 679051
AgentMeter [baseline] (12.239 ms) : 0, 12239
AgentMeter [candidate] (12.385 ms) : 0, 12385
GlobalTracer [baseline] (248.64 ms) : 0, 248640
GlobalTracer [candidate] (250.405 ms) : 0, 250405
IAST [baseline] (24.166 ms) : 0, 24166
IAST [candidate] (24.355 ms) : 0, 24355
AppSec [baseline] (185.934 ms) : 0, 185934
AppSec [candidate] (187.891 ms) : 0, 187891
Debugger [baseline] (65.798 ms) : 0, 65798
Debugger [candidate] (64.916 ms) : 0, 64916
Remote Config [baseline] (587.674 µs) : 0, 588
Remote Config [candidate] (569.398 µs) : 0, 569
Telemetry [baseline] (7.9 ms) : 0, 7900
Telemetry [candidate] (8.109 ms) : 0, 8109
Flare Poller [baseline] (3.454 ms) : 0, 3454
Flare Poller [candidate] (3.464 ms) : 0, 3464
section iast
crashtracking [baseline] (1.232 ms) : 0, 1232
crashtracking [candidate] (1.25 ms) : 0, 1250
BytebuddyAgent [baseline] (810.567 ms) : 0, 810567
BytebuddyAgent [candidate] (815.854 ms) : 0, 815854
AgentMeter [baseline] (11.379 ms) : 0, 11379
AgentMeter [candidate] (11.565 ms) : 0, 11565
GlobalTracer [baseline] (239.817 ms) : 0, 239817
GlobalTracer [candidate] (239.19 ms) : 0, 239190
IAST [baseline] (30.889 ms) : 0, 30889
IAST [candidate] (30.154 ms) : 0, 30154
AppSec [baseline] (27.478 ms) : 0, 27478
AppSec [candidate] (30.532 ms) : 0, 30532
Debugger [baseline] (64.959 ms) : 0, 64959
Debugger [candidate] (63.724 ms) : 0, 63724
Remote Config [baseline] (539.478 µs) : 0, 539
Remote Config [candidate] (541.368 µs) : 0, 541
Telemetry [baseline] (7.766 ms) : 0, 7766
Telemetry [candidate] (8.192 ms) : 0, 8192
Flare Poller [baseline] (3.387 ms) : 0, 3387
Flare Poller [candidate] (3.48 ms) : 0, 3480
section profiling
crashtracking [baseline] (1.19 ms) : 0, 1190
crashtracking [candidate] (1.183 ms) : 0, 1183
BytebuddyAgent [baseline] (691.415 ms) : 0, 691415
BytebuddyAgent [candidate] (689.56 ms) : 0, 689560
AgentMeter [baseline] (8.936 ms) : 0, 8936
AgentMeter [candidate] (8.913 ms) : 0, 8913
GlobalTracer [baseline] (207.468 ms) : 0, 207468
GlobalTracer [candidate] (207.218 ms) : 0, 207218
AppSec [baseline] (32.62 ms) : 0, 32620
AppSec [candidate] (32.441 ms) : 0, 32441
Debugger [baseline] (65.649 ms) : 0, 65649
Debugger [candidate] (65.665 ms) : 0, 65665
Remote Config [baseline] (576.85 µs) : 0, 577
Remote Config [candidate] (565.526 µs) : 0, 566
Telemetry [baseline] (7.776 ms) : 0, 7776
Telemetry [candidate] (7.983 ms) : 0, 7983
Flare Poller [baseline] (3.504 ms) : 0, 3504
Flare Poller [candidate] (3.499 ms) : 0, 3499
ProfilingAgent [baseline] (93.58 ms) : 0, 93580
ProfilingAgent [candidate] (93.416 ms) : 0, 93416
Profiling [baseline] (94.145 ms) : 0, 94145
Profiling [candidate] (93.967 ms) : 0, 93967
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/bazel-support
git_commit_date 1777284879 1777290671
git_commit_sha 34333bb 30c479b
release_version 1.62.0-SNAPSHOT~34333bb5c3 1.62.0-SNAPSHOT~30c479b168
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1777293127 1777293127
ci_job_id 1633089528 1633089528
ci_pipeline_id 109868049 109868049
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-0-mc8wpfk2 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-mc8wpfk2 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 3 performance improvements and 2 performance regressions! Performance is the same for 14 metrics, 17 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:petclinic:iast:high_load worse
[+0.593ms; +1.560ms] or [+3.371%; +8.876%]
worse
[+0.815ms; +2.397ms] or [+2.850%; +8.381%]
unstable
[-41.344op/s; +13.532op/s] or [-15.892%; +5.201%]
18.651ms 30.203ms 246.250op/s 17.575ms 28.597ms 260.156op/s
scenario:load:petclinic:code_origins:high_load better
[-1.694ms; -1.014ms] or [-8.997%; -5.388%]
better
[-2.364ms; -0.877ms] or [-7.827%; -2.904%]
unstable
[-10.021op/s; +43.958op/s] or [-4.103%; +18.000%]
17.471ms 28.579ms 261.188op/s 18.825ms 30.199ms 244.219op/s
scenario:load:petclinic:no_agent:high_load better
[-2.747ms; -1.413ms] or [-14.607%; -7.514%]
unstable
[-4.395ms; -1.100ms] or [-14.144%; -3.541%]
unstable
[-1.131op/s; +56.131op/s] or [-0.468%; +23.213%]
16.729ms 28.327ms 269.312op/s 18.809ms 31.075ms 241.812op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~30c479b168, baseline=1.62.0-SNAPSHOT~34333bb5c3
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.259 ms) : 1246, 1271
.   : milestone, 1259,
iast (3.34 ms) : 3296, 3384
.   : milestone, 3340,
iast_FULL (6.183 ms) : 6118, 6247
.   : milestone, 6183,
iast_GLOBAL (3.651 ms) : 3596, 3706
.   : milestone, 3651,
profiling (2.235 ms) : 2215, 2256
.   : milestone, 2235,
tracing (1.903 ms) : 1886, 1920
.   : milestone, 1903,
section candidate
no_agent (1.25 ms) : 1237, 1262
.   : milestone, 1250,
iast (3.391 ms) : 3340, 3442
.   : milestone, 3391,
iast_FULL (6.094 ms) : 6032, 6156
.   : milestone, 6094,
iast_GLOBAL (3.69 ms) : 3628, 3753
.   : milestone, 3690,
profiling (2.249 ms) : 2228, 2271
.   : milestone, 2249,
tracing (1.918 ms) : 1902, 1935
.   : milestone, 1918,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.259 ms [1.246 ms, 1.271 ms] -
iast 3.34 ms [3.296 ms, 3.384 ms] 2.081 ms (165.4%)
iast_FULL 6.183 ms [6.118 ms, 6.247 ms] 4.924 ms (391.3%)
iast_GLOBAL 3.651 ms [3.596 ms, 3.706 ms] 2.392 ms (190.1%)
profiling 2.235 ms [2.215 ms, 2.256 ms] 976.818 µs (77.6%)
tracing 1.903 ms [1.886 ms, 1.92 ms] 644.767 µs (51.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.25 ms [1.237 ms, 1.262 ms] -
iast 3.391 ms [3.34 ms, 3.442 ms] 2.142 ms (171.4%)
iast_FULL 6.094 ms [6.032 ms, 6.156 ms] 4.845 ms (387.7%)
iast_GLOBAL 3.69 ms [3.628 ms, 3.753 ms] 2.441 ms (195.3%)
profiling 2.249 ms [2.228 ms, 2.271 ms] 999.946 µs (80.0%)
tracing 1.918 ms [1.902 ms, 1.935 ms] 668.736 µs (53.5%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~30c479b168, baseline=1.62.0-SNAPSHOT~34333bb5c3
    dateFormat X
    axisFormat %s
section baseline
no_agent (19.309 ms) : 19110, 19508
.   : milestone, 19309,
appsec (19.068 ms) : 18874, 19262
.   : milestone, 19068,
code_origins (19.113 ms) : 18925, 19300
.   : milestone, 19113,
iast (17.935 ms) : 17759, 18111
.   : milestone, 17935,
profiling (18.39 ms) : 18209, 18571
.   : milestone, 18390,
tracing (18.074 ms) : 17894, 18253
.   : milestone, 18074,
section candidate
no_agent (17.323 ms) : 17149, 17497
.   : milestone, 17323,
appsec (18.765 ms) : 18580, 18951
.   : milestone, 18765,
code_origins (17.867 ms) : 17693, 18042
.   : milestone, 17867,
iast (18.95 ms) : 18758, 19142
.   : milestone, 18950,
profiling (18.284 ms) : 18100, 18467
.   : milestone, 18284,
tracing (17.946 ms) : 17769, 18123
.   : milestone, 17946,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.309 ms [19.11 ms, 19.508 ms] -
appsec 19.068 ms [18.874 ms, 19.262 ms] -241.094 µs (-1.2%)
code_origins 19.113 ms [18.925 ms, 19.3 ms] -196.242 µs (-1.0%)
iast 17.935 ms [17.759 ms, 18.111 ms] -1.374 ms (-7.1%)
profiling 18.39 ms [18.209 ms, 18.571 ms] -919.112 µs (-4.8%)
tracing 18.074 ms [17.894 ms, 18.253 ms] -1.235 ms (-6.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.323 ms [17.149 ms, 17.497 ms] -
appsec 18.765 ms [18.58 ms, 18.951 ms] 1.442 ms (8.3%)
code_origins 17.867 ms [17.693 ms, 18.042 ms] 544.439 µs (3.1%)
iast 18.95 ms [18.758 ms, 19.142 ms] 1.627 ms (9.4%)
profiling 18.284 ms [18.1 ms, 18.467 ms] 960.64 µs (5.5%)
tracing 17.946 ms [17.769 ms, 18.123 ms] 623.117 µs (3.6%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/bazel-support
git_commit_date 1777284879 1777290671
git_commit_sha 34333bb 30c479b
release_version 1.62.0-SNAPSHOT~34333bb5c3 1.62.0-SNAPSHOT~30c479b168
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1777292757 1777292757
ci_job_id 1633089529 1633089529
ci_pipeline_id 109868049 109868049
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-0-ge60u320 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-ge60u320 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 11 metrics, 1 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~30c479b168, baseline=1.62.0-SNAPSHOT~34333bb5c3
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.486 ms) : 1474, 1498
.   : milestone, 1486,
appsec (2.548 ms) : 2493, 2604
.   : milestone, 2548,
iast (2.284 ms) : 2214, 2354
.   : milestone, 2284,
iast_GLOBAL (2.331 ms) : 2260, 2402
.   : milestone, 2331,
profiling (2.097 ms) : 2042, 2152
.   : milestone, 2097,
tracing (2.098 ms) : 2044, 2153
.   : milestone, 2098,
section candidate
no_agent (1.484 ms) : 1472, 1495
.   : milestone, 1484,
appsec (3.843 ms) : 3621, 4065
.   : milestone, 3843,
iast (2.292 ms) : 2222, 2363
.   : milestone, 2292,
iast_GLOBAL (2.33 ms) : 2259, 2401
.   : milestone, 2330,
profiling (2.107 ms) : 2051, 2162
.   : milestone, 2107,
tracing (2.084 ms) : 2030, 2138
.   : milestone, 2084,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.486 ms [1.474 ms, 1.498 ms] -
appsec 2.548 ms [2.493 ms, 2.604 ms] 1.062 ms (71.5%)
iast 2.284 ms [2.214 ms, 2.354 ms] 797.817 µs (53.7%)
iast_GLOBAL 2.331 ms [2.26 ms, 2.402 ms] 844.842 µs (56.9%)
profiling 2.097 ms [2.042 ms, 2.152 ms] 610.864 µs (41.1%)
tracing 2.098 ms [2.044 ms, 2.153 ms] 612.394 µs (41.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.484 ms [1.472 ms, 1.495 ms] -
appsec 3.843 ms [3.621 ms, 4.065 ms] 2.359 ms (159.0%)
iast 2.292 ms [2.222 ms, 2.363 ms] 808.694 µs (54.5%)
iast_GLOBAL 2.33 ms [2.259 ms, 2.401 ms] 845.937 µs (57.0%)
profiling 2.107 ms [2.051 ms, 2.162 ms] 623.204 µs (42.0%)
tracing 2.084 ms [2.03 ms, 2.138 ms] 600.34 µs (40.5%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~30c479b168, baseline=1.62.0-SNAPSHOT~34333bb5c3
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.537 s) : 15537000, 15537000
.   : milestone, 15537000,
appsec (14.977 s) : 14977000, 14977000
.   : milestone, 14977000,
iast (18.165 s) : 18165000, 18165000
.   : milestone, 18165000,
iast_GLOBAL (18.253 s) : 18253000, 18253000
.   : milestone, 18253000,
profiling (15.609 s) : 15609000, 15609000
.   : milestone, 15609000,
tracing (14.744 s) : 14744000, 14744000
.   : milestone, 14744000,
section candidate
no_agent (15.156 s) : 15156000, 15156000
.   : milestone, 15156000,
appsec (14.649 s) : 14649000, 14649000
.   : milestone, 14649000,
iast (17.912 s) : 17912000, 17912000
.   : milestone, 17912000,
iast_GLOBAL (17.907 s) : 17907000, 17907000
.   : milestone, 17907000,
profiling (15.255 s) : 15255000, 15255000
.   : milestone, 15255000,
tracing (15.02 s) : 15020000, 15020000
.   : milestone, 15020000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.537 s [15.537 s, 15.537 s] -
appsec 14.977 s [14.977 s, 14.977 s] -560.0 ms (-3.6%)
iast 18.165 s [18.165 s, 18.165 s] 2.628 s (16.9%)
iast_GLOBAL 18.253 s [18.253 s, 18.253 s] 2.716 s (17.5%)
profiling 15.609 s [15.609 s, 15.609 s] 72.0 ms (0.5%)
tracing 14.744 s [14.744 s, 14.744 s] -793.0 ms (-5.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.156 s [15.156 s, 15.156 s] -
appsec 14.649 s [14.649 s, 14.649 s] -507.0 ms (-3.3%)
iast 17.912 s [17.912 s, 17.912 s] 2.756 s (18.2%)
iast_GLOBAL 17.907 s [17.907 s, 17.907 s] 2.751 s (18.2%)
profiling 15.255 s [15.255 s, 15.255 s] 99.0 ms (0.7%)
tracing 15.02 s [15.02 s, 15.02 s] -136.0 ms (-0.9%)

@daniel-mohedano daniel-mohedano changed the title feat: introduce bazel support to test optimization Implement Bazel support for CI Visibility Apr 20, 2026
@daniel-mohedano daniel-mohedano added type: enhancement Enhancements and improvements comp: ci visibility Continuous Integration Visibility labels Apr 20, 2026
@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - sbt-scalatest

Job Status: success

Scenario Overhead (%)
agent 52.55
agentEvpProxy 52.51

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - nebula-release-plugin

Job Status: success

Scenario Overhead (%)
agent 36.61
agentless 36.09
agentlessCodeCoverage 45.76
agentlessLineCoverage 76.41

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - reactive-streams-jvm

Job Status: success

Scenario Overhead (%)
agent 20.49
agentless 17.20
agentlessCodeCoverage 18.97
agentlessLineCoverage 29.22

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - netflix-zuul

Job Status: success

Scenario Overhead (%)
agent 88.20
agentless 82.07
agentlessCodeCoverage 97.56
agentlessLineCoverage 113.88

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - pass4s

Job Status: success

Scenario Overhead (%)
agent 10.33
agentless 7.64
agentlessCodeCoverage 16.27

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - sonar-kotlin

Job Status: success

Scenario Overhead (%)
agent 13.63
agentless 12.79
agentlessCodeCoverage 17.98
agentlessLineCoverage 20.42

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - jolokia

Job Status: success

Scenario Overhead (%)
agent 91.53
agentless 86.22
agentlessCodeCoverage 96.34
agentlessLineCoverage 97.45

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - okhttp

Job Status: success

Scenario Overhead (%)
agent 18.69
agentless 17.89
agentlessCodeCoverage 22.71
agentlessLineCoverage 45.36

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - spring_boot

Job Status: success

Scenario Overhead (%)
agent 15.94
agentless 9.86
agentlessCodeCoverage 13.38
agentlessLineCoverage 33.23

@daniel-mohedano daniel-mohedano marked this pull request as ready for review April 21, 2026 09:05
@daniel-mohedano daniel-mohedano requested review from a team as code owners April 21, 2026 09:05
@daniel-mohedano daniel-mohedano requested a review from a team as a code owner April 21, 2026 09:05
@daniel-mohedano daniel-mohedano requested review from dougqh and sarahchen6 and removed request for a team April 21, 2026 09:05
@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 21, 2026

Test Environment - sonar-java

Job Status: success

Scenario Overhead (%)
agent 2.97
agentless 35.24
agentlessCodeCoverage 83.69
agentlessLineCoverage 118.99

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

Looks good on the LP end!

@daniel-mohedano
Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351
Copy link
Copy Markdown

gh-worker-devflow-routing-ef8351 Bot commented Apr 24, 2026

View all feedbacks in Devflow UI.

2026-04-24 14:02:53 UTC ℹ️ Start processing command /merge


2026-04-24 14:02:58 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 2h (p90).


2026-04-24 16:03:34 UTCMergeQueue: The build pipeline has timeout

The merge request has been interrupted because the build 0 took longer than expected. The current limit for the base branch 'master' is 120 minutes.

@daniel-mohedano
Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351
Copy link
Copy Markdown

gh-worker-devflow-routing-ef8351 Bot commented Apr 27, 2026

View all feedbacks in Devflow UI.

2026-04-27 09:07:53 UTC ℹ️ Start processing command /merge


2026-04-27 09:07:59 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 2h (p90).


2026-04-27 10:20:26 UTCMergeQueue: This merge request was updated

This PR is rejected because it was updated

@daniel-mohedano
Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351
Copy link
Copy Markdown

gh-worker-devflow-routing-ef8351 Bot commented Apr 27, 2026

View all feedbacks in Devflow UI.

2026-04-27 13:37:51 UTC ℹ️ Start processing command /merge


2026-04-27 13:37:56 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 2h (p90).


2026-04-27 15:19:23 UTC ℹ️ MergeQueue: This merge request was merged

@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d Bot merged commit 2b95dcf into master Apr 27, 2026
570 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d Bot deleted the daniel.mohedano/bazel-support branch April 27, 2026 15:19
@github-actions github-actions Bot added this to the 1.62.0 milestone Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: ci visibility Continuous Integration Visibility type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants