Skip to content

Implement Bazel support for CI Visibility#11150

Draft
daniel-mohedano wants to merge 13 commits intomasterfrom
daniel.mohedano/bazel-support
Draft

Implement Bazel support for CI Visibility#11150
daniel-mohedano wants to merge 13 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 runs 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. This PR enables CI Visibility under Bazel by reading configuration from pre-fetched cache files and writing payloads/telemetry to files.

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.
  • Mirrors Go PR: dd-trace-go#4503
  • Mirrors Python PR: dd-trace-py#17197

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.

@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 1776698567
git_commit_sha 081af53 e7e0828
release_version 1.62.0-SNAPSHOT~081af53226 1.62.0-SNAPSHOT~e7e08284de
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1776700368 1776700368
ci_job_id 1611322658 1611322658
ci_pipeline_id 108580961 108580961
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-sappck8m 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-sappck8m 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 60 metrics, 10 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:petclinic:profiling:Telemetry worse
[+198.367µs; +524.422µs] or [+2.555%; +6.755%]
8.125ms 7.764ms
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.62.0-SNAPSHOT~e7e08284de, baseline=1.62.0-SNAPSHOT~081af53226

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.066 s) : 0, 1066211
Total [baseline] (11.093 s) : 0, 11093179
Agent [candidate] (1.061 s) : 0, 1060658
Total [candidate] (11.092 s) : 0, 11092024
section appsec
Agent [baseline] (1.251 s) : 0, 1250578
Total [baseline] (11.011 s) : 0, 11011156
Agent [candidate] (1.249 s) : 0, 1249394
Total [candidate] (11.059 s) : 0, 11058975
section iast
Agent [baseline] (1.227 s) : 0, 1226911
Total [baseline] (11.351 s) : 0, 11351352
Agent [candidate] (1.231 s) : 0, 1230876
Total [candidate] (11.255 s) : 0, 11254715
section profiling
Agent [baseline] (1.186 s) : 0, 1185935
Total [baseline] (11.038 s) : 0, 11038330
Agent [candidate] (1.193 s) : 0, 1192509
Total [candidate] (11.044 s) : 0, 11044036
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent appsec 1.251 s 184.367 ms (17.3%)
Agent iast 1.227 s 160.7 ms (15.1%)
Agent profiling 1.186 s 119.724 ms (11.2%)
Total tracing 11.093 s -
Total appsec 11.011 s -82.024 ms (-0.7%)
Total iast 11.351 s 258.173 ms (2.3%)
Total profiling 11.038 s -54.849 ms (-0.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.061 s -
Agent appsec 1.249 s 188.736 ms (17.8%)
Agent iast 1.231 s 170.217 ms (16.0%)
Agent profiling 1.193 s 131.851 ms (12.4%)
Total tracing 11.092 s -
Total appsec 11.059 s -33.049 ms (-0.3%)
Total iast 11.255 s 162.691 ms (1.5%)
Total profiling 11.044 s -47.988 ms (-0.4%)
gantt
    title petclinic - break down per module: candidate=1.62.0-SNAPSHOT~e7e08284de, baseline=1.62.0-SNAPSHOT~081af53226

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.234 ms) : 0, 1234
crashtracking [candidate] (1.225 ms) : 0, 1225
BytebuddyAgent [baseline] (637.871 ms) : 0, 637871
BytebuddyAgent [candidate] (632.996 ms) : 0, 632996
AgentMeter [baseline] (29.706 ms) : 0, 29706
AgentMeter [candidate] (29.956 ms) : 0, 29956
GlobalTracer [baseline] (250.462 ms) : 0, 250462
GlobalTracer [candidate] (250.653 ms) : 0, 250653
AppSec [baseline] (32.672 ms) : 0, 32672
AppSec [candidate] (32.72 ms) : 0, 32720
Debugger [baseline] (60.257 ms) : 0, 60257
Debugger [candidate] (60.336 ms) : 0, 60336
Remote Config [baseline] (594.364 µs) : 0, 594
Remote Config [candidate] (595.148 µs) : 0, 595
Telemetry [baseline] (9.596 ms) : 0, 9596
Telemetry [candidate] (9.151 ms) : 0, 9151
Flare Poller [baseline] (7.49 ms) : 0, 7490
Flare Poller [candidate] (6.784 ms) : 0, 6784
section appsec
crashtracking [baseline] (1.238 ms) : 0, 1238
crashtracking [candidate] (1.22 ms) : 0, 1220
BytebuddyAgent [baseline] (662.837 ms) : 0, 662837
BytebuddyAgent [candidate] (661.813 ms) : 0, 661813
AgentMeter [baseline] (12.262 ms) : 0, 12262
AgentMeter [candidate] (12.314 ms) : 0, 12314
GlobalTracer [baseline] (249.078 ms) : 0, 249078
GlobalTracer [candidate] (249.056 ms) : 0, 249056
AppSec [baseline] (185.488 ms) : 0, 185488
AppSec [candidate] (185.228 ms) : 0, 185228
Debugger [baseline] (66.142 ms) : 0, 66142
Debugger [candidate] (65.786 ms) : 0, 65786
Remote Config [baseline] (608.561 µs) : 0, 609
Remote Config [candidate] (615.861 µs) : 0, 616
Telemetry [baseline] (8.428 ms) : 0, 8428
Telemetry [candidate] (8.712 ms) : 0, 8712
Flare Poller [baseline] (3.533 ms) : 0, 3533
Flare Poller [candidate] (3.537 ms) : 0, 3537
IAST [baseline] (24.522 ms) : 0, 24522
IAST [candidate] (24.571 ms) : 0, 24571
section iast
crashtracking [baseline] (1.236 ms) : 0, 1236
crashtracking [candidate] (1.215 ms) : 0, 1215
BytebuddyAgent [baseline] (802.286 ms) : 0, 802286
BytebuddyAgent [candidate] (804.141 ms) : 0, 804141
AgentMeter [baseline] (11.617 ms) : 0, 11617
AgentMeter [candidate] (11.672 ms) : 0, 11672
GlobalTracer [baseline] (239.544 ms) : 0, 239544
GlobalTracer [candidate] (241.011 ms) : 0, 241011
AppSec [baseline] (32.011 ms) : 0, 32011
AppSec [candidate] (33.686 ms) : 0, 33686
Debugger [baseline] (64.783 ms) : 0, 64783
Debugger [candidate] (63.081 ms) : 0, 63081
Remote Config [baseline] (525.243 µs) : 0, 525
Remote Config [candidate] (533.232 µs) : 0, 533
Telemetry [baseline] (9.348 ms) : 0, 9348
Telemetry [candidate] (9.611 ms) : 0, 9611
Flare Poller [baseline] (3.541 ms) : 0, 3541
Flare Poller [candidate] (3.604 ms) : 0, 3604
IAST [baseline] (25.775 ms) : 0, 25775
IAST [candidate] (26.049 ms) : 0, 26049
section profiling
ProfilingAgent [baseline] (94.245 ms) : 0, 94245
ProfilingAgent [candidate] (93.878 ms) : 0, 93878
crashtracking [baseline] (1.181 ms) : 0, 1181
crashtracking [candidate] (1.214 ms) : 0, 1214
BytebuddyAgent [baseline] (691.898 ms) : 0, 691898
BytebuddyAgent [candidate] (696.201 ms) : 0, 696201
AgentMeter [baseline] (9.197 ms) : 0, 9197
AgentMeter [candidate] (9.274 ms) : 0, 9274
GlobalTracer [baseline] (207.249 ms) : 0, 207249
GlobalTracer [candidate] (208.403 ms) : 0, 208403
AppSec [baseline] (32.854 ms) : 0, 32854
AppSec [candidate] (32.912 ms) : 0, 32912
Debugger [baseline] (65.864 ms) : 0, 65864
Debugger [candidate] (66.128 ms) : 0, 66128
Remote Config [baseline] (588.104 µs) : 0, 588
Remote Config [candidate] (582.447 µs) : 0, 582
Telemetry [baseline] (7.764 ms) : 0, 7764
Telemetry [candidate] (8.125 ms) : 0, 8125
Flare Poller [baseline] (3.591 ms) : 0, 3591
Flare Poller [candidate] (3.583 ms) : 0, 3583
Profiling [baseline] (94.825 ms) : 0, 94825
Profiling [candidate] (94.435 ms) : 0, 94435
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.62.0-SNAPSHOT~e7e08284de, baseline=1.62.0-SNAPSHOT~081af53226

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055817
Total [baseline] (8.865 s) : 0, 8864982
Agent [candidate] (1.058 s) : 0, 1057892
Total [candidate] (8.833 s) : 0, 8832906
section iast
Agent [baseline] (1.23 s) : 0, 1229682
Total [baseline] (9.589 s) : 0, 9589096
Agent [candidate] (1.223 s) : 0, 1223177
Total [candidate] (9.552 s) : 0, 9551659
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent iast 1.23 s 173.865 ms (16.5%)
Total tracing 8.865 s -
Total iast 9.589 s 724.114 ms (8.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent iast 1.223 s 165.286 ms (15.6%)
Total tracing 8.833 s -
Total iast 9.552 s 718.753 ms (8.1%)
gantt
    title insecure-bank - break down per module: candidate=1.62.0-SNAPSHOT~e7e08284de, baseline=1.62.0-SNAPSHOT~081af53226

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.242 ms) : 0, 1242
crashtracking [candidate] (1.239 ms) : 0, 1239
BytebuddyAgent [baseline] (632.069 ms) : 0, 632069
BytebuddyAgent [candidate] (632.044 ms) : 0, 632044
AgentMeter [baseline] (29.536 ms) : 0, 29536
AgentMeter [candidate] (29.556 ms) : 0, 29556
GlobalTracer [baseline] (248.31 ms) : 0, 248310
GlobalTracer [candidate] (249.053 ms) : 0, 249053
AppSec [baseline] (32.368 ms) : 0, 32368
AppSec [candidate] (32.351 ms) : 0, 32351
Debugger [baseline] (59.218 ms) : 0, 59218
Debugger [candidate] (59.065 ms) : 0, 59065
Remote Config [baseline] (596.349 µs) : 0, 596
Remote Config [candidate] (589.736 µs) : 0, 590
Telemetry [baseline] (8.045 ms) : 0, 8045
Telemetry [candidate] (8.261 ms) : 0, 8261
Flare Poller [baseline] (8.211 ms) : 0, 8211
Flare Poller [candidate] (9.585 ms) : 0, 9585
section iast
crashtracking [baseline] (1.226 ms) : 0, 1226
crashtracking [candidate] (1.232 ms) : 0, 1232
BytebuddyAgent [baseline] (802.873 ms) : 0, 802873
BytebuddyAgent [candidate] (799.139 ms) : 0, 799139
AgentMeter [baseline] (11.614 ms) : 0, 11614
AgentMeter [candidate] (11.581 ms) : 0, 11581
GlobalTracer [baseline] (241.338 ms) : 0, 241338
GlobalTracer [candidate] (239.414 ms) : 0, 239414
IAST [baseline] (26.959 ms) : 0, 26959
IAST [candidate] (25.906 ms) : 0, 25906
AppSec [baseline] (29.958 ms) : 0, 29958
AppSec [candidate] (30.483 ms) : 0, 30483
Debugger [baseline] (65.917 ms) : 0, 65917
Debugger [candidate] (65.481 ms) : 0, 65481
Remote Config [baseline] (540.375 µs) : 0, 540
Remote Config [candidate] (524.209 µs) : 0, 524
Telemetry [baseline] (9.41 ms) : 0, 9410
Telemetry [candidate] (9.57 ms) : 0, 9570
Flare Poller [baseline] (3.671 ms) : 0, 3671
Flare Poller [candidate] (3.624 ms) : 0, 3624
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/bazel-support
git_commit_date 1776642285 1776698567
git_commit_sha 081af53 e7e0828
release_version 1.62.0-SNAPSHOT~081af53226 1.62.0-SNAPSHOT~e7e08284de
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1776700853 1776700853
ci_job_id 1611322661 1611322661
ci_pipeline_id 108580961 108580961
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-n2pd6czk 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-n2pd6czk 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 1 performance improvements and 0 performance regressions! Performance is the same for 17 metrics, 18 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 better
[-241.974µs; -107.575µs] or [-9.043%; -4.020%]
same
[-604.717µs; +142.350µs] or [-7.824%; +1.842%]
unstable
[-76.504op/s; +243.004op/s] or [-5.692%; +18.081%]
2.501ms 7.497ms 1427.250op/s 2.676ms 7.729ms 1344.000op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~e7e08284de, baseline=1.62.0-SNAPSHOT~081af53226
    dateFormat X
    axisFormat %s
section baseline
no_agent (17.929 ms) : 17748, 18109
.   : milestone, 17929,
appsec (18.547 ms) : 18363, 18731
.   : milestone, 18547,
code_origins (17.938 ms) : 17757, 18119
.   : milestone, 17938,
iast (17.895 ms) : 17719, 18071
.   : milestone, 17895,
profiling (18.354 ms) : 18170, 18537
.   : milestone, 18354,
tracing (17.898 ms) : 17716, 18079
.   : milestone, 17898,
section candidate
no_agent (17.473 ms) : 17298, 17648
.   : milestone, 17473,
appsec (18.732 ms) : 18543, 18920
.   : milestone, 18732,
code_origins (17.753 ms) : 17579, 17928
.   : milestone, 17753,
iast (18.07 ms) : 17891, 18249
.   : milestone, 18070,
profiling (18.429 ms) : 18243, 18614
.   : milestone, 18429,
tracing (17.873 ms) : 17700, 18047
.   : milestone, 17873,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.929 ms [17.748 ms, 18.109 ms] -
appsec 18.547 ms [18.363 ms, 18.731 ms] 618.341 µs (3.4%)
code_origins 17.938 ms [17.757 ms, 18.119 ms] 9.758 µs (0.1%)
iast 17.895 ms [17.719 ms, 18.071 ms] -33.476 µs (-0.2%)
profiling 18.354 ms [18.17 ms, 18.537 ms] 425.124 µs (2.4%)
tracing 17.898 ms [17.716 ms, 18.079 ms] -30.779 µs (-0.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.473 ms [17.298 ms, 17.648 ms] -
appsec 18.732 ms [18.543 ms, 18.92 ms] 1.259 ms (7.2%)
code_origins 17.753 ms [17.579 ms, 17.928 ms] 280.551 µs (1.6%)
iast 18.07 ms [17.891 ms, 18.249 ms] 597.228 µs (3.4%)
profiling 18.429 ms [18.243 ms, 18.614 ms] 955.835 µs (5.5%)
tracing 17.873 ms [17.7 ms, 18.047 ms] 400.381 µs (2.3%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~e7e08284de, baseline=1.62.0-SNAPSHOT~081af53226
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.237 ms) : 1225, 1248
.   : milestone, 1237,
iast (3.408 ms) : 3358, 3457
.   : milestone, 3408,
iast_FULL (5.932 ms) : 5872, 5992
.   : milestone, 5932,
iast_GLOBAL (3.765 ms) : 3692, 3838
.   : milestone, 3765,
profiling (2.189 ms) : 2168, 2210
.   : milestone, 2189,
tracing (1.973 ms) : 1956, 1990
.   : milestone, 1973,
section candidate
no_agent (1.243 ms) : 1230, 1255
.   : milestone, 1243,
iast (3.205 ms) : 3163, 3248
.   : milestone, 3205,
iast_FULL (6.158 ms) : 6095, 6221
.   : milestone, 6158,
iast_GLOBAL (3.75 ms) : 3684, 3815
.   : milestone, 3750,
profiling (2.049 ms) : 2032, 2067
.   : milestone, 2049,
tracing (1.924 ms) : 1907, 1940
.   : milestone, 1924,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.237 ms [1.225 ms, 1.248 ms] -
iast 3.408 ms [3.358 ms, 3.457 ms] 2.171 ms (175.6%)
iast_FULL 5.932 ms [5.872 ms, 5.992 ms] 4.695 ms (379.7%)
iast_GLOBAL 3.765 ms [3.692 ms, 3.838 ms] 2.529 ms (204.5%)
profiling 2.189 ms [2.168 ms, 2.21 ms] 952.099 µs (77.0%)
tracing 1.973 ms [1.956 ms, 1.99 ms] 736.715 µs (59.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.243 ms [1.23 ms, 1.255 ms] -
iast 3.205 ms [3.163 ms, 3.248 ms] 1.963 ms (158.0%)
iast_FULL 6.158 ms [6.095 ms, 6.221 ms] 4.916 ms (395.6%)
iast_GLOBAL 3.75 ms [3.684 ms, 3.815 ms] 2.507 ms (201.8%)
profiling 2.049 ms [2.032 ms, 2.067 ms] 806.504 µs (64.9%)
tracing 1.924 ms [1.907 ms, 1.94 ms] 681.142 µs (54.8%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/bazel-support
git_commit_date 1776642285 1776698567
git_commit_sha 081af53 e7e0828
release_version 1.62.0-SNAPSHOT~081af53226 1.62.0-SNAPSHOT~e7e08284de
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1776700572 1776700572
ci_job_id 1611322665 1611322665
ci_pipeline_id 108580961 108580961
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-2qo4b92v 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-2qo4b92v 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 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:dacapo:tomcat:appsec better
[-1.412ms; -1.065ms] or [-37.399%; -28.194%]
2.538ms 3.777ms
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~e7e08284de, baseline=1.62.0-SNAPSHOT~081af53226
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.486 ms) : 1475, 1498
.   : milestone, 1486,
appsec (3.777 ms) : 3555, 3998
.   : milestone, 3777,
iast (2.262 ms) : 2193, 2330
.   : milestone, 2262,
iast_GLOBAL (2.302 ms) : 2233, 2371
.   : milestone, 2302,
profiling (2.095 ms) : 2040, 2150
.   : milestone, 2095,
tracing (2.076 ms) : 2023, 2130
.   : milestone, 2076,
section candidate
no_agent (1.483 ms) : 1471, 1495
.   : milestone, 1483,
appsec (2.538 ms) : 2483, 2593
.   : milestone, 2538,
iast (2.267 ms) : 2198, 2336
.   : milestone, 2267,
iast_GLOBAL (2.312 ms) : 2242, 2381
.   : milestone, 2312,
profiling (2.085 ms) : 2031, 2140
.   : milestone, 2085,
tracing (2.076 ms) : 2023, 2130
.   : milestone, 2076,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.486 ms [1.475 ms, 1.498 ms] -
appsec 3.777 ms [3.555 ms, 3.998 ms] 2.29 ms (154.1%)
iast 2.262 ms [2.193 ms, 2.33 ms] 775.295 µs (52.2%)
iast_GLOBAL 2.302 ms [2.233 ms, 2.371 ms] 815.583 µs (54.9%)
profiling 2.095 ms [2.04 ms, 2.15 ms] 608.72 µs (41.0%)
tracing 2.076 ms [2.023 ms, 2.13 ms] 589.769 µs (39.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.483 ms [1.471 ms, 1.495 ms] -
appsec 2.538 ms [2.483 ms, 2.593 ms] 1.055 ms (71.1%)
iast 2.267 ms [2.198 ms, 2.336 ms] 784.384 µs (52.9%)
iast_GLOBAL 2.312 ms [2.242 ms, 2.381 ms] 828.708 µs (55.9%)
profiling 2.085 ms [2.031 ms, 2.14 ms] 602.251 µs (40.6%)
tracing 2.076 ms [2.023 ms, 2.13 ms] 593.447 µs (40.0%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~e7e08284de, baseline=1.62.0-SNAPSHOT~081af53226
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.891 s) : 14891000, 14891000
.   : milestone, 14891000,
appsec (14.691 s) : 14691000, 14691000
.   : milestone, 14691000,
iast (18.105 s) : 18105000, 18105000
.   : milestone, 18105000,
iast_GLOBAL (17.893 s) : 17893000, 17893000
.   : milestone, 17893000,
profiling (14.853 s) : 14853000, 14853000
.   : milestone, 14853000,
tracing (15.029 s) : 15029000, 15029000
.   : milestone, 15029000,
section candidate
no_agent (15.552 s) : 15552000, 15552000
.   : milestone, 15552000,
appsec (14.908 s) : 14908000, 14908000
.   : milestone, 14908000,
iast (18.515 s) : 18515000, 18515000
.   : milestone, 18515000,
iast_GLOBAL (18.424 s) : 18424000, 18424000
.   : milestone, 18424000,
profiling (15.063 s) : 15063000, 15063000
.   : milestone, 15063000,
tracing (14.915 s) : 14915000, 14915000
.   : milestone, 14915000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.891 s [14.891 s, 14.891 s] -
appsec 14.691 s [14.691 s, 14.691 s] -200.0 ms (-1.3%)
iast 18.105 s [18.105 s, 18.105 s] 3.214 s (21.6%)
iast_GLOBAL 17.893 s [17.893 s, 17.893 s] 3.002 s (20.2%)
profiling 14.853 s [14.853 s, 14.853 s] -38.0 ms (-0.3%)
tracing 15.029 s [15.029 s, 15.029 s] 138.0 ms (0.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.552 s [15.552 s, 15.552 s] -
appsec 14.908 s [14.908 s, 14.908 s] -644.0 ms (-4.1%)
iast 18.515 s [18.515 s, 18.515 s] 2.963 s (19.1%)
iast_GLOBAL 18.424 s [18.424 s, 18.424 s] 2.872 s (18.5%)
profiling 15.063 s [15.063 s, 15.063 s] -489.0 ms (-3.1%)
tracing 14.915 s [14.915 s, 14.915 s] -637.0 ms (-4.1%)

@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
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.

1 participant