Skip to content

Conversation

@mcculls
Copy link
Contributor

@mcculls mcculls commented Nov 15, 2025

What Does This Do

Replaces ClassCodeFilter with ClassNameFilter from https://github.com/DataDog/dd-instrument-java

ClassNameFilter has a number of improvements, including:

  • higher load factor
    • more classes can be added to filters of the same size
  • faster membership testing
    • avoids allocations when checking classes against class-codes

Motivation

Uninteresting classes can be excluded from further type-matching.

Note this information can be shared across runs if the type-resolver cache is enabled with
-Ddd.resolver.cache.dir=<directory> or DD_RESOLVER_CACHE_DIR=<directory>

Additional Notes

Also uses ClassNameFilter to track public classes.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@mcculls mcculls added comp: core Tracer core tag: performance Performance related changes type: refactoring labels Nov 15, 2025
@mcculls mcculls requested a review from a team as a code owner November 15, 2025 19:36
@mcculls mcculls requested a review from mhlidd November 15, 2025 19:36
@datadog-official

This comment has been minimized.

@pr-commenter
Copy link

pr-commenter bot commented Nov 15, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/faster-class-name-filter
git_commit_date 1763974460 1763985760
git_commit_sha c79dfc6 d04c27c
release_version 1.57.0-SNAPSHOT~c79dfc656d 1.56.0-SNAPSHOT~d04c27c49a
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1763987682 1763987682
ci_job_id 1253255817 1253255817
ci_pipeline_id 83792793 83792793
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-0utjyysl 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-0utjyysl 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 57 metrics, 8 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.56.0-SNAPSHOT~d04c27c49a, baseline=1.57.0-SNAPSHOT~c79dfc656d

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.106 s) : 0, 1105884
Total [baseline] (10.874 s) : 0, 10874247
Agent [candidate] (1.111 s) : 0, 1110949
Total [candidate] (10.829 s) : 0, 10829445
section appsec
Agent [baseline] (1.288 s) : 0, 1287843
Total [baseline] (11.231 s) : 0, 11231441
Agent [candidate] (1.285 s) : 0, 1285342
Total [candidate] (11.088 s) : 0, 11088450
section iast
Agent [baseline] (1.243 s) : 0, 1242857
Total [baseline] (11.297 s) : 0, 11297219
Agent [candidate] (1.242 s) : 0, 1242293
Total [candidate] (11.245 s) : 0, 11244723
section profiling
Agent [baseline] (1.237 s) : 0, 1236556
Total [baseline] (11.197 s) : 0, 11197201
Agent [candidate] (1.234 s) : 0, 1234022
Total [candidate] (11.104 s) : 0, 11103996
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.106 s -
Agent appsec 1.288 s 181.96 ms (16.5%)
Agent iast 1.243 s 136.974 ms (12.4%)
Agent profiling 1.237 s 130.673 ms (11.8%)
Total tracing 10.874 s -
Total appsec 11.231 s 357.194 ms (3.3%)
Total iast 11.297 s 422.972 ms (3.9%)
Total profiling 11.197 s 322.954 ms (3.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.111 s -
Agent appsec 1.285 s 174.393 ms (15.7%)
Agent iast 1.242 s 131.344 ms (11.8%)
Agent profiling 1.234 s 123.073 ms (11.1%)
Total tracing 10.829 s -
Total appsec 11.088 s 259.005 ms (2.4%)
Total iast 11.245 s 415.278 ms (3.8%)
Total profiling 11.104 s 274.551 ms (2.5%)
gantt
    title petclinic - break down per module: candidate=1.56.0-SNAPSHOT~d04c27c49a, baseline=1.57.0-SNAPSHOT~c79dfc656d

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.489 ms) : 0, 1489
crashtracking [candidate] (1.501 ms) : 0, 1501
BytebuddyAgent [baseline] (710.671 ms) : 0, 710671
BytebuddyAgent [candidate] (714.85 ms) : 0, 714850
GlobalTracer [baseline] (250.022 ms) : 0, 250022
GlobalTracer [candidate] (250.413 ms) : 0, 250413
AppSec [baseline] (32.134 ms) : 0, 32134
AppSec [candidate] (32.165 ms) : 0, 32165
Debugger [baseline] (64.091 ms) : 0, 64091
Debugger [candidate] (64.222 ms) : 0, 64222
Remote Config [baseline] (633.121 µs) : 0, 633
Remote Config [candidate] (646.503 µs) : 0, 647
Telemetry [baseline] (8.292 ms) : 0, 8292
Telemetry [candidate] (8.429 ms) : 0, 8429
Flare Poller [baseline] (3.749 ms) : 0, 3749
Flare Poller [candidate] (3.791 ms) : 0, 3791
section appsec
crashtracking [baseline] (1.488 ms) : 0, 1488
crashtracking [candidate] (1.485 ms) : 0, 1485
BytebuddyAgent [baseline] (734.405 ms) : 0, 734405
BytebuddyAgent [candidate] (734.033 ms) : 0, 734033
GlobalTracer [baseline] (241.856 ms) : 0, 241856
GlobalTracer [candidate] (241.618 ms) : 0, 241618
AppSec [baseline] (175.633 ms) : 0, 175633
AppSec [candidate] (173.99 ms) : 0, 173990
Debugger [baseline] (61.787 ms) : 0, 61787
Debugger [candidate] (61.52 ms) : 0, 61520
Remote Config [baseline] (680.011 µs) : 0, 680
Remote Config [candidate] (673.282 µs) : 0, 673
Telemetry [baseline] (8.392 ms) : 0, 8392
Telemetry [candidate] (8.34 ms) : 0, 8340
Flare Poller [baseline] (3.799 ms) : 0, 3799
Flare Poller [candidate] (3.964 ms) : 0, 3964
IAST [baseline] (24.875 ms) : 0, 24875
IAST [candidate] (24.848 ms) : 0, 24848
section iast
crashtracking [baseline] (1.505 ms) : 0, 1505
crashtracking [candidate] (1.499 ms) : 0, 1499
BytebuddyAgent [baseline] (833.493 ms) : 0, 833493
BytebuddyAgent [candidate] (834.336 ms) : 0, 834336
GlobalTracer [baseline] (237.978 ms) : 0, 237978
GlobalTracer [candidate] (237.915 ms) : 0, 237915
AppSec [baseline] (34.343 ms) : 0, 34343
AppSec [candidate] (32.076 ms) : 0, 32076
Debugger [baseline] (61.509 ms) : 0, 61509
Debugger [candidate] (60.737 ms) : 0, 60737
Remote Config [baseline] (541.22 µs) : 0, 541
Remote Config [candidate] (564.412 µs) : 0, 564
Telemetry [baseline] (7.634 ms) : 0, 7634
Telemetry [candidate] (7.6 ms) : 0, 7600
Flare Poller [baseline] (3.498 ms) : 0, 3498
Flare Poller [candidate] (3.486 ms) : 0, 3486
IAST [baseline] (27.566 ms) : 0, 27566
IAST [candidate] (29.236 ms) : 0, 29236
section profiling
crashtracking [baseline] (1.44 ms) : 0, 1440
crashtracking [candidate] (1.423 ms) : 0, 1423
BytebuddyAgent [baseline] (736.552 ms) : 0, 736552
BytebuddyAgent [candidate] (735.9 ms) : 0, 735900
GlobalTracer [baseline] (223.125 ms) : 0, 223125
GlobalTracer [candidate] (222.622 ms) : 0, 222622
AppSec [baseline] (32.269 ms) : 0, 32269
AppSec [candidate] (32.334 ms) : 0, 32334
Debugger [baseline] (63.912 ms) : 0, 63912
Debugger [candidate] (63.345 ms) : 0, 63345
Remote Config [baseline] (659.843 µs) : 0, 660
Remote Config [candidate] (671.563 µs) : 0, 672
Telemetry [baseline] (8.069 ms) : 0, 8069
Telemetry [candidate] (7.925 ms) : 0, 7925
Flare Poller [baseline] (3.757 ms) : 0, 3757
Flare Poller [candidate] (3.757 ms) : 0, 3757
ProfilingAgent [baseline] (97.674 ms) : 0, 97674
ProfilingAgent [candidate] (97.094 ms) : 0, 97094
Profiling [baseline] (98.267 ms) : 0, 98267
Profiling [candidate] (97.676 ms) : 0, 97676
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.56.0-SNAPSHOT~d04c27c49a, baseline=1.57.0-SNAPSHOT~c79dfc656d

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.107 s) : 0, 1106920
Total [baseline] (8.869 s) : 0, 8869485
Agent [candidate] (1.099 s) : 0, 1098912
Total [candidate] (8.834 s) : 0, 8833860
section iast
Agent [baseline] (1.242 s) : 0, 1242343
Total [baseline] (9.567 s) : 0, 9567100
Agent [candidate] (1.263 s) : 0, 1262829
Total [candidate] (9.622 s) : 0, 9621594
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.107 s -
Agent iast 1.242 s 135.423 ms (12.2%)
Total tracing 8.869 s -
Total iast 9.567 s 697.615 ms (7.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.099 s -
Agent iast 1.263 s 163.917 ms (14.9%)
Total tracing 8.834 s -
Total iast 9.622 s 787.733 ms (8.9%)
gantt
    title insecure-bank - break down per module: candidate=1.56.0-SNAPSHOT~d04c27c49a, baseline=1.57.0-SNAPSHOT~c79dfc656d

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.503 ms) : 0, 1503
crashtracking [candidate] (1.475 ms) : 0, 1475
BytebuddyAgent [baseline] (712.182 ms) : 0, 712182
BytebuddyAgent [candidate] (706.69 ms) : 0, 706690
GlobalTracer [baseline] (250.114 ms) : 0, 250114
GlobalTracer [candidate] (248.453 ms) : 0, 248453
AppSec [baseline] (32.266 ms) : 0, 32266
AppSec [candidate] (31.984 ms) : 0, 31984
Debugger [baseline] (63.315 ms) : 0, 63315
Debugger [candidate] (62.954 ms) : 0, 62954
Remote Config [baseline] (641.931 µs) : 0, 642
Remote Config [candidate] (651.474 µs) : 0, 651
Telemetry [baseline] (8.304 ms) : 0, 8304
Telemetry [candidate] (8.262 ms) : 0, 8262
Flare Poller [baseline] (3.695 ms) : 0, 3695
Flare Poller [candidate] (3.709 ms) : 0, 3709
section iast
crashtracking [baseline] (1.485 ms) : 0, 1485
crashtracking [candidate] (1.515 ms) : 0, 1515
BytebuddyAgent [baseline] (834.001 ms) : 0, 834001
BytebuddyAgent [candidate] (851.459 ms) : 0, 851459
GlobalTracer [baseline] (237.704 ms) : 0, 237704
GlobalTracer [candidate] (239.474 ms) : 0, 239474
AppSec [baseline] (32.265 ms) : 0, 32265
AppSec [candidate] (35.26 ms) : 0, 35260
Debugger [baseline] (60.676 ms) : 0, 60676
Debugger [candidate] (60.91 ms) : 0, 60910
Remote Config [baseline] (561.704 µs) : 0, 562
Remote Config [candidate] (556.253 µs) : 0, 556
Telemetry [baseline] (7.621 ms) : 0, 7621
Telemetry [candidate] (7.665 ms) : 0, 7665
Flare Poller [baseline] (3.52 ms) : 0, 3520
Flare Poller [candidate] (3.478 ms) : 0, 3478
IAST [baseline] (29.521 ms) : 0, 29521
IAST [candidate] (27.178 ms) : 0, 27178
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/faster-class-name-filter
git_commit_date 1763974460 1763985760
git_commit_sha c79dfc6 d04c27c
release_version 1.57.0-SNAPSHOT~c79dfc656d 1.56.0-SNAPSHOT~d04c27c49a
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1763992057 1763992057
ci_job_id 1253396214 1253396214
ci_pipeline_id 83792793 83792793
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-b1g5iq6z 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-b1g5iq6z 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 2 performance improvements and 0 performance regressions! Performance is the same for 19 metrics, 15 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:tracing:high_load better
[-118.887µs; -39.080µs] or [-7.564%; -2.486%]
unstable
[-662.296µs; +9.827µs] or [-15.386%; +0.228%]
unstable
[-109.780op/s; +375.280op/s] or [-4.637%; +15.853%]
1.493ms 3.978ms 2500.031op/s 1.572ms 4.304ms 2367.281op/s
scenario:load:insecure-bank:iast_FULL:high_load better
[-509.922µs; -239.570µs] or [-9.692%; -4.553%]
unsure
[-944.369µs; -226.392µs] or [-7.521%; -1.803%]
unstable
[-28.235op/s; +120.672op/s] or [-3.612%; +15.437%]
4.886ms 11.970ms 827.906op/s 5.261ms 12.556ms 781.688op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~d04c27c49a, baseline=1.57.0-SNAPSHOT~c79dfc656d
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.21 ms) : 1199, 1222
.   : milestone, 1210,
iast (3.292 ms) : 3250, 3333
.   : milestone, 3292,
iast_FULL (5.914 ms) : 5854, 5975
.   : milestone, 5914,
iast_GLOBAL (3.772 ms) : 3712, 3832
.   : milestone, 3772,
profiling (2.064 ms) : 2046, 2082
.   : milestone, 2064,
tracing (1.903 ms) : 1886, 1919
.   : milestone, 1903,
section candidate
no_agent (1.208 ms) : 1196, 1220
.   : milestone, 1208,
iast (3.228 ms) : 3191, 3266
.   : milestone, 3228,
iast_FULL (5.582 ms) : 5526, 5637
.   : milestone, 5582,
iast_GLOBAL (3.607 ms) : 3561, 3654
.   : milestone, 3607,
profiling (2.019 ms) : 2001, 2036
.   : milestone, 2019,
tracing (1.799 ms) : 1784, 1814
.   : milestone, 1799,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.21 ms [1.199 ms, 1.222 ms] -
iast 3.292 ms [3.25 ms, 3.333 ms] 2.081 ms (172.0%)
iast_FULL 5.914 ms [5.854 ms, 5.975 ms] 4.704 ms (388.7%)
iast_GLOBAL 3.772 ms [3.712 ms, 3.832 ms] 2.561 ms (211.6%)
profiling 2.064 ms [2.046 ms, 2.082 ms] 853.629 µs (70.5%)
tracing 1.903 ms [1.886 ms, 1.919 ms] 692.332 µs (57.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.208 ms [1.196 ms, 1.22 ms] -
iast 3.228 ms [3.191 ms, 3.266 ms] 2.02 ms (167.2%)
iast_FULL 5.582 ms [5.526 ms, 5.637 ms] 4.374 ms (362.0%)
iast_GLOBAL 3.607 ms [3.561 ms, 3.654 ms] 2.399 ms (198.6%)
profiling 2.019 ms [2.001 ms, 2.036 ms] 810.603 µs (67.1%)
tracing 1.799 ms [1.784 ms, 1.814 ms] 590.554 µs (48.9%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~d04c27c49a, baseline=1.57.0-SNAPSHOT~c79dfc656d
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.12 ms) : 17936, 18304
.   : milestone, 18120,
appsec (18.484 ms) : 18296, 18673
.   : milestone, 18484,
code_origins (17.722 ms) : 17548, 17895
.   : milestone, 17722,
iast (17.663 ms) : 17484, 17842
.   : milestone, 17663,
profiling (18.454 ms) : 18267, 18640
.   : milestone, 18454,
tracing (17.671 ms) : 17494, 17848
.   : milestone, 17671,
section candidate
no_agent (18.094 ms) : 17907, 18280
.   : milestone, 18094,
appsec (18.469 ms) : 18284, 18654
.   : milestone, 18469,
code_origins (17.753 ms) : 17579, 17928
.   : milestone, 17753,
iast (17.517 ms) : 17345, 17690
.   : milestone, 17517,
profiling (18.698 ms) : 18509, 18887
.   : milestone, 18698,
tracing (17.539 ms) : 17365, 17713
.   : milestone, 17539,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.12 ms [17.936 ms, 18.304 ms] -
appsec 18.484 ms [18.296 ms, 18.673 ms] 364.525 µs (2.0%)
code_origins 17.722 ms [17.548 ms, 17.895 ms] -398.197 µs (-2.2%)
iast 17.663 ms [17.484 ms, 17.842 ms] -456.822 µs (-2.5%)
profiling 18.454 ms [18.267 ms, 18.64 ms] 333.647 µs (1.8%)
tracing 17.671 ms [17.494 ms, 17.848 ms] -448.923 µs (-2.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.094 ms [17.907 ms, 18.28 ms] -
appsec 18.469 ms [18.284 ms, 18.654 ms] 375.152 µs (2.1%)
code_origins 17.753 ms [17.579 ms, 17.928 ms] -340.351 µs (-1.9%)
iast 17.517 ms [17.345 ms, 17.69 ms] -576.091 µs (-3.2%)
profiling 18.698 ms [18.509 ms, 18.887 ms] 604.526 µs (3.3%)
tracing 17.539 ms [17.365 ms, 17.713 ms] -554.724 µs (-3.1%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/faster-class-name-filter
git_commit_date 1763974460 1763985760
git_commit_sha c79dfc6 d04c27c
release_version 1.57.0-SNAPSHOT~c79dfc656d 1.56.0-SNAPSHOT~d04c27c49a
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1763987756 1763987756
ci_job_id 1253255819 1253255819
ci_pipeline_id 83792793 83792793
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-5925pjsm 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-5925pjsm 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.56.0-SNAPSHOT~d04c27c49a, baseline=1.57.0-SNAPSHOT~c79dfc656d
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.476 ms) : 1464, 1487
.   : milestone, 1476,
appsec (3.66 ms) : 3446, 3874
.   : milestone, 3660,
iast (2.217 ms) : 2153, 2282
.   : milestone, 2217,
iast_GLOBAL (2.262 ms) : 2197, 2326
.   : milestone, 2262,
profiling (2.059 ms) : 2006, 2111
.   : milestone, 2059,
tracing (2.055 ms) : 2004, 2106
.   : milestone, 2055,
section candidate
no_agent (1.478 ms) : 1467, 1490
.   : milestone, 1478,
appsec (3.676 ms) : 3460, 3892
.   : milestone, 3676,
iast (2.228 ms) : 2164, 2293
.   : milestone, 2228,
iast_GLOBAL (2.26 ms) : 2195, 2325
.   : milestone, 2260,
profiling (2.079 ms) : 2026, 2132
.   : milestone, 2079,
tracing (2.035 ms) : 1984, 2086
.   : milestone, 2035,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.476 ms [1.464 ms, 1.487 ms] -
appsec 3.66 ms [3.446 ms, 3.874 ms] 2.184 ms (148.0%)
iast 2.217 ms [2.153 ms, 2.282 ms] 741.543 µs (50.3%)
iast_GLOBAL 2.262 ms [2.197 ms, 2.326 ms] 786.209 µs (53.3%)
profiling 2.059 ms [2.006 ms, 2.111 ms] 583.104 µs (39.5%)
tracing 2.055 ms [2.004 ms, 2.106 ms] 579.27 µs (39.3%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.478 ms [1.467 ms, 1.49 ms] -
appsec 3.676 ms [3.46 ms, 3.892 ms] 2.198 ms (148.7%)
iast 2.228 ms [2.164 ms, 2.293 ms] 749.851 µs (50.7%)
iast_GLOBAL 2.26 ms [2.195 ms, 2.325 ms] 781.945 µs (52.9%)
profiling 2.079 ms [2.026 ms, 2.132 ms] 600.93 µs (40.7%)
tracing 2.035 ms [1.984 ms, 2.086 ms] 556.927 µs (37.7%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~d04c27c49a, baseline=1.57.0-SNAPSHOT~c79dfc656d
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.267 s) : 15267000, 15267000
.   : milestone, 15267000,
appsec (14.951 s) : 14951000, 14951000
.   : milestone, 14951000,
iast (18.304 s) : 18304000, 18304000
.   : milestone, 18304000,
iast_GLOBAL (17.877 s) : 17877000, 17877000
.   : milestone, 17877000,
profiling (14.568 s) : 14568000, 14568000
.   : milestone, 14568000,
tracing (14.807 s) : 14807000, 14807000
.   : milestone, 14807000,
section candidate
no_agent (15.424 s) : 15424000, 15424000
.   : milestone, 15424000,
appsec (14.673 s) : 14673000, 14673000
.   : milestone, 14673000,
iast (18.1 s) : 18100000, 18100000
.   : milestone, 18100000,
iast_GLOBAL (17.884 s) : 17884000, 17884000
.   : milestone, 17884000,
profiling (14.543 s) : 14543000, 14543000
.   : milestone, 14543000,
tracing (15.003 s) : 15003000, 15003000
.   : milestone, 15003000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.267 s [15.267 s, 15.267 s] -
appsec 14.951 s [14.951 s, 14.951 s] -316.0 ms (-2.1%)
iast 18.304 s [18.304 s, 18.304 s] 3.037 s (19.9%)
iast_GLOBAL 17.877 s [17.877 s, 17.877 s] 2.61 s (17.1%)
profiling 14.568 s [14.568 s, 14.568 s] -699.0 ms (-4.6%)
tracing 14.807 s [14.807 s, 14.807 s] -460.0 ms (-3.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.424 s [15.424 s, 15.424 s] -
appsec 14.673 s [14.673 s, 14.673 s] -751.0 ms (-4.9%)
iast 18.1 s [18.1 s, 18.1 s] 2.676 s (17.3%)
iast_GLOBAL 17.884 s [17.884 s, 17.884 s] 2.46 s (15.9%)
profiling 14.543 s [14.543 s, 14.543 s] -881.0 ms (-5.7%)
tracing 15.003 s [15.003 s, 15.003 s] -421.0 ms (-2.7%)

Copy link
Contributor

@bric3 bric3 left a comment

Choose a reason for hiding this comment

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

It looks ok to me, but maybe another pair of eye could be useful!

Comment on lines 34 to 37
// populate filter from current run and persist at shutdown
ClassNameFilter filter = emptyNoMatchFilter();
Runtime.getRuntime().addShutdownHook(new ShutdownHook(noMatchFile, filter));
return filter;
Copy link
Contributor

Choose a reason for hiding this comment

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

question: Should (over) writing be toggleable ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, it's simpler to let the user decide when to regenerate the file by deleting it from the directory before the next run. That way you don't need to remember to remove the overwrite option.

Copy link
Contributor

@AlexeyKuznetsov-DD AlexeyKuznetsov-DD left a comment

Choose a reason for hiding this comment

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

Just curious if it is possible to cover changes with tests?
Or it is 100% identical to previous code and already covered?

@mcculls
Copy link
Contributor Author

mcculls commented Nov 18, 2025

Just curious if it is possible to cover changes with tests?

tests are in the upstream repository - functionally it is the same as before, i.e. a simple hash-based filter

@mcculls mcculls merged commit c8bb444 into master Nov 24, 2025
538 checks passed
@mcculls mcculls deleted the mcculls/faster-class-name-filter branch November 24, 2025 14:01
@github-actions github-actions bot added this to the 1.57.0 milestone Nov 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core tag: performance Performance related changes type: refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants