Skip to content

Nikita.tkachenko/runtime code coverage#10951

Draft
nikita-tkachenko-datadog wants to merge 7 commits intomasterfrom
nikita.tkachenko/runtime-code-coverage
Draft

Nikita.tkachenko/runtime code coverage#10951
nikita-tkachenko-datadog wants to merge 7 commits intomasterfrom
nikita.tkachenko/runtime-code-coverage

Conversation

@nikita-tkachenko-datadog
Copy link
Contributor

What Does This Do

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

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

@nikita-tkachenko-datadog nikita-tkachenko-datadog marked this pull request as draft March 24, 2026 16:19
@nikita-tkachenko-datadog nikita-tkachenko-datadog added the tag: experimental Experimental changes label Mar 24, 2026
Implement Coverage Binary Protocol v1 (CoverageBinaryEncoder) using
two bit vectors per record for executable and covered lines. Switch
from LCOV text format to the new "ddcov" binary format for coverage
uploads. Add className to ClassProbeMapping, key coverage data by
CoverageKey (sourceFile + className), and include language/env tags
in upload metadata.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@pr-commenter
Copy link

pr-commenter bot commented Mar 24, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master nikita.tkachenko/runtime-code-coverage
git_commit_date 1774050014 1774386347
git_commit_sha c00f676 e465278
release_version 1.61.0-SNAPSHOT~c00f676bb9 1.61.0-SNAPSHOT~e465278ec4
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1774388201 1774388201
ci_job_id 1535242502 1535242502
ci_pipeline_id 104221113 104221113
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-4micpli9 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-4micpli9 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.61.0-SNAPSHOT~e465278ec4, baseline=1.61.0-SNAPSHOT~c00f676bb9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1064452
Total [baseline] (11.139 s) : 0, 11139485
Agent [candidate] (1.053 s) : 0, 1053299
Total [candidate] (11.031 s) : 0, 11031042
section appsec
Agent [baseline] (1.254 s) : 0, 1254291
Total [baseline] (11.179 s) : 0, 11179364
Agent [candidate] (1.245 s) : 0, 1244597
Total [candidate] (11.197 s) : 0, 11197434
section iast
Agent [baseline] (1.23 s) : 0, 1229782
Total [baseline] (11.318 s) : 0, 11318121
Agent [candidate] (1.238 s) : 0, 1238469
Total [candidate] (11.37 s) : 0, 11369916
section profiling
Agent [baseline] (1.185 s) : 0, 1185264
Total [baseline] (11.082 s) : 0, 11081666
Agent [candidate] (1.192 s) : 0, 1191829
Total [candidate] (11.067 s) : 0, 11067419
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent appsec 1.254 s 189.839 ms (17.8%)
Agent iast 1.23 s 165.33 ms (15.5%)
Agent profiling 1.185 s 120.812 ms (11.3%)
Total tracing 11.139 s -
Total appsec 11.179 s 39.879 ms (0.4%)
Total iast 11.318 s 178.636 ms (1.6%)
Total profiling 11.082 s -57.819 ms (-0.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.053 s -
Agent appsec 1.245 s 191.298 ms (18.2%)
Agent iast 1.238 s 185.17 ms (17.6%)
Agent profiling 1.192 s 138.53 ms (13.2%)
Total tracing 11.031 s -
Total appsec 11.197 s 166.392 ms (1.5%)
Total iast 11.37 s 338.874 ms (3.1%)
Total profiling 11.067 s 36.377 ms (0.3%)
gantt
    title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~e465278ec4, baseline=1.61.0-SNAPSHOT~c00f676bb9

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.2 ms) : 0, 1200
crashtracking [candidate] (1.196 ms) : 0, 1196
BytebuddyAgent [baseline] (632.942 ms) : 0, 632942
BytebuddyAgent [candidate] (616.081 ms) : 0, 616081
AgentMeter [baseline] (29.631 ms) : 0, 29631
AgentMeter [candidate] (29.226 ms) : 0, 29226
GlobalTracer [baseline] (258.528 ms) : 0, 258528
GlobalTracer [candidate] (256.307 ms) : 0, 256307
AppSec [baseline] (31.915 ms) : 0, 31915
AppSec [candidate] (31.634 ms) : 0, 31634
Debugger [baseline] (60.957 ms) : 0, 60957
Debugger [candidate] (60.287 ms) : 0, 60287
Remote Config [baseline] (591.296 µs) : 0, 591
Remote Config [candidate] (589.794 µs) : 0, 590
Telemetry [baseline] (8.104 ms) : 0, 8104
Telemetry [candidate] (8.237 ms) : 0, 8237
Flare Poller [baseline] (4.422 ms) : 0, 4422
Flare Poller [candidate] (3.503 ms) : 0, 3503
section appsec
crashtracking [baseline] (1.191 ms) : 0, 1191
crashtracking [candidate] (1.189 ms) : 0, 1189
BytebuddyAgent [baseline] (662.758 ms) : 0, 662758
BytebuddyAgent [candidate] (646.573 ms) : 0, 646573
AgentMeter [baseline] (12.215 ms) : 0, 12215
AgentMeter [candidate] (12.096 ms) : 0, 12096
GlobalTracer [baseline] (259.424 ms) : 0, 259424
GlobalTracer [candidate] (257.822 ms) : 0, 257822
IAST [baseline] (24.391 ms) : 0, 24391
IAST [candidate] (24.16 ms) : 0, 24160
AppSec [baseline] (178.827 ms) : 0, 178827
AppSec [candidate] (177.767 ms) : 0, 177767
Debugger [baseline] (66.506 ms) : 0, 66506
Debugger [candidate] (65.874 ms) : 0, 65874
Remote Config [baseline] (640.549 µs) : 0, 641
Remote Config [candidate] (627.612 µs) : 0, 628
Telemetry [baseline] (8.348 ms) : 0, 8348
Telemetry [candidate] (8.279 ms) : 0, 8279
Flare Poller [baseline] (3.623 ms) : 0, 3623
Flare Poller [candidate] (3.572 ms) : 0, 3572
section iast
crashtracking [baseline] (1.176 ms) : 0, 1176
crashtracking [candidate] (1.217 ms) : 0, 1217
BytebuddyAgent [baseline] (797.53 ms) : 0, 797530
BytebuddyAgent [candidate] (794.091 ms) : 0, 794091
AgentMeter [baseline] (11.409 ms) : 0, 11409
AgentMeter [candidate] (11.649 ms) : 0, 11649
GlobalTracer [baseline] (247.624 ms) : 0, 247624
GlobalTracer [candidate] (248.648 ms) : 0, 248648
IAST [baseline] (25.349 ms) : 0, 25349
IAST [candidate] (25.507 ms) : 0, 25507
AppSec [baseline] (26.552 ms) : 0, 26552
AppSec [candidate] (26.81 ms) : 0, 26810
Debugger [baseline] (70.2 ms) : 0, 70200
Debugger [candidate] (67.225 ms) : 0, 67225
Remote Config [baseline] (526.187 µs) : 0, 526
Remote Config [candidate] (516.501 µs) : 0, 517
Telemetry [baseline] (9.681 ms) : 0, 9681
Telemetry [candidate] (11.765 ms) : 0, 11765
Flare Poller [baseline] (3.546 ms) : 0, 3546
Flare Poller [candidate] (4.074 ms) : 0, 4074
section profiling
crashtracking [baseline] (1.164 ms) : 0, 1164
crashtracking [candidate] (1.179 ms) : 0, 1179
BytebuddyAgent [baseline] (683.404 ms) : 0, 683404
BytebuddyAgent [candidate] (687.496 ms) : 0, 687496
AgentMeter [baseline] (9.062 ms) : 0, 9062
AgentMeter [candidate] (9.125 ms) : 0, 9125
GlobalTracer [baseline] (215.883 ms) : 0, 215883
GlobalTracer [candidate] (217.152 ms) : 0, 217152
AppSec [baseline] (32.241 ms) : 0, 32241
AppSec [candidate] (32.347 ms) : 0, 32347
Debugger [baseline] (64.574 ms) : 0, 64574
Debugger [candidate] (66.339 ms) : 0, 66339
Remote Config [baseline] (561.141 µs) : 0, 561
Remote Config [candidate] (554.117 µs) : 0, 554
Telemetry [baseline] (7.737 ms) : 0, 7737
Telemetry [candidate] (7.753 ms) : 0, 7753
Flare Poller [baseline] (5.051 ms) : 0, 5051
Flare Poller [candidate] (3.51 ms) : 0, 3510
ProfilingAgent [baseline] (94.488 ms) : 0, 94488
ProfilingAgent [candidate] (94.833 ms) : 0, 94833
Profiling [baseline] (95.067 ms) : 0, 95067
Profiling [candidate] (95.392 ms) : 0, 95392
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~e465278ec4, baseline=1.61.0-SNAPSHOT~c00f676bb9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.063 s) : 0, 1062911
Total [baseline] (8.921 s) : 0, 8920712
Agent [candidate] (1.065 s) : 0, 1064558
Total [candidate] (8.904 s) : 0, 8904224
section iast
Agent [baseline] (1.236 s) : 0, 1235813
Total [baseline] (9.549 s) : 0, 9548575
Agent [candidate] (1.236 s) : 0, 1236115
Total [candidate] (9.591 s) : 0, 9590925
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.063 s -
Agent iast 1.236 s 172.902 ms (16.3%)
Total tracing 8.921 s -
Total iast 9.549 s 627.862 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent iast 1.236 s 171.557 ms (16.1%)
Total tracing 8.904 s -
Total iast 9.591 s 686.701 ms (7.7%)
gantt
    title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~e465278ec4, baseline=1.61.0-SNAPSHOT~c00f676bb9

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.209 ms) : 0, 1209
crashtracking [candidate] (1.228 ms) : 0, 1228
BytebuddyAgent [baseline] (631.14 ms) : 0, 631140
BytebuddyAgent [candidate] (622.993 ms) : 0, 622993
AgentMeter [baseline] (29.329 ms) : 0, 29329
AgentMeter [candidate] (29.583 ms) : 0, 29583
GlobalTracer [baseline] (258.037 ms) : 0, 258037
GlobalTracer [candidate] (258.873 ms) : 0, 258873
AppSec [baseline] (32.101 ms) : 0, 32101
AppSec [candidate] (32.11 ms) : 0, 32110
Debugger [baseline] (60.222 ms) : 0, 60222
Debugger [candidate] (60.049 ms) : 0, 60049
Remote Config [baseline] (593.73 µs) : 0, 594
Remote Config [candidate] (599.364 µs) : 0, 599
Telemetry [baseline] (9.62 ms) : 0, 9620
Telemetry [candidate] (8.277 ms) : 0, 8277
Flare Poller [baseline] (4.431 ms) : 0, 4431
Flare Poller [candidate] (4.331 ms) : 0, 4331
section iast
crashtracking [baseline] (1.198 ms) : 0, 1198
crashtracking [candidate] (1.212 ms) : 0, 1212
BytebuddyAgent [baseline] (801.993 ms) : 0, 801993
BytebuddyAgent [candidate] (790.952 ms) : 0, 790952
AgentMeter [baseline] (11.672 ms) : 0, 11672
AgentMeter [candidate] (11.479 ms) : 0, 11479
GlobalTracer [baseline] (248.957 ms) : 0, 248957
GlobalTracer [candidate] (249.463 ms) : 0, 249463
IAST [baseline] (25.6 ms) : 0, 25600
IAST [candidate] (25.69 ms) : 0, 25690
AppSec [baseline] (26.701 ms) : 0, 26701
AppSec [candidate] (26.906 ms) : 0, 26906
Debugger [baseline] (68.907 ms) : 0, 68907
Debugger [candidate] (65.825 ms) : 0, 65825
Remote Config [baseline] (526.678 µs) : 0, 527
Remote Config [candidate] (515.581 µs) : 0, 516
Telemetry [baseline] (10.243 ms) : 0, 10243
Telemetry [candidate] (12.854 ms) : 0, 12854
Flare Poller [baseline] (3.728 ms) : 0, 3728
Flare Poller [candidate] (4.454 ms) : 0, 4454
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master nikita.tkachenko/runtime-code-coverage
git_commit_date 1774050014 1774386347
git_commit_sha c00f676 e465278
release_version 1.61.0-SNAPSHOT~c00f676bb9 1.61.0-SNAPSHOT~e465278ec4
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1774388676 1774388676
ci_job_id 1535242506 1535242506
ci_pipeline_id 104221113 104221113
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-r9fpfyyr 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-r9fpfyyr 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 2 performance regressions! Performance is the same for 17 metrics, 16 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:profiling:high_load better
[-205.473µs; -68.015µs] or [-11.686%; -3.868%]
unstable
[-1173.813µs; -232.523µs] or [-22.185%; -4.395%]
unstable
[-20.653op/s; +509.090op/s] or [-1.020%; +25.141%]
1.622ms 4.588ms 2269.125op/s 1.758ms 5.291ms 2024.906op/s
scenario:load:petclinic:code_origins:high_load worse
[+1.257ms; +1.851ms] or [+7.305%; +10.750%]
worse
[+1.875ms; +2.905ms] or [+6.645%; +10.297%]
unstable
[-45.748op/s; +7.623op/s] or [-17.331%; +2.888%]
18.769ms 30.605ms 244.906op/s 17.215ms 28.214ms 263.969op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~e465278ec4, baseline=1.61.0-SNAPSHOT~c00f676bb9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.17 ms) : 1159, 1181
.   : milestone, 1170,
iast (3.203 ms) : 3156, 3250
.   : milestone, 3203,
iast_FULL (6.025 ms) : 5963, 6086
.   : milestone, 6025,
iast_GLOBAL (3.511 ms) : 3454, 3567
.   : milestone, 3511,
profiling (2.238 ms) : 2217, 2259
.   : milestone, 2238,
tracing (1.766 ms) : 1753, 1780
.   : milestone, 1766,
section candidate
no_agent (1.193 ms) : 1181, 1205
.   : milestone, 1193,
iast (3.231 ms) : 3188, 3273
.   : milestone, 3231,
iast_FULL (5.893 ms) : 5834, 5953
.   : milestone, 5893,
iast_GLOBAL (3.52 ms) : 3456, 3584
.   : milestone, 3520,
profiling (1.989 ms) : 1971, 2006
.   : milestone, 1989,
tracing (1.786 ms) : 1772, 1801
.   : milestone, 1786,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.17 ms [1.159 ms, 1.181 ms] -
iast 3.203 ms [3.156 ms, 3.25 ms] 2.033 ms (173.7%)
iast_FULL 6.025 ms [5.963 ms, 6.086 ms] 4.855 ms (414.9%)
iast_GLOBAL 3.511 ms [3.454 ms, 3.567 ms] 2.341 ms (200.0%)
profiling 2.238 ms [2.217 ms, 2.259 ms] 1.068 ms (91.3%)
tracing 1.766 ms [1.753 ms, 1.78 ms] 596.213 µs (51.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.193 ms [1.181 ms, 1.205 ms] -
iast 3.231 ms [3.188 ms, 3.273 ms] 2.038 ms (170.9%)
iast_FULL 5.893 ms [5.834 ms, 5.953 ms] 4.701 ms (394.1%)
iast_GLOBAL 3.52 ms [3.456 ms, 3.584 ms] 2.327 ms (195.1%)
profiling 1.989 ms [1.971 ms, 2.006 ms] 795.957 µs (66.7%)
tracing 1.786 ms [1.772 ms, 1.801 ms] 593.679 µs (49.8%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~e465278ec4, baseline=1.61.0-SNAPSHOT~c00f676bb9
    dateFormat X
    axisFormat %s
section baseline
no_agent (19.614 ms) : 19409, 19819
.   : milestone, 19614,
appsec (18.835 ms) : 18650, 19020
.   : milestone, 18835,
code_origins (17.683 ms) : 17511, 17854
.   : milestone, 17683,
iast (17.913 ms) : 17732, 18095
.   : milestone, 17913,
profiling (18.791 ms) : 18602, 18980
.   : milestone, 18791,
tracing (17.659 ms) : 17482, 17835
.   : milestone, 17659,
section candidate
no_agent (19.217 ms) : 19019, 19415
.   : milestone, 19217,
appsec (18.789 ms) : 18599, 18978
.   : milestone, 18789,
code_origins (19.063 ms) : 18869, 19256
.   : milestone, 19063,
iast (18.267 ms) : 18086, 18448
.   : milestone, 18267,
profiling (18.763 ms) : 18573, 18952
.   : milestone, 18763,
tracing (17.998 ms) : 17817, 18179
.   : milestone, 17998,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.614 ms [19.409 ms, 19.819 ms] -
appsec 18.835 ms [18.65 ms, 19.02 ms] -779.134 µs (-4.0%)
code_origins 17.683 ms [17.511 ms, 17.854 ms] -1.932 ms (-9.8%)
iast 17.913 ms [17.732 ms, 18.095 ms] -1.701 ms (-8.7%)
profiling 18.791 ms [18.602 ms, 18.98 ms] -823.44 µs (-4.2%)
tracing 17.659 ms [17.482 ms, 17.835 ms] -1.956 ms (-10.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.217 ms [19.019 ms, 19.415 ms] -
appsec 18.789 ms [18.599 ms, 18.978 ms] -427.926 µs (-2.2%)
code_origins 19.063 ms [18.869 ms, 19.256 ms] -153.876 µs (-0.8%)
iast 18.267 ms [18.086 ms, 18.448 ms] -949.64 µs (-4.9%)
profiling 18.763 ms [18.573 ms, 18.952 ms] -453.903 µs (-2.4%)
tracing 17.998 ms [17.817 ms, 18.179 ms] -1.218 ms (-6.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master nikita.tkachenko/runtime-code-coverage
git_commit_date 1774050014 1774386347
git_commit_sha c00f676 e465278
release_version 1.61.0-SNAPSHOT~c00f676bb9 1.61.0-SNAPSHOT~e465278ec4
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1774388353 1774388353
ci_job_id 1535242509 1535242509
ci_pipeline_id 104221113 104221113
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-m8gwn6rh 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-m8gwn6rh 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 biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~e465278ec4, baseline=1.61.0-SNAPSHOT~c00f676bb9
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.544 s) : 15544000, 15544000
.   : milestone, 15544000,
appsec (14.637 s) : 14637000, 14637000
.   : milestone, 14637000,
iast (18.209 s) : 18209000, 18209000
.   : milestone, 18209000,
iast_GLOBAL (17.811 s) : 17811000, 17811000
.   : milestone, 17811000,
profiling (15.132 s) : 15132000, 15132000
.   : milestone, 15132000,
tracing (14.847 s) : 14847000, 14847000
.   : milestone, 14847000,
section candidate
no_agent (14.773 s) : 14773000, 14773000
.   : milestone, 14773000,
appsec (14.512 s) : 14512000, 14512000
.   : milestone, 14512000,
iast (18.41 s) : 18410000, 18410000
.   : milestone, 18410000,
iast_GLOBAL (18.01 s) : 18010000, 18010000
.   : milestone, 18010000,
profiling (15.257 s) : 15257000, 15257000
.   : milestone, 15257000,
tracing (15.076 s) : 15076000, 15076000
.   : milestone, 15076000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.544 s [15.544 s, 15.544 s] -
appsec 14.637 s [14.637 s, 14.637 s] -907.0 ms (-5.8%)
iast 18.209 s [18.209 s, 18.209 s] 2.665 s (17.1%)
iast_GLOBAL 17.811 s [17.811 s, 17.811 s] 2.267 s (14.6%)
profiling 15.132 s [15.132 s, 15.132 s] -412.0 ms (-2.7%)
tracing 14.847 s [14.847 s, 14.847 s] -697.0 ms (-4.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.773 s [14.773 s, 14.773 s] -
appsec 14.512 s [14.512 s, 14.512 s] -261.0 ms (-1.8%)
iast 18.41 s [18.41 s, 18.41 s] 3.637 s (24.6%)
iast_GLOBAL 18.01 s [18.01 s, 18.01 s] 3.237 s (21.9%)
profiling 15.257 s [15.257 s, 15.257 s] 484.0 ms (3.3%)
tracing 15.076 s [15.076 s, 15.076 s] 303.0 ms (2.1%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~e465278ec4, baseline=1.61.0-SNAPSHOT~c00f676bb9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.476 ms) : 1465, 1488
.   : milestone, 1476,
appsec (3.755 ms) : 3533, 3976
.   : milestone, 3755,
iast (2.261 ms) : 2192, 2330
.   : milestone, 2261,
iast_GLOBAL (2.3 ms) : 2231, 2370
.   : milestone, 2300,
profiling (2.102 ms) : 2046, 2158
.   : milestone, 2102,
tracing (2.063 ms) : 2010, 2117
.   : milestone, 2063,
section candidate
no_agent (1.482 ms) : 1471, 1494
.   : milestone, 1482,
appsec (3.814 ms) : 3591, 4036
.   : milestone, 3814,
iast (2.262 ms) : 2193, 2331
.   : milestone, 2262,
iast_GLOBAL (2.303 ms) : 2234, 2372
.   : milestone, 2303,
profiling (2.085 ms) : 2030, 2139
.   : milestone, 2085,
tracing (2.07 ms) : 2017, 2124
.   : milestone, 2070,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.476 ms [1.465 ms, 1.488 ms] -
appsec 3.755 ms [3.533 ms, 3.976 ms] 2.278 ms (154.3%)
iast 2.261 ms [2.192 ms, 2.33 ms] 784.535 µs (53.1%)
iast_GLOBAL 2.3 ms [2.231 ms, 2.37 ms] 823.941 µs (55.8%)
profiling 2.102 ms [2.046 ms, 2.158 ms] 625.417 µs (42.4%)
tracing 2.063 ms [2.01 ms, 2.117 ms] 587.027 µs (39.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.482 ms [1.471 ms, 1.494 ms] -
appsec 3.814 ms [3.591 ms, 4.036 ms] 2.332 ms (157.3%)
iast 2.262 ms [2.193 ms, 2.331 ms] 779.629 µs (52.6%)
iast_GLOBAL 2.303 ms [2.234 ms, 2.372 ms] 820.668 µs (55.4%)
profiling 2.085 ms [2.03 ms, 2.139 ms] 602.217 µs (40.6%)
tracing 2.07 ms [2.017 ms, 2.124 ms] 588.095 µs (39.7%)

`new int[probeCount][]` creates an array of null references.
When the collector iterates `probeToLines[p]`, it NPEs on classes
that have probes but no executable lines (no debug info, interfaces).
Initialize each entry to `new int[0]` instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Skip classes without a SourceFile attribute in the collector to
  prevent NPE in the binary encoder (null is not a valid string
  in the coverage binary protocol)
- Log instrumentation failures at debug level so they are visible
  when troubleshooting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tag: experimental Experimental changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant