Skip to content

Update ddprof to 0.71.0#5719

Merged
jbachorik merged 1 commit into
masterfrom
jb/jmethodid_cache_1
Aug 28, 2023
Merged

Update ddprof to 0.71.0#5719
jbachorik merged 1 commit into
masterfrom
jb/jmethodid_cache_1

Conversation

@jbachorik

@jbachorik jbachorik commented Aug 15, 2023

Copy link
Copy Markdown
Contributor

What Does This Do

Updates the ddprof dependendcy.
The new version dropped the jmethodid cache because it is not really possible to implement it in a performant way.
Instead of cache a 'deep' jmethodId check function was added which seems to be preventing all the (so far) observed crashes related to jmethodIDs.

Motivation

See https://github.com/DataDog/java-profiler/releases/tag/v_0.71.0

Additional Notes

@jbachorik jbachorik added the tag: do not merge Do not merge changes label Aug 15, 2023
@jbachorik
jbachorik force-pushed the jb/jmethodid_cache_1 branch from 5e89bd6 to acb2750 Compare August 15, 2023 15:03
@pr-commenter

pr-commenter Bot commented Aug 15, 2023

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

Baseline Candidate
commit 1.20.0-SNAPSHOT~7ab70d94a1 1.20.0-SNAPSHOT~2e5e1dbef8
config baseline candidate
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
module Agent Agent
parent None None
variant appsec appsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 62 cases.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.20.0-SNAPSHOT~2e5e1dbef8, baseline=1.20.0-SNAPSHOT~7ab70d94a1

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (999.295 ms) : 0, 999295
Total [baseline] (8.727 s) : 0, 8726813
Agent [candidate] (989.058 ms) : 0, 989058
Total [candidate] (8.643 s) : 0, 8642863
section appsec
Agent [baseline] (1.076 s) : 0, 1075989
Total [baseline] (8.726 s) : 0, 8725903
Agent [candidate] (1.092 s) : 0, 1092468
Total [candidate] (8.815 s) : 0, 8815074
section iast
Agent [baseline] (1.094 s) : 0, 1094296
Total [baseline] (9.191 s) : 0, 9190922
Agent [candidate] (1.102 s) : 0, 1102043
Total [candidate] (9.218 s) : 0, 9218430
section profiling
Agent [baseline] (1.158 s) : 0, 1158258
Total [baseline] (8.862 s) : 0, 8861928
Agent [candidate] (1.16 s) : 0, 1159710
Total [candidate] (8.883 s) : 0, 8882658
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 999.295 ms -
Agent appsec 1.076 s 76.694 ms (7.7%)
Agent iast 1.094 s 95.001 ms (9.5%)
Agent profiling 1.158 s 158.963 ms (15.9%)
Total tracing 8.727 s -
Total appsec 8.726 s -909.838 µs (-0.0%)
Total iast 9.191 s 464.109 ms (5.3%)
Total profiling 8.862 s 135.115 ms (1.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 989.058 ms -
Agent appsec 1.092 s 103.41 ms (10.5%)
Agent iast 1.102 s 112.985 ms (11.4%)
Agent profiling 1.16 s 170.652 ms (17.3%)
Total tracing 8.643 s -
Total appsec 8.815 s 172.211 ms (2.0%)
Total iast 9.218 s 575.567 ms (6.7%)
Total profiling 8.883 s 239.796 ms (2.8%)
gantt
    title insecure-bank - break down per module: candidate=1.20.0-SNAPSHOT~2e5e1dbef8, baseline=1.20.0-SNAPSHOT~7ab70d94a1

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (620.721 ms) : 0, 620721
BytebuddyAgent [candidate] (613.308 ms) : 0, 613308
GlobalTracer [baseline] (286.793 ms) : 0, 286793
GlobalTracer [candidate] (284.627 ms) : 0, 284627
AppSec [baseline] (50.307 ms) : 0, 50307
AppSec [candidate] (50.201 ms) : 0, 50201
Remote Config [baseline] (662.444 µs) : 0, 662
Remote Config [candidate] (664.673 µs) : 0, 665
Telemetry [baseline] (5.987 ms) : 0, 5987
Telemetry [candidate] (6.011 ms) : 0, 6011
section appsec
BytebuddyAgent [baseline] (614.903 ms) : 0, 614903
BytebuddyAgent [candidate] (624.023 ms) : 0, 624023
GlobalTracer [baseline] (285.168 ms) : 0, 285168
GlobalTracer [candidate] (290.89 ms) : 0, 290890
AppSec [baseline] (134.953 ms) : 0, 134953
AppSec [candidate] (135.953 ms) : 0, 135953
Remote Config [baseline] (717.676 µs) : 0, 718
Remote Config [candidate] (733.479 µs) : 0, 733
Telemetry [baseline] (5.788 ms) : 0, 5788
Telemetry [candidate] (5.868 ms) : 0, 5868
section iast
BytebuddyAgent [baseline] (720.953 ms) : 0, 720953
BytebuddyAgent [candidate] (725.54 ms) : 0, 725540
GlobalTracer [baseline] (271.413 ms) : 0, 271413
GlobalTracer [candidate] (273.479 ms) : 0, 273479
AppSec [baseline] (47.256 ms) : 0, 47256
AppSec [candidate] (47.943 ms) : 0, 47943
Remote Config [baseline] (552.395 µs) : 0, 552
Remote Config [candidate] (559.487 µs) : 0, 559
Telemetry [baseline] (5.774 ms) : 0, 5774
Telemetry [candidate] (5.778 ms) : 0, 5778
IAST [baseline] (13.964 ms) : 0, 13964
IAST [candidate] (14.089 ms) : 0, 14089
section profiling
BytebuddyAgent [baseline] (626.285 ms) : 0, 626285
BytebuddyAgent [candidate] (626.112 ms) : 0, 626112
GlobalTracer [baseline] (347.012 ms) : 0, 347012
GlobalTracer [candidate] (348.655 ms) : 0, 348655
AppSec [baseline] (48.994 ms) : 0, 48994
AppSec [candidate] (48.841 ms) : 0, 48841
Remote Config [baseline] (657.822 µs) : 0, 658
Remote Config [candidate] (644.77 µs) : 0, 645
Telemetry [baseline] (6.019 ms) : 0, 6019
Telemetry [candidate] (5.903 ms) : 0, 5903
ProfilingAgent [baseline] (76.372 ms) : 0, 76372
ProfilingAgent [candidate] (76.65 ms) : 0, 76650
Profiling [baseline] (76.396 ms) : 0, 76396
Profiling [candidate] (76.675 ms) : 0, 76675
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.20.0-SNAPSHOT~2e5e1dbef8, baseline=1.20.0-SNAPSHOT~7ab70d94a1

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (997.822 ms) : 0, 997822
Total [baseline] (9.236 s) : 0, 9235757
Agent [candidate] (991.328 ms) : 0, 991328
Total [candidate] (9.233 s) : 0, 9233421
section appsec
Agent [baseline] (1.074 s) : 0, 1073887
Total [baseline] (9.282 s) : 0, 9282369
Agent [candidate] (1.075 s) : 0, 1074841
Total [candidate] (9.301 s) : 0, 9301285
section iast
Agent [baseline] (1.094 s) : 0, 1094332
Total [baseline] (9.576 s) : 0, 9575878
Agent [candidate] (1.093 s) : 0, 1093273
Total [candidate] (9.437 s) : 0, 9437321
section profiling
Agent [baseline] (1.162 s) : 0, 1161633
Total [baseline] (9.516 s) : 0, 9516490
Agent [candidate] (1.175 s) : 0, 1175304
Total [candidate] (9.458 s) : 0, 9457544
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 997.822 ms -
Agent appsec 1.074 s 76.065 ms (7.6%)
Agent iast 1.094 s 96.51 ms (9.7%)
Agent profiling 1.162 s 163.811 ms (16.4%)
Total tracing 9.236 s -
Total appsec 9.282 s 46.612 ms (0.5%)
Total iast 9.576 s 340.121 ms (3.7%)
Total profiling 9.516 s 280.732 ms (3.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 991.328 ms -
Agent appsec 1.075 s 83.513 ms (8.4%)
Agent iast 1.093 s 101.945 ms (10.3%)
Agent profiling 1.175 s 183.976 ms (18.6%)
Total tracing 9.233 s -
Total appsec 9.301 s 67.863 ms (0.7%)
Total iast 9.437 s 203.899 ms (2.2%)
Total profiling 9.458 s 224.122 ms (2.4%)
gantt
    title petclinic - break down per module: candidate=1.20.0-SNAPSHOT~2e5e1dbef8, baseline=1.20.0-SNAPSHOT~7ab70d94a1

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (618.743 ms) : 0, 618743
BytebuddyAgent [candidate] (614.726 ms) : 0, 614726
GlobalTracer [baseline] (287.343 ms) : 0, 287343
GlobalTracer [candidate] (286.379 ms) : 0, 286379
AppSec [baseline] (50.287 ms) : 0, 50287
AppSec [candidate] (49.286 ms) : 0, 49286
Remote Config [baseline] (668.3 µs) : 0, 668
Remote Config [candidate] (656.879 µs) : 0, 657
Telemetry [baseline] (6.097 ms) : 0, 6097
Telemetry [candidate] (5.958 ms) : 0, 5958
section appsec
BytebuddyAgent [baseline] (613.57 ms) : 0, 613570
BytebuddyAgent [candidate] (613.542 ms) : 0, 613542
GlobalTracer [baseline] (284.59 ms) : 0, 284590
GlobalTracer [candidate] (285.997 ms) : 0, 285997
AppSec [baseline] (134.91 ms) : 0, 134910
AppSec [candidate] (134.527 ms) : 0, 134527
Remote Config [baseline] (724.053 µs) : 0, 724
Remote Config [candidate] (736.965 µs) : 0, 737
Telemetry [baseline] (5.775 ms) : 0, 5775
Telemetry [candidate] (5.759 ms) : 0, 5759
section iast
BytebuddyAgent [baseline] (721.07 ms) : 0, 721070
BytebuddyAgent [candidate] (720.15 ms) : 0, 720150
GlobalTracer [baseline] (271.198 ms) : 0, 271198
GlobalTracer [candidate] (271.258 ms) : 0, 271258
AppSec [baseline] (47.451 ms) : 0, 47451
AppSec [candidate] (47.409 ms) : 0, 47409
Remote Config [baseline] (560.618 µs) : 0, 561
Remote Config [candidate] (538.069 µs) : 0, 538
Telemetry [baseline] (5.76 ms) : 0, 5760
Telemetry [candidate] (5.669 ms) : 0, 5669
IAST [baseline] (13.957 ms) : 0, 13957
IAST [candidate] (13.738 ms) : 0, 13738
section profiling
BytebuddyAgent [baseline] (627.367 ms) : 0, 627367
BytebuddyAgent [candidate] (634.762 ms) : 0, 634762
GlobalTracer [baseline] (347.075 ms) : 0, 347075
GlobalTracer [candidate] (352.673 ms) : 0, 352673
AppSec [baseline] (49.218 ms) : 0, 49218
AppSec [candidate] (49.797 ms) : 0, 49797
Remote Config [baseline] (653.764 µs) : 0, 654
Remote Config [candidate] (659.291 µs) : 0, 659
Telemetry [baseline] (5.985 ms) : 0, 5985
Telemetry [candidate] (6.083 ms) : 0, 6083
ProfilingAgent [baseline] (78.286 ms) : 0, 78286
ProfilingAgent [candidate] (77.686 ms) : 0, 77686
Profiling [baseline] (78.31 ms) : 0, 78310
Profiling [candidate] (77.711 ms) : 0, 77711
Loading

Load

Parameters

Baseline Candidate
commit 1.20.0-SNAPSHOT~7ab70d94a1 1.20.0-SNAPSHOT~2e5e1dbef8
config baseline candidate
end_time 2023-08-25T15:47:49 2023-08-25T16:05:55
start_time 2023-08-25T15:47:32 2023-08-25T16:05:38
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
variant appsec appsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 24 cases.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.20.0-SNAPSHOT~2e5e1dbef8, baseline=1.20.0-SNAPSHOT~7ab70d94a1
    dateFormat X
    axisFormat %s
section baseline
no_agent (363.453 µs) : 343, 384
.   : milestone, 363,
appsec (658.317 µs) : 638, 678
.   : milestone, 658,
iast (456.819 µs) : 436, 478
.   : milestone, 457,
iast_FULL (520.033 µs) : 500, 540
.   : milestone, 520,
iast_INACTIVE (437.216 µs) : 416, 459
.   : milestone, 437,
profiling (433.692 µs) : 412, 455
.   : milestone, 434,
tracing (443.632 µs) : 422, 465
.   : milestone, 444,
section candidate
no_agent (353.367 µs) : 334, 373
.   : milestone, 353,
appsec (666.712 µs) : 646, 687
.   : milestone, 667,
iast (458.167 µs) : 437, 479
.   : milestone, 458,
iast_FULL (512.137 µs) : 492, 533
.   : milestone, 512,
iast_INACTIVE (433.257 µs) : 413, 454
.   : milestone, 433,
profiling (437.366 µs) : 416, 459
.   : milestone, 437,
tracing (433.826 µs) : 413, 455
.   : milestone, 434,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 363.453 µs [343.084 µs, 383.823 µs] -
appsec 658.317 µs [638.199 µs, 678.435 µs] 294.864 µs (81.1%)
iast 456.819 µs [435.559 µs, 478.079 µs] 93.366 µs (25.7%)
iast_FULL 520.033 µs [499.751 µs, 540.316 µs] 156.58 µs (43.1%)
iast_INACTIVE 437.216 µs [415.836 µs, 458.595 µs] 73.762 µs (20.3%)
profiling 433.692 µs [412.212 µs, 455.172 µs] 70.238 µs (19.3%)
tracing 443.632 µs [422.269 µs, 464.995 µs] 80.179 µs (22.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 353.367 µs [333.942 µs, 372.793 µs] -
appsec 666.712 µs [646.046 µs, 687.379 µs] 313.345 µs (88.7%)
iast 458.167 µs [437.237 µs, 479.097 µs] 104.799 µs (29.7%)
iast_FULL 512.137 µs [491.555 µs, 532.718 µs] 158.769 µs (44.9%)
iast_INACTIVE 433.257 µs [412.582 µs, 453.933 µs] 79.89 µs (22.6%)
profiling 437.366 µs [415.852 µs, 458.88 µs] 83.999 µs (23.8%)
tracing 433.826 µs [412.893 µs, 454.76 µs] 80.459 µs (22.8%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.20.0-SNAPSHOT~2e5e1dbef8, baseline=1.20.0-SNAPSHOT~7ab70d94a1
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.34 ms) : 1320, 1359
.   : milestone, 1340,
appsec (1.651 ms) : 1627, 1675
.   : milestone, 1651,
iast (1.441 ms) : 1417, 1465
.   : milestone, 1441,
profiling (1.474 ms) : 1448, 1501
.   : milestone, 1474,
tracing (1.468 ms) : 1444, 1492
.   : milestone, 1468,
section candidate
no_agent (1.359 ms) : 1339, 1378
.   : milestone, 1359,
appsec (1.696 ms) : 1671, 1720
.   : milestone, 1696,
iast (1.455 ms) : 1431, 1479
.   : milestone, 1455,
profiling (1.462 ms) : 1437, 1487
.   : milestone, 1462,
tracing (1.44 ms) : 1417, 1464
.   : milestone, 1440,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.34 ms [1.32 ms, 1.359 ms] -
appsec 1.651 ms [1.627 ms, 1.675 ms] 311.332 µs (23.2%)
iast 1.441 ms [1.417 ms, 1.465 ms] 101.501 µs (7.6%)
profiling 1.474 ms [1.448 ms, 1.501 ms] 134.593 µs (10.0%)
tracing 1.468 ms [1.444 ms, 1.492 ms] 128.665 µs (9.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.359 ms [1.339 ms, 1.378 ms] -
appsec 1.696 ms [1.671 ms, 1.72 ms] 337.061 µs (24.8%)
iast 1.455 ms [1.431 ms, 1.479 ms] 96.459 µs (7.1%)
profiling 1.462 ms [1.437 ms, 1.487 ms] 103.486 µs (7.6%)
tracing 1.44 ms [1.417 ms, 1.464 ms] 81.724 µs (6.0%)

@jbachorik
jbachorik force-pushed the jb/jmethodid_cache_1 branch 5 times, most recently from aa63120 to f769c17 Compare August 23, 2023 10:17
@jbachorik
jbachorik force-pushed the jb/jmethodid_cache_1 branch from 605235f to eae4e17 Compare August 25, 2023 11:35
@jbachorik jbachorik added comp: profiling Profiling and removed tag: do not merge Do not merge changes labels Aug 25, 2023
@jbachorik
jbachorik marked this pull request as ready for review August 25, 2023 11:37
@jbachorik
jbachorik requested review from a team as code owners August 25, 2023 11:37
@jbachorik
jbachorik force-pushed the jb/jmethodid_cache_1 branch 2 times, most recently from c6865bc to f2970b1 Compare August 25, 2023 13:05
@jbachorik jbachorik changed the title WIP Update ddprof to 0.71.0 Aug 25, 2023
@jbachorik
jbachorik force-pushed the jb/jmethodid_cache_1 branch 2 times, most recently from c5af093 to cdd1d5b Compare August 25, 2023 15:15
@jbachorik
jbachorik force-pushed the jb/jmethodid_cache_1 branch from cdd1d5b to 2e5e1db Compare August 25, 2023 15:25
@jbachorik
jbachorik merged commit e2127e1 into master Aug 28, 2023
@jbachorik
jbachorik deleted the jb/jmethodid_cache_1 branch August 28, 2023 08:07
@github-actions github-actions Bot added this to the 1.20.0 milestone Aug 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants