Skip to content

Implement Bazel support for CI Visibility#11150

Open
daniel-mohedano wants to merge 15 commits intomasterfrom
daniel.mohedano/bazel-support
Open

Implement Bazel support for CI Visibility#11150
daniel-mohedano wants to merge 15 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 1776642285 1776938106
git_commit_sha 081af53 da57da8
release_version 1.62.0-SNAPSHOT~081af53226 1.62.0-SNAPSHOT~da57da8687
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1776939966 1776939966
ci_job_id 1623221591 1623221591
ci_pipeline_id 109249522 109249522
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-33lll3i2 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-33lll3i2 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 62 metrics, 9 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.62.0-SNAPSHOT~da57da8687, baseline=1.62.0-SNAPSHOT~081af53226

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.058 s) : 0, 1058111
Total [baseline] (11.121 s) : 0, 11121062
Agent [candidate] (1.061 s) : 0, 1060997
Total [candidate] (11.17 s) : 0, 11169834
section appsec
Agent [baseline] (1.254 s) : 0, 1254320
Total [baseline] (11.122 s) : 0, 11122059
Agent [candidate] (1.252 s) : 0, 1251996
Total [candidate] (11.077 s) : 0, 11077347
section iast
Agent [baseline] (1.238 s) : 0, 1237783
Total [baseline] (11.388 s) : 0, 11387828
Agent [candidate] (1.229 s) : 0, 1228589
Total [candidate] (11.347 s) : 0, 11347006
section profiling
Agent [baseline] (1.19 s) : 0, 1189875
Total [baseline] (11.08 s) : 0, 11080040
Agent [candidate] (1.211 s) : 0, 1211158
Total [candidate] (11.159 s) : 0, 11159088
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent appsec 1.254 s 196.209 ms (18.5%)
Agent iast 1.238 s 179.672 ms (17.0%)
Agent profiling 1.19 s 131.764 ms (12.5%)
Total tracing 11.121 s -
Total appsec 11.122 s 996.957 µs (0.0%)
Total iast 11.388 s 266.765 ms (2.4%)
Total profiling 11.08 s -41.022 ms (-0.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.061 s -
Agent appsec 1.252 s 190.999 ms (18.0%)
Agent iast 1.229 s 167.592 ms (15.8%)
Agent profiling 1.211 s 150.161 ms (14.2%)
Total tracing 11.17 s -
Total appsec 11.077 s -92.486 ms (-0.8%)
Total iast 11.347 s 177.173 ms (1.6%)
Total profiling 11.159 s -10.746 ms (-0.1%)
gantt
    title petclinic - break down per module: candidate=1.62.0-SNAPSHOT~da57da8687, baseline=1.62.0-SNAPSHOT~081af53226

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.227 ms) : 0, 1227
crashtracking [candidate] (1.221 ms) : 0, 1221
BytebuddyAgent [baseline] (633.992 ms) : 0, 633992
BytebuddyAgent [candidate] (632.926 ms) : 0, 632926
AgentMeter [baseline] (29.628 ms) : 0, 29628
AgentMeter [candidate] (29.86 ms) : 0, 29860
GlobalTracer [baseline] (248.83 ms) : 0, 248830
GlobalTracer [candidate] (250.495 ms) : 0, 250495
AppSec [baseline] (32.347 ms) : 0, 32347
AppSec [candidate] (32.613 ms) : 0, 32613
Debugger [baseline] (60.267 ms) : 0, 60267
Debugger [candidate] (60.307 ms) : 0, 60307
Remote Config [baseline] (601.663 µs) : 0, 602
Remote Config [candidate] (606.516 µs) : 0, 607
Telemetry [baseline] (8.851 ms) : 0, 8851
Telemetry [candidate] (9.18 ms) : 0, 9180
Flare Poller [baseline] (6.04 ms) : 0, 6040
Flare Poller [candidate] (7.541 ms) : 0, 7541
section appsec
crashtracking [baseline] (1.235 ms) : 0, 1235
crashtracking [candidate] (1.24 ms) : 0, 1240
BytebuddyAgent [baseline] (665.69 ms) : 0, 665690
BytebuddyAgent [candidate] (663.604 ms) : 0, 663604
AgentMeter [baseline] (12.34 ms) : 0, 12340
AgentMeter [candidate] (12.334 ms) : 0, 12334
GlobalTracer [baseline] (249.557 ms) : 0, 249557
GlobalTracer [candidate] (249.654 ms) : 0, 249654
AppSec [baseline] (185.765 ms) : 0, 185765
AppSec [candidate] (185.33 ms) : 0, 185330
Debugger [baseline] (66.089 ms) : 0, 66089
Debugger [candidate] (66.042 ms) : 0, 66042
Remote Config [baseline] (610.139 µs) : 0, 610
Remote Config [candidate] (597.019 µs) : 0, 597
Telemetry [baseline] (8.383 ms) : 0, 8383
Telemetry [candidate] (8.68 ms) : 0, 8680
Flare Poller [baseline] (3.482 ms) : 0, 3482
Flare Poller [candidate] (3.569 ms) : 0, 3569
IAST [baseline] (24.527 ms) : 0, 24527
IAST [candidate] (24.499 ms) : 0, 24499
section iast
crashtracking [baseline] (1.245 ms) : 0, 1245
crashtracking [candidate] (1.225 ms) : 0, 1225
BytebuddyAgent [baseline] (810.709 ms) : 0, 810709
BytebuddyAgent [candidate] (803.104 ms) : 0, 803104
AgentMeter [baseline] (11.739 ms) : 0, 11739
AgentMeter [candidate] (11.639 ms) : 0, 11639
GlobalTracer [baseline] (241.278 ms) : 0, 241278
GlobalTracer [candidate] (240.594 ms) : 0, 240594
AppSec [baseline] (32.876 ms) : 0, 32876
AppSec [candidate] (32.657 ms) : 0, 32657
Debugger [baseline] (64.018 ms) : 0, 64018
Debugger [candidate] (63.67 ms) : 0, 63670
Remote Config [baseline] (543.841 µs) : 0, 544
Remote Config [candidate] (525.492 µs) : 0, 525
Telemetry [baseline] (9.333 ms) : 0, 9333
Telemetry [candidate] (9.544 ms) : 0, 9544
Flare Poller [baseline] (3.643 ms) : 0, 3643
Flare Poller [candidate] (3.526 ms) : 0, 3526
IAST [baseline] (25.956 ms) : 0, 25956
IAST [candidate] (25.792 ms) : 0, 25792
section profiling
crashtracking [baseline] (1.177 ms) : 0, 1177
crashtracking [candidate] (1.222 ms) : 0, 1222
BytebuddyAgent [baseline] (694.793 ms) : 0, 694793
BytebuddyAgent [candidate] (709.085 ms) : 0, 709085
AgentMeter [baseline] (9.224 ms) : 0, 9224
AgentMeter [candidate] (9.396 ms) : 0, 9396
GlobalTracer [baseline] (207.753 ms) : 0, 207753
GlobalTracer [candidate] (210.732 ms) : 0, 210732
AppSec [baseline] (32.985 ms) : 0, 32985
AppSec [candidate] (33.605 ms) : 0, 33605
Debugger [baseline] (66.273 ms) : 0, 66273
Debugger [candidate] (66.919 ms) : 0, 66919
Remote Config [baseline] (586.03 µs) : 0, 586
Remote Config [candidate] (594.373 µs) : 0, 594
Telemetry [baseline] (7.838 ms) : 0, 7838
Telemetry [candidate] (8.199 ms) : 0, 8199
Flare Poller [baseline] (3.508 ms) : 0, 3508
Flare Poller [candidate] (3.611 ms) : 0, 3611
ProfilingAgent [baseline] (94.185 ms) : 0, 94185
ProfilingAgent [candidate] (95.111 ms) : 0, 95111
Profiling [baseline] (94.758 ms) : 0, 94758
Profiling [candidate] (95.674 ms) : 0, 95674
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.62.0-SNAPSHOT~da57da8687, baseline=1.62.0-SNAPSHOT~081af53226

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.069 s) : 0, 1069338
Total [baseline] (8.879 s) : 0, 8878929
Agent [candidate] (1.074 s) : 0, 1073566
Total [candidate] (8.889 s) : 0, 8889051
section iast
Agent [baseline] (1.229 s) : 0, 1228989
Total [baseline] (9.58 s) : 0, 9579735
Agent [candidate] (1.227 s) : 0, 1226716
Total [candidate] (9.586 s) : 0, 9586454
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.069 s -
Agent iast 1.229 s 159.652 ms (14.9%)
Total tracing 8.879 s -
Total iast 9.58 s 700.806 ms (7.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.074 s -
Agent iast 1.227 s 153.149 ms (14.3%)
Total tracing 8.889 s -
Total iast 9.586 s 697.403 ms (7.8%)
gantt
    title insecure-bank - break down per module: candidate=1.62.0-SNAPSHOT~da57da8687, baseline=1.62.0-SNAPSHOT~081af53226

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.247 ms) : 0, 1247
crashtracking [candidate] (1.245 ms) : 0, 1245
BytebuddyAgent [baseline] (641.539 ms) : 0, 641539
BytebuddyAgent [candidate] (642.291 ms) : 0, 642291
AgentMeter [baseline] (29.95 ms) : 0, 29950
AgentMeter [candidate] (30.042 ms) : 0, 30042
GlobalTracer [baseline] (251.53 ms) : 0, 251530
GlobalTracer [candidate] (252.79 ms) : 0, 252790
AppSec [baseline] (32.7 ms) : 0, 32700
AppSec [candidate] (32.9 ms) : 0, 32900
Debugger [baseline] (59.806 ms) : 0, 59806
Debugger [candidate] (59.903 ms) : 0, 59903
Remote Config [baseline] (601.255 µs) : 0, 601
Remote Config [candidate] (598.302 µs) : 0, 598
Telemetry [baseline] (8.088 ms) : 0, 8088
Telemetry [candidate] (8.445 ms) : 0, 8445
Flare Poller [baseline] (7.499 ms) : 0, 7499
Flare Poller [candidate] (8.988 ms) : 0, 8988
section iast
crashtracking [baseline] (1.246 ms) : 0, 1246
crashtracking [candidate] (1.229 ms) : 0, 1229
BytebuddyAgent [baseline] (804.026 ms) : 0, 804026
BytebuddyAgent [candidate] (802.04 ms) : 0, 802040
AgentMeter [baseline] (11.582 ms) : 0, 11582
AgentMeter [candidate] (11.58 ms) : 0, 11580
GlobalTracer [baseline] (240.174 ms) : 0, 240174
GlobalTracer [candidate] (239.951 ms) : 0, 239951
AppSec [baseline] (29.066 ms) : 0, 29066
AppSec [candidate] (29.752 ms) : 0, 29752
Debugger [baseline] (66.35 ms) : 0, 66350
Debugger [candidate] (66.29 ms) : 0, 66290
Remote Config [baseline] (552.521 µs) : 0, 553
Remote Config [candidate] (530.404 µs) : 0, 530
Telemetry [baseline] (9.338 ms) : 0, 9338
Telemetry [candidate] (9.593 ms) : 0, 9593
Flare Poller [baseline] (3.574 ms) : 0, 3574
Flare Poller [candidate] (3.585 ms) : 0, 3585
IAST [baseline] (26.734 ms) : 0, 26734
IAST [candidate] (25.908 ms) : 0, 25908
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/bazel-support
git_commit_date 1776642285 1776938106
git_commit_sha 081af53 da57da8
release_version 1.62.0-SNAPSHOT~081af53226 1.62.0-SNAPSHOT~da57da8687
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1776940527 1776940527
ci_job_id 1623221592 1623221592
ci_pipeline_id 109249522 109249522
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-hcgacnn3 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-hcgacnn3 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 1 performance regressions! Performance is the same for 20 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:petclinic:no_agent:high_load worse
[+0.614ms; +2.055ms] or [+3.508%; +11.742%]
unsure
[+0.558ms; +3.434ms] or [+1.919%; +11.813%]
unstable
[-43.852op/s; +8.602op/s] or [-16.903%; +3.316%]
18.836ms 31.064ms 241.812op/s 17.501ms 29.068ms 259.438op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~da57da8687, baseline=1.62.0-SNAPSHOT~081af53226
    dateFormat X
    axisFormat %s
section baseline
no_agent (17.988 ms) : 17808, 18167
.   : milestone, 17988,
appsec (18.675 ms) : 18487, 18863
.   : milestone, 18675,
code_origins (18.207 ms) : 18025, 18389
.   : milestone, 18207,
iast (17.761 ms) : 17587, 17934
.   : milestone, 17761,
profiling (19.845 ms) : 19644, 20046
.   : milestone, 19845,
tracing (17.948 ms) : 17770, 18126
.   : milestone, 17948,
section candidate
no_agent (19.301 ms) : 19103, 19499
.   : milestone, 19301,
appsec (18.6 ms) : 18413, 18787
.   : milestone, 18600,
code_origins (17.857 ms) : 17680, 18034
.   : milestone, 17857,
iast (18.059 ms) : 17880, 18237
.   : milestone, 18059,
profiling (19.528 ms) : 19332, 19724
.   : milestone, 19528,
tracing (18.101 ms) : 17922, 18279
.   : milestone, 18101,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.988 ms [17.808 ms, 18.167 ms] -
appsec 18.675 ms [18.487 ms, 18.863 ms] 687.2 µs (3.8%)
code_origins 18.207 ms [18.025 ms, 18.389 ms] 219.591 µs (1.2%)
iast 17.761 ms [17.587 ms, 17.934 ms] -227.112 µs (-1.3%)
profiling 19.845 ms [19.644 ms, 20.046 ms] 1.857 ms (10.3%)
tracing 17.948 ms [17.77 ms, 18.126 ms] -39.662 µs (-0.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.301 ms [19.103 ms, 19.499 ms] -
appsec 18.6 ms [18.413 ms, 18.787 ms] -701.229 µs (-3.6%)
code_origins 17.857 ms [17.68 ms, 18.034 ms] -1.444 ms (-7.5%)
iast 18.059 ms [17.88 ms, 18.237 ms] -1.242 ms (-6.4%)
profiling 19.528 ms [19.332 ms, 19.724 ms] 226.971 µs (1.2%)
tracing 18.101 ms [17.922 ms, 18.279 ms] -1.2 ms (-6.2%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~da57da8687, baseline=1.62.0-SNAPSHOT~081af53226
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.247 ms) : 1234, 1259
.   : milestone, 1247,
iast (3.256 ms) : 3211, 3300
.   : milestone, 3256,
iast_FULL (5.92 ms) : 5861, 5979
.   : milestone, 5920,
iast_GLOBAL (3.698 ms) : 3635, 3761
.   : milestone, 3698,
profiling (2.167 ms) : 2146, 2188
.   : milestone, 2167,
tracing (1.866 ms) : 1851, 1882
.   : milestone, 1866,
section candidate
no_agent (1.255 ms) : 1242, 1267
.   : milestone, 1255,
iast (3.324 ms) : 3276, 3372
.   : milestone, 3324,
iast_FULL (6.01 ms) : 5950, 6071
.   : milestone, 6010,
iast_GLOBAL (3.698 ms) : 3637, 3760
.   : milestone, 3698,
profiling (2.117 ms) : 2097, 2136
.   : milestone, 2117,
tracing (1.854 ms) : 1839, 1868
.   : milestone, 1854,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.247 ms [1.234 ms, 1.259 ms] -
iast 3.256 ms [3.211 ms, 3.3 ms] 2.009 ms (161.1%)
iast_FULL 5.92 ms [5.861 ms, 5.979 ms] 4.673 ms (374.8%)
iast_GLOBAL 3.698 ms [3.635 ms, 3.761 ms] 2.452 ms (196.6%)
profiling 2.167 ms [2.146 ms, 2.188 ms] 920.13 µs (73.8%)
tracing 1.866 ms [1.851 ms, 1.882 ms] 619.501 µs (49.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.255 ms [1.242 ms, 1.267 ms] -
iast 3.324 ms [3.276 ms, 3.372 ms] 2.07 ms (164.9%)
iast_FULL 6.01 ms [5.95 ms, 6.071 ms] 4.756 ms (379.0%)
iast_GLOBAL 3.698 ms [3.637 ms, 3.76 ms] 2.444 ms (194.7%)
profiling 2.117 ms [2.097 ms, 2.136 ms] 861.754 µs (68.7%)
tracing 1.854 ms [1.839 ms, 1.868 ms] 598.785 µs (47.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/bazel-support
git_commit_date 1776642285 1776938106
git_commit_sha 081af53 da57da8
release_version 1.62.0-SNAPSHOT~081af53226 1.62.0-SNAPSHOT~da57da8687
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1776940207 1776940207
ci_job_id 1623221593 1623221593
ci_pipeline_id 109249522 109249522
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-ar8h3ejt 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-ar8h3ejt 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~da57da8687, baseline=1.62.0-SNAPSHOT~081af53226
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.486 ms) : 1475, 1498
.   : milestone, 1486,
appsec (3.814 ms) : 3592, 4036
.   : milestone, 3814,
iast (2.274 ms) : 2204, 2343
.   : milestone, 2274,
iast_GLOBAL (2.32 ms) : 2250, 2389
.   : milestone, 2320,
profiling (2.543 ms) : 2379, 2706
.   : milestone, 2543,
tracing (2.104 ms) : 2049, 2158
.   : milestone, 2104,
section candidate
no_agent (1.488 ms) : 1476, 1499
.   : milestone, 1488,
appsec (3.842 ms) : 3619, 4064
.   : milestone, 3842,
iast (2.268 ms) : 2198, 2337
.   : milestone, 2268,
iast_GLOBAL (2.309 ms) : 2239, 2379
.   : milestone, 2309,
profiling (2.104 ms) : 2049, 2159
.   : milestone, 2104,
tracing (2.092 ms) : 2038, 2146
.   : milestone, 2092,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.486 ms [1.475 ms, 1.498 ms] -
appsec 3.814 ms [3.592 ms, 4.036 ms] 2.328 ms (156.6%)
iast 2.274 ms [2.204 ms, 2.343 ms] 787.505 µs (53.0%)
iast_GLOBAL 2.32 ms [2.25 ms, 2.389 ms] 833.352 µs (56.1%)
profiling 2.543 ms [2.379 ms, 2.706 ms] 1.056 ms (71.1%)
tracing 2.104 ms [2.049 ms, 2.158 ms] 617.263 µs (41.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.488 ms [1.476 ms, 1.499 ms] -
appsec 3.842 ms [3.619 ms, 4.064 ms] 2.354 ms (158.3%)
iast 2.268 ms [2.198 ms, 2.337 ms] 780.076 µs (52.4%)
iast_GLOBAL 2.309 ms [2.239 ms, 2.379 ms] 821.333 µs (55.2%)
profiling 2.104 ms [2.049 ms, 2.159 ms] 616.504 µs (41.4%)
tracing 2.092 ms [2.038 ms, 2.146 ms] 604.026 µs (40.6%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~da57da8687, baseline=1.62.0-SNAPSHOT~081af53226
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.846 s) : 14846000, 14846000
.   : milestone, 14846000,
appsec (14.244 s) : 14244000, 14244000
.   : milestone, 14244000,
iast (17.982 s) : 17982000, 17982000
.   : milestone, 17982000,
iast_GLOBAL (18.032 s) : 18032000, 18032000
.   : milestone, 18032000,
profiling (15.332 s) : 15332000, 15332000
.   : milestone, 15332000,
tracing (14.718 s) : 14718000, 14718000
.   : milestone, 14718000,
section candidate
no_agent (15.382 s) : 15382000, 15382000
.   : milestone, 15382000,
appsec (14.64 s) : 14640000, 14640000
.   : milestone, 14640000,
iast (18.552 s) : 18552000, 18552000
.   : milestone, 18552000,
iast_GLOBAL (18.126 s) : 18126000, 18126000
.   : milestone, 18126000,
profiling (15.776 s) : 15776000, 15776000
.   : milestone, 15776000,
tracing (15.004 s) : 15004000, 15004000
.   : milestone, 15004000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.846 s [14.846 s, 14.846 s] -
appsec 14.244 s [14.244 s, 14.244 s] -602.0 ms (-4.1%)
iast 17.982 s [17.982 s, 17.982 s] 3.136 s (21.1%)
iast_GLOBAL 18.032 s [18.032 s, 18.032 s] 3.186 s (21.5%)
profiling 15.332 s [15.332 s, 15.332 s] 486.0 ms (3.3%)
tracing 14.718 s [14.718 s, 14.718 s] -128.0 ms (-0.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.382 s [15.382 s, 15.382 s] -
appsec 14.64 s [14.64 s, 14.64 s] -742.0 ms (-4.8%)
iast 18.552 s [18.552 s, 18.552 s] 3.17 s (20.6%)
iast_GLOBAL 18.126 s [18.126 s, 18.126 s] 2.744 s (17.8%)
profiling 15.776 s [15.776 s, 15.776 s] 394.0 ms (2.6%)
tracing 15.004 s [15.004 s, 15.004 s] -378.0 ms (-2.5%)

@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 57.34
agentEvpProxy 57.17

@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.63
agentless 36.03
agentlessCodeCoverage 45.10
agentlessLineCoverage 77.44

@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.87
agentless 18.32
agentlessCodeCoverage 20.99
agentlessLineCoverage 30.66

@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.71
agentless 81.99
agentlessCodeCoverage 99.64
agentlessLineCoverage 114.96

@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 4.07
agentless 6.37
agentlessCodeCoverage 14.97

@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.06
agentless 12.34
agentlessCodeCoverage 15.70
agentlessLineCoverage 19.59

@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 93.86
agentless 89.91
agentlessCodeCoverage 99.45
agentlessLineCoverage 98.88

@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 17.33
agentless 17.53
agentlessCodeCoverage 21.00
agentlessLineCoverage 43.78

@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 16.41
agentless 9.93
agentlessCodeCoverage 14.11
agentlessLineCoverage 33.49

@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 15.76
agentless -2.64
agentlessCodeCoverage 50.80
agentlessLineCoverage 97.13

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.

2 participants