dd-trace-java
dd-trace-java copied to clipboard
Implement Remote Config tracing_enabled feature
What Does This Do
Motivation
Additional Notes
Jira ticket: [PROJ-IDENT]
Benchmarks
Startup
Parameters
Baseline | Candidate | |
---|---|---|
baseline_or_candidate | baseline | candidate |
git_branch | master | nayeem-kamal/RC-experimental-tracing-enabled |
git_commit_date | 1709558898 | 1709137061 |
git_commit_sha | aeb7876f22 | 083a28ed9e |
release_version | 1.31.0-SNAPSHOT~aeb7876f22 | 1.31.0-SNAPSHOT~083a28ed9e |
See matching parameters
Baseline | Candidate | |
---|---|---|
application | insecure-bank | insecure-bank |
ci_job_date | 1709563676 | 1709563676 |
ci_job_id | 449627086 | 449627086 |
ci_pipeline_id | 29400793 | 29400793 |
cpu_model | Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz |
module | Agent | Agent |
parent | None | None |
variant | iast | iast |
Summary
Found 10 performance improvements and 4 performance regressions! Performance is the same for 32 metrics, 8 unstable metrics.
scenario | Δ mean execution_time | candidate mean execution_time | baseline mean execution_time |
---|---|---|---|
scenario:startup:insecure-bank:iast:Agent.start | better [-34.101ms; -24.624ms] or [-2.823%; -2.038%] |
1.179s | 1.208s |
scenario:startup:insecure-bank:iast:BytebuddyAgent | better [-29.557ms; -23.608ms] or [-3.686%; -2.944%] |
775.344ms | 801.926ms |
scenario:startup:insecure-bank:iast:AppSec | better [-6.762ms; -1.826ms] or [-12.433%; -3.357%] |
50.094ms | 54.388ms |
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:Agent.start | better [-34.668ms; -25.417ms] or [-2.894%; -2.122%] |
1.168s | 1.198s |
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:BytebuddyAgent | better [-26.461ms; -21.520ms] or [-3.343%; -2.718%] |
767.645ms | 791.636ms |
scenario:startup:insecure-bank:tracing:BytebuddyAgent | better [-29.926ms; -26.336ms] or [-4.302%; -3.786%] |
667.569ms | 695.701ms |
scenario:startup:insecure-bank:tracing:Remote Config | better [-58.544µs; -25.603µs] or [-7.821%; -3.420%] |
706.456µs | 748.529µs |
scenario:startup:petclinic:appsec:Agent.start | better [-48.190ms; -41.751ms] or [-4.020%; -3.483%] |
1.154s | 1.199s |
scenario:startup:petclinic:appsec:BytebuddyAgent | better [-33.919ms; -30.161ms] or [-4.868%; -4.328%] |
664.788ms | 696.828ms |
scenario:startup:petclinic:appsec:Remote Config | worse [+19.858µs; +34.858µs] or [+3.262%; +5.726%] |
636.143µs | 608.785µs |
scenario:startup:petclinic:iast:Remote Config | worse [+12.483µs; +70.920µs] or [+2.112%; +11.998%] |
632.789µs | 591.088µs |
scenario:startup:petclinic:profiling:ProfilingAgent | worse [+21.609ms; +26.391ms] or [+23.113%; +28.227%] |
117.493ms | 93.493ms |
scenario:startup:petclinic:profiling:Profiling | worse [+21.610ms; +26.392ms] or [+23.108%; +28.221%] |
117.518ms | 93.517ms |
scenario:startup:petclinic:tracing:BytebuddyAgent | better [-43.620ms; -25.114ms] or [-6.237%; -3.591%] |
665.054ms | 699.421ms |
Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.31.0-SNAPSHOT~083a28ed9e, baseline=1.31.0-SNAPSHOT~aeb7876f22
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.087 s) : 0, 1086724
Total [baseline] (9.175 s) : 0, 9174977
Agent [candidate] (1.055 s) : 0, 1054736
Total [candidate] (9.139 s) : 0, 9138599
section appsec
Agent [baseline] (1.199 s) : 0, 1198771
Total [baseline] (9.309 s) : 0, 9309041
Agent [candidate] (1.154 s) : 0, 1153800
Total [candidate] (9.313 s) : 0, 9313249
section iast
Agent [baseline] (1.208 s) : 0, 1207901
Total [baseline] (9.328 s) : 0, 9327646
Agent [candidate] (1.184 s) : 0, 1184230
Total [candidate] (9.427 s) : 0, 9426680
section profiling
Agent [baseline] (1.278 s) : 0, 1278471
Total [baseline] (9.38 s) : 0, 9380155
Agent [candidate] (1.283 s) : 0, 1283217
Total [candidate] (9.438 s) : 0, 9438393
- baseline results
Module | Variant | Duration | Δ tracing |
---|---|---|---|
Agent | tracing | 1.087 s | - |
Agent | appsec | 1.199 s | 112.047 ms (10.3%) |
Agent | iast | 1.208 s | 121.178 ms (11.2%) |
Agent | profiling | 1.278 s | 191.747 ms (17.6%) |
Total | tracing | 9.175 s | - |
Total | appsec | 9.309 s | 134.064 ms (1.5%) |
Total | iast | 9.328 s | 152.669 ms (1.7%) |
Total | profiling | 9.38 s | 205.178 ms (2.2%) |
- candidate results
Module | Variant | Duration | Δ tracing |
---|---|---|---|
Agent | tracing | 1.055 s | - |
Agent | appsec | 1.154 s | 99.064 ms (9.4%) |
Agent | iast | 1.184 s | 129.494 ms (12.3%) |
Agent | profiling | 1.283 s | 228.481 ms (21.7%) |
Total | tracing | 9.139 s | - |
Total | appsec | 9.313 s | 174.65 ms (1.9%) |
Total | iast | 9.427 s | 288.081 ms (3.2%) |
Total | profiling | 9.438 s | 299.794 ms (3.3%) |
gantt
title petclinic - break down per module: candidate=1.31.0-SNAPSHOT~083a28ed9e, baseline=1.31.0-SNAPSHOT~aeb7876f22
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (699.421 ms) : 0, 699421
BytebuddyAgent [candidate] (665.054 ms) : 0, 665054
GlobalTracer [baseline] (292.541 ms) : 0, 292541
GlobalTracer [candidate] (295.572 ms) : 0, 295572
AppSec [baseline] (51.767 ms) : 0, 51767
AppSec [candidate] (51.522 ms) : 0, 51522
Remote Config [baseline] (722.793 µs) : 0, 723
Remote Config [candidate] (707.687 µs) : 0, 708
Telemetry [baseline] (7.758 ms) : 0, 7758
Telemetry [candidate] (7.736 ms) : 0, 7736
section appsec
BytebuddyAgent [baseline] (696.828 ms) : 0, 696828
BytebuddyAgent [candidate] (664.788 ms) : 0, 664788
GlobalTracer [baseline] (291.343 ms) : 0, 291343
GlobalTracer [candidate] (296.079 ms) : 0, 296079
AppSec [baseline] (150.961 ms) : 0, 150961
AppSec [candidate] (151.296 ms) : 0, 151296
Remote Config [baseline] (608.785 µs) : 0, 609
Remote Config [candidate] (636.143 µs) : 0, 636
Telemetry [baseline] (6.865 ms) : 0, 6865
Telemetry [candidate] (6.808 ms) : 0, 6808
IAST [baseline] (17.761 ms) : 0, 17761
section iast
BytebuddyAgent [baseline] (801.431 ms) : 0, 801431
BytebuddyAgent [candidate] (780.489 ms) : 0, 780489
GlobalTracer [baseline] (288.635 ms) : 0, 288635
GlobalTracer [candidate] (288.958 ms) : 0, 288958
AppSec [baseline] (51.428 ms) : 0, 51428
AppSec [candidate] (50.842 ms) : 0, 50842
Remote Config [baseline] (591.088 µs) : 0, 591
Remote Config [candidate] (632.789 µs) : 0, 633
Telemetry [baseline] (7.454 ms) : 0, 7454
Telemetry [candidate] (9.808 ms) : 0, 9808
IAST [baseline] (23.918 ms) : 0, 23918
IAST [candidate] (18.938 ms) : 0, 18938
section profiling
ProfilingAgent [baseline] (93.493 ms) : 0, 93493
ProfilingAgent [candidate] (117.493 ms) : 0, 117493
BytebuddyAgent [baseline] (692.53 ms) : 0, 692530
BytebuddyAgent [candidate] (666.579 ms) : 0, 666579
GlobalTracer [baseline] (375.268 ms) : 0, 375268
GlobalTracer [candidate] (383.064 ms) : 0, 383064
AppSec [baseline] (52.717 ms) : 0, 52717
AppSec [candidate] (52.708 ms) : 0, 52708
Remote Config [baseline] (805.922 µs) : 0, 806
Remote Config [candidate] (667.809 µs) : 0, 668
Telemetry [baseline] (7.416 ms) : 0, 7416
Telemetry [candidate] (7.68 ms) : 0, 7680
Profiling [baseline] (93.517 ms) : 0, 93517
Profiling [candidate] (117.518 ms) : 0, 117518
Load
Parameters
Baseline | Candidate | |
---|---|---|
baseline_or_candidate | baseline | candidate |
end_time | 2024-03-04T14:24:22 | 2024-03-04T14:42:57 |
git_branch | master | nayeem-kamal/RC-experimental-tracing-enabled |
git_commit_date | 1709558898 | 1709137061 |
git_commit_sha | aeb7876f22 | 083a28ed9e |
release_version | 1.31.0-SNAPSHOT~aeb7876f22 | 1.31.0-SNAPSHOT~083a28ed9e |
start_time | 2024-03-04T14:24:09 | 2024-03-04T14:42:43 |
See matching parameters
Baseline | Candidate | |
---|---|---|
application | insecure-bank | insecure-bank |
ci_job_date | 1709563676 | 1709563676 |
ci_job_id | 449627086 | 449627086 |
ci_pipeline_id | 29400793 | 29400793 |
cpu_model | Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz |
variant | iast | iast |
Summary
Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 14 unstable metrics.
Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.31.0-SNAPSHOT~083a28ed9e, baseline=1.31.0-SNAPSHOT~aeb7876f22
dateFormat X
axisFormat %s
section baseline
no_agent (1.347 ms) : 1328, 1366
. : milestone, 1347,
appsec (1.805 ms) : 1782, 1828
. : milestone, 1805,
iast (1.491 ms) : 1468, 1515
. : milestone, 1491,
profiling (1.514 ms) : 1491, 1537
. : milestone, 1514,
tracing (1.515 ms) : 1492, 1538
. : milestone, 1515,
section candidate
no_agent (1.344 ms) : 1325, 1363
. : milestone, 1344,
appsec (1.79 ms) : 1766, 1814
. : milestone, 1790,
iast (1.511 ms) : 1487, 1535
. : milestone, 1511,
profiling (1.517 ms) : 1493, 1542
. : milestone, 1517,
tracing (1.492 ms) : 1468, 1516
. : milestone, 1492,
- baseline results
Variant | Request duration [CI 0.99] | Δ no_agent |
---|---|---|
no_agent | 1.347 ms [1.328 ms, 1.366 ms] | - |
appsec | 1.805 ms [1.782 ms, 1.828 ms] | 458.284 µs (34.0%) |
iast | 1.491 ms [1.468 ms, 1.515 ms] | 144.47 µs (10.7%) |
profiling | 1.514 ms [1.491 ms, 1.537 ms] | 167.315 µs (12.4%) |
tracing | 1.515 ms [1.492 ms, 1.538 ms] | 168.49 µs (12.5%) |
- candidate results
Variant | Request duration [CI 0.99] | Δ no_agent |
---|---|---|
no_agent | 1.344 ms [1.325 ms, 1.363 ms] | - |
appsec | 1.79 ms [1.766 ms, 1.814 ms] | 445.668 µs (33.2%) |
iast | 1.511 ms [1.487 ms, 1.535 ms] | 166.849 µs (12.4%) |
profiling | 1.517 ms [1.493 ms, 1.542 ms] | 173.172 µs (12.9%) |
tracing | 1.492 ms [1.468 ms, 1.516 ms] | 147.987 µs (11.0%) |
Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.31.0-SNAPSHOT~083a28ed9e, baseline=1.31.0-SNAPSHOT~aeb7876f22
dateFormat X
axisFormat %s
section baseline
no_agent (364.106 µs) : 344, 385
. : milestone, 364,
iast (476.086 µs) : 455, 497
. : milestone, 476,
iast_FULL (537.417 µs) : 516, 558
. : milestone, 537,
iast_GLOBAL (501.0 µs) : 479, 523
. : milestone, 501,
iast_HARDCODED_SECRET_DISABLED (474.872 µs) : 454, 496
. : milestone, 475,
iast_INACTIVE (447.171 µs) : 427, 468
. : milestone, 447,
iast_TELEMETRY_OFF (475.806 µs) : 455, 497
. : milestone, 476,
tracing (450.378 µs) : 429, 472
. : milestone, 450,
section candidate
no_agent (365.957 µs) : 346, 386
. : milestone, 366,
iast (487.936 µs) : 467, 509
. : milestone, 488,
iast_FULL (539.097 µs) : 518, 560
. : milestone, 539,
iast_GLOBAL (501.199 µs) : 480, 522
. : milestone, 501,
iast_HARDCODED_SECRET_DISABLED (468.84 µs) : 448, 489
. : milestone, 469,
iast_INACTIVE (448.106 µs) : 428, 468
. : milestone, 448,
iast_TELEMETRY_OFF (469.89 µs) : 449, 490
. : milestone, 470,
tracing (442.496 µs) : 422, 463
. : milestone, 442,
- baseline results
Variant | Request duration [CI 0.99] | Δ no_agent |
---|---|---|
no_agent | 364.106 µs [343.524 µs, 384.689 µs] | - |
iast | 476.086 µs [455.251 µs, 496.922 µs] | 111.98 µs (30.8%) |
iast_FULL | 537.417 µs [516.41 µs, 558.425 µs] | 173.311 µs (47.6%) |
iast_GLOBAL | 501.0 µs [479.357 µs, 522.643 µs] | 136.893 µs (37.6%) |
iast_HARDCODED_SECRET_DISABLED | 474.872 µs [453.972 µs, 495.772 µs] | 110.765 µs (30.4%) |
iast_INACTIVE | 447.171 µs [426.839 µs, 467.503 µs] | 83.065 µs (22.8%) |
iast_TELEMETRY_OFF | 475.806 µs [454.826 µs, 496.785 µs] | 111.699 µs (30.7%) |
tracing | 450.378 µs [428.846 µs, 471.909 µs] | 86.271 µs (23.7%) |
- candidate results
Variant | Request duration [CI 0.99] | Δ no_agent |
---|---|---|
no_agent | 365.957 µs [345.878 µs, 386.036 µs] | - |
iast | 487.936 µs [467.259 µs, 508.614 µs] | 121.979 µs (33.3%) |
iast_FULL | 539.097 µs [518.411 µs, 559.783 µs] | 173.14 µs (47.3%) |
iast_GLOBAL | 501.199 µs [480.155 µs, 522.243 µs] | 135.242 µs (37.0%) |
iast_HARDCODED_SECRET_DISABLED | 468.84 µs [448.482 µs, 489.197 µs] | 102.883 µs (28.1%) |
iast_INACTIVE | 448.106 µs [427.768 µs, 468.444 µs] | 82.149 µs (22.4%) |
iast_TELEMETRY_OFF | 469.89 µs [449.473 µs, 490.308 µs] | 103.933 µs (28.4%) |
tracing | 442.496 µs [422.372 µs, 462.621 µs] | 76.539 µs (20.9%) |