Skip to content

Conversation

@amarziali
Copy link
Contributor

@amarziali amarziali commented Sep 23, 2025

What Does This Do

This PR firstly reverts #9548 since the feature discovery was not the origin of the increased startup time.
NB: while the agent discovery causes I/O SharedCommunicationObject.featureDiscovery is already called before to initialize the writer. Hence, at this point, the I/O has already been produced.
As a future improvement, we can defer some I/O outside the tracer initialisation but this is another refactoring.

Coming back to this PR, the increased startup time was mainly due to the classloading. The metrics aggregator, in fact, pulls in lots of jctools and ddsketches classes that requires additional time to be loaded for the first time.
While there is no magic to reduce this time, this PR moves the initialisation of the metrics aggregator outside the tracer initialisation block so that the tracer startup time stays almost untouched.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@amarziali amarziali requested a review from a team as a code owner September 23, 2025 07:36
@amarziali amarziali requested a review from smola September 23, 2025 07:36
@amarziali amarziali added type: enhancement Enhancements and improvements tag: performance Performance related changes comp: metrics Metrics labels Sep 23, 2025
sb.append((char) c);
}
} catch (IOException e) {
} catch (Throwable ignored) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't know why but I had some NPE time by time on my local build. I widen this to Throwable. While is not related to this PR, it's a good thing to do

Copy link
Contributor

Choose a reason for hiding this comment

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

NPE likely means the dd-java-agent.version file did not end up in the jar being tested, so it wasn't found

This could point to an issue when doing incremental builds - but proactively widening the catch here makes sense

@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Sep 23, 2025

🎯 Code Coverage
Patch Coverage: 57.89%
Total Coverage: 63.06% (+3.22%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 7352724 | Docs | Was this helpful? Give us feedback!

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

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

Thanks for tracking this down!

Excessive class-loading on the primordial thread during premain has caused issues in the past, especially on Java 8 . It's a careful balance of doing just enough to observe and capture key events in premain, while moving reporting/aggregation to another thread.

@pr-commenter
Copy link

pr-commenter bot commented Sep 23, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/slo2
git_commit_date 1758577911 1758612667
git_commit_sha a519ee2 7352724
release_version 1.54.0-SNAPSHOT~a519ee2013 1.54.0-SNAPSHOT~7352724498
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1758614569 1758614569
ci_job_id 1142483722 1142483722
ci_pipeline_id 77246887 77246887
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-e157xmqn 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-e157xmqn 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 5 performance improvements and 0 performance regressions! Performance is the same for 45 metrics, 9 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast:GlobalTracer better
[-11.897ms; -6.142ms] or [-4.801%; -2.479%]
238.767ms 247.787ms
scenario:startup:petclinic:appsec:GlobalTracer better
[-11.148ms; -8.658ms] or [-4.456%; -3.461%]
240.254ms 250.157ms
scenario:startup:petclinic:iast:GlobalTracer better
[-12.033ms; -6.671ms] or [-4.853%; -2.690%]
238.615ms 247.967ms
scenario:startup:petclinic:profiling:GlobalTracer better
[-12.436ms; -9.204ms] or [-5.296%; -3.919%]
224.016ms 234.836ms
scenario:startup:petclinic:tracing:GlobalTracer better
[-10.454ms; -8.257ms] or [-4.056%; -3.204%]
248.369ms 257.725ms
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.54.0-SNAPSHOT~7352724498, baseline=1.54.0-SNAPSHOT~a519ee2013

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.022 s) : 0, 1022222
Total [baseline] (8.646 s) : 0, 8645577
Agent [candidate] (1.015 s) : 0, 1014551
Total [candidate] (8.661 s) : 0, 8661391
section iast
Agent [baseline] (1.152 s) : 0, 1152471
Total [baseline] (9.293 s) : 0, 9292547
Agent [candidate] (1.151 s) : 0, 1151177
Total [candidate] (9.282 s) : 0, 9281840
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.022 s -
Agent iast 1.152 s 130.249 ms (12.7%)
Total tracing 8.646 s -
Total iast 9.293 s 646.97 ms (7.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.015 s -
Agent iast 1.151 s 136.626 ms (13.5%)
Total tracing 8.661 s -
Total iast 9.282 s 620.449 ms (7.2%)
gantt
    title insecure-bank - break down per module: candidate=1.54.0-SNAPSHOT~7352724498, baseline=1.54.0-SNAPSHOT~a519ee2013

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.46 ms) : 0, 1460
crashtracking [candidate] (1.467 ms) : 0, 1467
BytebuddyAgent [baseline] (689.208 ms) : 0, 689208
BytebuddyAgent [candidate] (693.938 ms) : 0, 693938
GlobalTracer [baseline] (258.033 ms) : 0, 258033
GlobalTracer [candidate] (250.091 ms) : 0, 250091
AppSec [baseline] (31.818 ms) : 0, 31818
AppSec [candidate] (31.573 ms) : 0, 31573
Debugger [baseline] (6.353 ms) : 0, 6353
Debugger [candidate] (6.432 ms) : 0, 6432
Remote Config [baseline] (701.936 µs) : 0, 702
Remote Config [candidate] (703.681 µs) : 0, 704
Telemetry [baseline] (13.592 ms) : 0, 13592
Telemetry [candidate] (9.076 ms) : 0, 9076
section iast
crashtracking [baseline] (1.454 ms) : 0, 1454
crashtracking [candidate] (1.466 ms) : 0, 1466
BytebuddyAgent [baseline] (808.061 ms) : 0, 808061
BytebuddyAgent [candidate] (814.237 ms) : 0, 814237
GlobalTracer [baseline] (247.787 ms) : 0, 247787
GlobalTracer [candidate] (238.767 ms) : 0, 238767
IAST [baseline] (29.334 ms) : 0, 29334
IAST [candidate] (26.483 ms) : 0, 26483
AppSec [baseline] (29.785 ms) : 0, 29785
AppSec [candidate] (33.825 ms) : 0, 33825
Debugger [baseline] (6.145 ms) : 0, 6145
Debugger [candidate] (6.116 ms) : 0, 6116
Remote Config [baseline] (602.827 µs) : 0, 603
Remote Config [candidate] (599.832 µs) : 0, 600
Telemetry [baseline] (8.351 ms) : 0, 8351
Telemetry [candidate] (8.338 ms) : 0, 8338
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.54.0-SNAPSHOT~7352724498, baseline=1.54.0-SNAPSHOT~a519ee2013

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.019 s) : 0, 1019453
Total [baseline] (10.659 s) : 0, 10658736
Agent [candidate] (1.009 s) : 0, 1009384
Total [candidate] (10.699 s) : 0, 10699338
section appsec
Agent [baseline] (1.199 s) : 0, 1198648
Total [baseline] (10.908 s) : 0, 10907765
Agent [candidate] (1.188 s) : 0, 1187716
Total [candidate] (11.034 s) : 0, 11033671
section iast
Agent [baseline] (1.152 s) : 0, 1152205
Total [baseline] (11.052 s) : 0, 11051960
Agent [candidate] (1.147 s) : 0, 1146790
Total [candidate] (10.895 s) : 0, 10894781
section profiling
Agent [baseline] (1.164 s) : 0, 1164052
Total [baseline] (11.042 s) : 0, 11041710
Agent [candidate] (1.151 s) : 0, 1150829
Total [candidate] (11.0 s) : 0, 11000208
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.019 s -
Agent appsec 1.199 s 179.195 ms (17.6%)
Agent iast 1.152 s 132.753 ms (13.0%)
Agent profiling 1.164 s 144.599 ms (14.2%)
Total tracing 10.659 s -
Total appsec 10.908 s 249.029 ms (2.3%)
Total iast 11.052 s 393.224 ms (3.7%)
Total profiling 11.042 s 382.973 ms (3.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.009 s -
Agent appsec 1.188 s 178.332 ms (17.7%)
Agent iast 1.147 s 137.406 ms (13.6%)
Agent profiling 1.151 s 141.445 ms (14.0%)
Total tracing 10.699 s -
Total appsec 11.034 s 334.333 ms (3.1%)
Total iast 10.895 s 195.443 ms (1.8%)
Total profiling 11.0 s 300.87 ms (2.8%)
gantt
    title petclinic - break down per module: candidate=1.54.0-SNAPSHOT~7352724498, baseline=1.54.0-SNAPSHOT~a519ee2013

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.472 ms) : 0, 1472
crashtracking [candidate] (1.476 ms) : 0, 1476
BytebuddyAgent [baseline] (688.455 ms) : 0, 688455
BytebuddyAgent [candidate] (691.302 ms) : 0, 691302
GlobalTracer [baseline] (257.725 ms) : 0, 257725
GlobalTracer [candidate] (248.369 ms) : 0, 248369
AppSec [baseline] (31.63 ms) : 0, 31630
AppSec [candidate] (31.027 ms) : 0, 31027
Debugger [baseline] (6.361 ms) : 0, 6361
Debugger [candidate] (6.315 ms) : 0, 6315
Remote Config [baseline] (681.018 µs) : 0, 681
Remote Config [candidate] (683.405 µs) : 0, 683
Telemetry [baseline] (12.046 ms) : 0, 12046
Telemetry [candidate] (8.945 ms) : 0, 8945
section appsec
crashtracking [baseline] (1.468 ms) : 0, 1468
crashtracking [candidate] (1.464 ms) : 0, 1464
BytebuddyAgent [baseline] (712.267 ms) : 0, 712267
BytebuddyAgent [candidate] (713.1 ms) : 0, 713100
GlobalTracer [baseline] (250.157 ms) : 0, 250157
GlobalTracer [candidate] (240.254 ms) : 0, 240254
IAST [baseline] (25.154 ms) : 0, 25154
IAST [candidate] (24.721 ms) : 0, 24721
AppSec [baseline] (171.479 ms) : 0, 171479
AppSec [candidate] (171.106 ms) : 0, 171106
Debugger [baseline] (6.074 ms) : 0, 6074
Debugger [candidate] (5.972 ms) : 0, 5972
Remote Config [baseline] (630.459 µs) : 0, 630
Remote Config [candidate] (627.569 µs) : 0, 628
Telemetry [baseline] (10.134 ms) : 0, 10134
Telemetry [candidate] (9.206 ms) : 0, 9206
section iast
crashtracking [baseline] (1.467 ms) : 0, 1467
crashtracking [candidate] (1.447 ms) : 0, 1447
BytebuddyAgent [baseline] (807.631 ms) : 0, 807631
BytebuddyAgent [candidate] (810.46 ms) : 0, 810460
GlobalTracer [baseline] (247.967 ms) : 0, 247967
GlobalTracer [candidate] (238.615 ms) : 0, 238615
IAST [baseline] (30.987 ms) : 0, 30987
IAST [candidate] (26.246 ms) : 0, 26246
AppSec [baseline] (27.277 ms) : 0, 27277
AppSec [candidate] (33.748 ms) : 0, 33748
Debugger [baseline] (6.208 ms) : 0, 6208
Debugger [candidate] (6.084 ms) : 0, 6084
Remote Config [baseline] (597.502 µs) : 0, 598
Remote Config [candidate] (593.902 µs) : 0, 594
Telemetry [baseline] (9.012 ms) : 0, 9012
Telemetry [candidate] (8.308 ms) : 0, 8308
section profiling
crashtracking [baseline] (1.449 ms) : 0, 1449
crashtracking [candidate] (1.437 ms) : 0, 1437
BytebuddyAgent [baseline] (719.928 ms) : 0, 719928
BytebuddyAgent [candidate] (718.185 ms) : 0, 718185
GlobalTracer [baseline] (234.836 ms) : 0, 234836
GlobalTracer [candidate] (224.016 ms) : 0, 224016
AppSec [baseline] (31.068 ms) : 0, 31068
AppSec [candidate] (31.127 ms) : 0, 31127
Debugger [baseline] (6.476 ms) : 0, 6476
Debugger [candidate] (6.445 ms) : 0, 6445
Remote Config [baseline] (725.643 µs) : 0, 726
Remote Config [candidate] (693.611 µs) : 0, 694
Telemetry [baseline] (16.037 ms) : 0, 16037
Telemetry [candidate] (16.404 ms) : 0, 16404
ProfilingAgent [baseline] (102.481 ms) : 0, 102481
ProfilingAgent [candidate] (101.474 ms) : 0, 101474
Profiling [baseline] (103.063 ms) : 0, 103063
Profiling [candidate] (102.086 ms) : 0, 102086
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/slo2
git_commit_date 1758577911 1758612667
git_commit_sha a519ee2 7352724
release_version 1.54.0-SNAPSHOT~a519ee2013 1.54.0-SNAPSHOT~7352724498
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1758614235 1758614235
ci_job_id 1142483723 1142483723
ci_pipeline_id 77246887 77246887
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-tfe6uu7q 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-tfe6uu7q 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 4 performance improvements and 3 performance regressions! Performance is the same for 5 metrics, 12 unstable metrics.

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:insecure-bank:no_agent:high_load worse
[+100.475µs; +205.629µs] or [+2.398%; +4.908%]
unstable
[-154.106op/s; +78.168op/s] or [-14.076%; +7.140%]
4.342ms 1056.844op/s 4.189ms 1094.812op/s
scenario:load:insecure-bank:iast_FULL:high_load better
[-1254.135µs; -651.286µs] or [-8.553%; -4.442%]
unstable
[-13.385op/s; +57.260op/s] or [-4.210%; +18.012%]
13.710ms 339.844op/s 14.663ms 317.906op/s
scenario:load:insecure-bank:iast:high_load worse
[+252.183µs; +630.199µs] or [+2.550%; +6.371%]
unstable
[-73.615op/s; +33.678op/s] or [-15.673%; +7.170%]
10.333ms 449.719op/s 9.891ms 469.688op/s
scenario:load:insecure-bank:profiling:high_load better
[-746.161µs; -423.745µs] or [-7.859%; -4.463%]
unstable
[-32.195op/s; +95.383op/s] or [-6.583%; +19.502%]
8.909ms 520.688op/s 9.494ms 489.094op/s
scenario:load:petclinic:no_agent:high_load better
[-1.601ms; -0.953ms] or [-4.218%; -2.511%]
unstable
[-3.890op/s; +12.515op/s] or [-3.158%; +10.159%]
36.684ms 127.500op/s 37.961ms 123.188op/s
scenario:load:petclinic:tracing:high_load better
[-3.460ms; -2.642ms] or [-7.387%; -5.642%]
unstable
[+0.070op/s; +13.755op/s] or [+0.070%; +13.764%]
43.784ms 106.850op/s 46.835ms 99.938op/s
scenario:load:petclinic:profiling:high_load worse
[+1.149ms; +2.126ms] or [+2.373%; +4.390%]
unstable
[-9.987op/s; +3.662op/s] or [-10.330%; +3.788%]
50.071ms 93.513op/s 48.433ms 96.675op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~7352724498, baseline=1.54.0-SNAPSHOT~a519ee2013
    dateFormat X
    axisFormat %s
section baseline
no_agent (4.189 ms) : 4142, 4237
.   : milestone, 4189,
iast (9.891 ms) : 9724, 10059
.   : milestone, 9891,
iast_FULL (14.663 ms) : 14369, 14956
.   : milestone, 14663,
iast_GLOBAL (10.585 ms) : 10399, 10772
.   : milestone, 10585,
profiling (9.494 ms) : 9340, 9649
.   : milestone, 9494,
tracing (7.905 ms) : 7784, 8026
.   : milestone, 7905,
section candidate
no_agent (4.342 ms) : 4292, 4393
.   : milestone, 4342,
iast (10.333 ms) : 10149, 10516
.   : milestone, 10333,
iast_FULL (13.71 ms) : 13444, 13976
.   : milestone, 13710,
iast_GLOBAL (10.814 ms) : 10620, 11009
.   : milestone, 10814,
profiling (8.909 ms) : 8764, 9054
.   : milestone, 8909,
tracing (7.809 ms) : 7689, 7928
.   : milestone, 7809,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.189 ms [4.142 ms, 4.237 ms] -
iast 9.891 ms [9.724 ms, 10.059 ms] 5.702 ms (136.1%)
iast_FULL 14.663 ms [14.369 ms, 14.956 ms] 10.473 ms (250.0%)
iast_GLOBAL 10.585 ms [10.399 ms, 10.772 ms] 6.396 ms (152.7%)
profiling 9.494 ms [9.34 ms, 9.649 ms] 5.305 ms (126.6%)
tracing 7.905 ms [7.784 ms, 8.026 ms] 3.716 ms (88.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.342 ms [4.292 ms, 4.393 ms] -
iast 10.333 ms [10.149 ms, 10.516 ms] 5.99 ms (137.9%)
iast_FULL 13.71 ms [13.444 ms, 13.976 ms] 9.368 ms (215.7%)
iast_GLOBAL 10.814 ms [10.62 ms, 11.009 ms] 6.472 ms (149.0%)
profiling 8.909 ms [8.764 ms, 9.054 ms] 4.567 ms (105.2%)
tracing 7.809 ms [7.689 ms, 7.928 ms] 3.466 ms (79.8%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~7352724498, baseline=1.54.0-SNAPSHOT~a519ee2013
    dateFormat X
    axisFormat %s
section baseline
no_agent (37.961 ms) : 37658, 38264
.   : milestone, 37961,
appsec (47.589 ms) : 47168, 48011
.   : milestone, 47589,
code_origins (44.426 ms) : 44047, 44804
.   : milestone, 44426,
iast (45.86 ms) : 45462, 46258
.   : milestone, 45860,
profiling (48.433 ms) : 48010, 48856
.   : milestone, 48433,
tracing (46.835 ms) : 46441, 47229
.   : milestone, 46835,
section candidate
no_agent (36.684 ms) : 36385, 36982
.   : milestone, 36684,
appsec (48.678 ms) : 48244, 49112
.   : milestone, 48678,
code_origins (43.665 ms) : 43304, 44027
.   : milestone, 43665,
iast (44.782 ms) : 44396, 45168
.   : milestone, 44782,
profiling (50.071 ms) : 49588, 50553
.   : milestone, 50071,
tracing (43.784 ms) : 43419, 44149
.   : milestone, 43784,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 37.961 ms [37.658 ms, 38.264 ms] -
appsec 47.589 ms [47.168 ms, 48.011 ms] 9.628 ms (25.4%)
code_origins 44.426 ms [44.047 ms, 44.804 ms] 6.465 ms (17.0%)
iast 45.86 ms [45.462 ms, 46.258 ms] 7.899 ms (20.8%)
profiling 48.433 ms [48.01 ms, 48.856 ms] 10.472 ms (27.6%)
tracing 46.835 ms [46.441 ms, 47.229 ms] 8.874 ms (23.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.684 ms [36.385 ms, 36.982 ms] -
appsec 48.678 ms [48.244 ms, 49.112 ms] 11.994 ms (32.7%)
code_origins 43.665 ms [43.304 ms, 44.027 ms] 6.981 ms (19.0%)
iast 44.782 ms [44.396 ms, 45.168 ms] 8.098 ms (22.1%)
profiling 50.071 ms [49.588 ms, 50.553 ms] 13.387 ms (36.5%)
tracing 43.784 ms [43.419 ms, 44.149 ms] 7.1 ms (19.4%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/slo2
git_commit_date 1758577911 1758612667
git_commit_sha a519ee2 7352724
release_version 1.54.0-SNAPSHOT~a519ee2013 1.54.0-SNAPSHOT~7352724498
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1758614747 1758614747
ci_job_id 1142483724 1142483724
ci_pipeline_id 77246887 77246887
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-7fniuiik 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-7fniuiik 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.54.0-SNAPSHOT~7352724498, baseline=1.54.0-SNAPSHOT~a519ee2013
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.996 s) : 14996000, 14996000
.   : milestone, 14996000,
appsec (14.856 s) : 14856000, 14856000
.   : milestone, 14856000,
iast (18.949 s) : 18949000, 18949000
.   : milestone, 18949000,
iast_GLOBAL (18.067 s) : 18067000, 18067000
.   : milestone, 18067000,
profiling (15.346 s) : 15346000, 15346000
.   : milestone, 15346000,
tracing (15.26 s) : 15260000, 15260000
.   : milestone, 15260000,
section candidate
no_agent (15.137 s) : 15137000, 15137000
.   : milestone, 15137000,
appsec (14.945 s) : 14945000, 14945000
.   : milestone, 14945000,
iast (18.433 s) : 18433000, 18433000
.   : milestone, 18433000,
iast_GLOBAL (18.271 s) : 18271000, 18271000
.   : milestone, 18271000,
profiling (15.101 s) : 15101000, 15101000
.   : milestone, 15101000,
tracing (15.263 s) : 15263000, 15263000
.   : milestone, 15263000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.996 s [14.996 s, 14.996 s] -
appsec 14.856 s [14.856 s, 14.856 s] -140.0 ms (-0.9%)
iast 18.949 s [18.949 s, 18.949 s] 3.953 s (26.4%)
iast_GLOBAL 18.067 s [18.067 s, 18.067 s] 3.071 s (20.5%)
profiling 15.346 s [15.346 s, 15.346 s] 350.0 ms (2.3%)
tracing 15.26 s [15.26 s, 15.26 s] 264.0 ms (1.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.137 s [15.137 s, 15.137 s] -
appsec 14.945 s [14.945 s, 14.945 s] -192.0 ms (-1.3%)
iast 18.433 s [18.433 s, 18.433 s] 3.296 s (21.8%)
iast_GLOBAL 18.271 s [18.271 s, 18.271 s] 3.134 s (20.7%)
profiling 15.101 s [15.101 s, 15.101 s] -36.0 ms (-0.2%)
tracing 15.263 s [15.263 s, 15.263 s] 126.0 ms (0.8%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~7352724498, baseline=1.54.0-SNAPSHOT~a519ee2013
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.489 ms) : 1477, 1501
.   : milestone, 1489,
appsec (3.733 ms) : 3515, 3952
.   : milestone, 3733,
iast (2.21 ms) : 2148, 2272
.   : milestone, 2210,
iast_GLOBAL (2.252 ms) : 2189, 2315
.   : milestone, 2252,
profiling (2.063 ms) : 2013, 2114
.   : milestone, 2063,
tracing (2.049 ms) : 2000, 2098
.   : milestone, 2049,
section candidate
no_agent (1.491 ms) : 1479, 1502
.   : milestone, 1491,
appsec (3.694 ms) : 3480, 3908
.   : milestone, 3694,
iast (2.219 ms) : 2156, 2282
.   : milestone, 2219,
iast_GLOBAL (2.253 ms) : 2190, 2316
.   : milestone, 2253,
profiling (2.049 ms) : 1999, 2099
.   : milestone, 2049,
tracing (2.032 ms) : 1983, 2080
.   : milestone, 2032,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.489 ms [1.477 ms, 1.501 ms] -
appsec 3.733 ms [3.515 ms, 3.952 ms] 2.244 ms (150.7%)
iast 2.21 ms [2.148 ms, 2.272 ms] 721.024 µs (48.4%)
iast_GLOBAL 2.252 ms [2.189 ms, 2.315 ms] 763.007 µs (51.2%)
profiling 2.063 ms [2.013 ms, 2.114 ms] 573.99 µs (38.5%)
tracing 2.049 ms [2.0 ms, 2.098 ms] 559.777 µs (37.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.491 ms [1.479 ms, 1.502 ms] -
appsec 3.694 ms [3.48 ms, 3.908 ms] 2.203 ms (147.8%)
iast 2.219 ms [2.156 ms, 2.282 ms] 728.19 µs (48.8%)
iast_GLOBAL 2.253 ms [2.19 ms, 2.316 ms] 762.304 µs (51.1%)
profiling 2.049 ms [1.999 ms, 2.099 ms] 558.306 µs (37.5%)
tracing 2.032 ms [1.983 ms, 2.08 ms] 540.946 µs (36.3%)

@amarziali amarziali enabled auto-merge (squash) September 23, 2025 08:11
@amarziali amarziali merged commit 0094a60 into master Sep 23, 2025
551 checks passed
@amarziali amarziali deleted the andrea.marziali/slo2 branch September 23, 2025 08:24
@github-actions github-actions bot added this to the 1.54.0 milestone Sep 23, 2025
Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

👏 praise: ‏Thanks for the tedious investigation!

While there is no magic to reduce this time

Cough Leyden cough 😇

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.

Nice !

mhlidd pushed a commit that referenced this pull request Sep 24, 2025
* Revert "Lazily obtain feature discovery when starting client metrics (#9548)"

This reverts commit 561eb5e.

* Defer metrics aggregator classloading to save startup time
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: metrics Metrics tag: performance Performance related changes type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants