Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JFR stackdepth setting #6335

Merged
merged 1 commit into from
Dec 13, 2023
Merged

JFR stackdepth setting #6335

merged 1 commit into from
Dec 13, 2023

Conversation

jbachorik
Copy link
Contributor

@jbachorik jbachorik commented Dec 8, 2023

What Does This Do

It allows setting both the JFR and Datadog profiler stackdepth value from one place.

Motivation

This is an attempt to consolidate the settings for the profiler stack trace depth limit for both profiling engines.

Additional Notes

The JFR stackdepth can be set only if there is no JFR recording started from command line. The typical usage of the profiler will conform to this.

Jira ticket: PROF-8774

@jbachorik jbachorik added the tag: do not merge Do not merge changes label Dec 8, 2023
@pr-commenter
Copy link

pr-commenter bot commented Dec 8, 2023

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jb/jfr_stackdepth
git_commit_date 1702469793 1702470906
git_commit_sha b0cf14d 260ccc6
release_version 1.26.0-SNAPSHOT~b0cf14ddda 1.26.0-SNAPSHOT~260ccc6ea4
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702473583 1702473583
ci_job_id 388808432 388808432
ci_pipeline_id 25018926 25018926
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 0 performance improvements and 2 performance regressions! Performance is the same for 43 metrics, 9 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:petclinic:profiling:ProfilingAgent worse
[+5.233ms; +8.624ms] or [+5.970%; +9.839%]
94.582ms 87.653ms
scenario:startup:petclinic:profiling:Profiling worse
[+5.233ms; +8.625ms] or [+5.969%; +9.837%]
94.608ms 87.678ms
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.26.0-SNAPSHOT~260ccc6ea4, baseline=1.26.0-SNAPSHOT~b0cf14ddda

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.043 s) : 0, 1043415
Total [baseline] (9.33 s) : 0, 9330320
Agent [candidate] (1.054 s) : 0, 1054205
Total [candidate] (9.494 s) : 0, 9494276
section appsec
Agent [baseline] (1.132 s) : 0, 1131630
Total [baseline] (9.464 s) : 0, 9463741
Agent [candidate] (1.128 s) : 0, 1128396
Total [candidate] (9.423 s) : 0, 9423111
section iast
Agent [baseline] (1.173 s) : 0, 1172664
Total [baseline] (9.587 s) : 0, 9586527
Agent [candidate] (1.168 s) : 0, 1168119
Total [candidate] (9.604 s) : 0, 9604104
section profiling
Agent [baseline] (1.229 s) : 0, 1229157
Total [baseline] (9.584 s) : 0, 9584060
Agent [candidate] (1.244 s) : 0, 1243501
Total [candidate] (9.644 s) : 0, 9643691
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.043 s -
Agent appsec 1.132 s 88.215 ms (8.5%)
Agent iast 1.173 s 129.249 ms (12.4%)
Agent profiling 1.229 s 185.742 ms (17.8%)
Total tracing 9.33 s -
Total appsec 9.464 s 133.421 ms (1.4%)
Total iast 9.587 s 256.207 ms (2.7%)
Total profiling 9.584 s 253.74 ms (2.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent appsec 1.128 s 74.191 ms (7.0%)
Agent iast 1.168 s 113.913 ms (10.8%)
Agent profiling 1.244 s 189.296 ms (18.0%)
Total tracing 9.494 s -
Total appsec 9.423 s -71.165 ms (-0.7%)
Total iast 9.604 s 109.828 ms (1.2%)
Total profiling 9.644 s 149.415 ms (1.6%)
gantt
    title petclinic - break down per module: candidate=1.26.0-SNAPSHOT~260ccc6ea4, baseline=1.26.0-SNAPSHOT~b0cf14ddda

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (645.93 ms) : 0, 645930
BytebuddyAgent [candidate] (653.179 ms) : 0, 653179
GlobalTracer [baseline] (306.231 ms) : 0, 306231
GlobalTracer [candidate] (309.84 ms) : 0, 309840
AppSec [baseline] (49.091 ms) : 0, 49091
AppSec [candidate] (48.819 ms) : 0, 48819
Remote Config [baseline] (667.143 µs) : 0, 667
Remote Config [candidate] (677.734 µs) : 0, 678
Telemetry [baseline] (7.157 ms) : 0, 7157
Telemetry [candidate] (7.182 ms) : 0, 7182
section appsec
BytebuddyAgent [baseline] (645.17 ms) : 0, 645170
BytebuddyAgent [candidate] (644.242 ms) : 0, 644242
GlobalTracer [baseline] (307.724 ms) : 0, 307724
GlobalTracer [candidate] (306.493 ms) : 0, 306493
AppSec [baseline] (137.047 ms) : 0, 137047
AppSec [candidate] (136.113 ms) : 0, 136113
Remote Config [baseline] (652.473 µs) : 0, 652
Remote Config [candidate] (640.77 µs) : 0, 641
Telemetry [baseline] (6.854 ms) : 0, 6854
Telemetry [candidate] (6.778 ms) : 0, 6778
section iast
BytebuddyAgent [baseline] (775.944 ms) : 0, 775944
BytebuddyAgent [candidate] (771.399 ms) : 0, 771399
GlobalTracer [baseline] (286.885 ms) : 0, 286885
GlobalTracer [candidate] (286.478 ms) : 0, 286478
AppSec [baseline] (47.032 ms) : 0, 47032
AppSec [candidate] (46.684 ms) : 0, 46684
Remote Config [baseline] (606.208 µs) : 0, 606
Remote Config [candidate] (622.257 µs) : 0, 622
Telemetry [baseline] (7.946 ms) : 0, 7946
Telemetry [candidate] (6.605 ms) : 0, 6605
IAST [baseline] (19.523 ms) : 0, 19523
IAST [candidate] (21.879 ms) : 0, 21879
section profiling
BytebuddyAgent [baseline] (654.632 ms) : 0, 654632
BytebuddyAgent [candidate] (659.205 ms) : 0, 659205
GlobalTracer [baseline] (376.439 ms) : 0, 376439
GlobalTracer [candidate] (378.632 ms) : 0, 378632
AppSec [baseline] (48.488 ms) : 0, 48488
AppSec [candidate] (48.504 ms) : 0, 48504
Remote Config [baseline] (663.097 µs) : 0, 663
Remote Config [candidate] (664.742 µs) : 0, 665
Telemetry [baseline] (7.319 ms) : 0, 7319
Telemetry [candidate] (7.405 ms) : 0, 7405
ProfilingAgent [baseline] (87.653 ms) : 0, 87653
ProfilingAgent [candidate] (94.582 ms) : 0, 94582
Profiling [baseline] (87.678 ms) : 0, 87678
Profiling [candidate] (94.608 ms) : 0, 94608
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.26.0-SNAPSHOT~260ccc6ea4, baseline=1.26.0-SNAPSHOT~b0cf14ddda

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.041 s) : 0, 1040664
Total [baseline] (8.709 s) : 0, 8708954
Agent [candidate] (1.043 s) : 0, 1042773
Total [candidate] (8.689 s) : 0, 8689249
section iast
Agent [baseline] (1.161 s) : 0, 1160808
Total [baseline] (9.29 s) : 0, 9290427
Agent [candidate] (1.161 s) : 0, 1161186
Total [candidate] (9.25 s) : 0, 9249619
section iast_TELEMETRY_OFF
Agent [baseline] (1.159 s) : 0, 1159260
Total [baseline] (9.293 s) : 0, 9293018
Agent [candidate] (1.153 s) : 0, 1153378
Total [candidate] (9.224 s) : 0, 9224160
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.041 s -
Agent iast 1.161 s 120.144 ms (11.5%)
Agent iast_TELEMETRY_OFF 1.159 s 118.596 ms (11.4%)
Total tracing 8.709 s -
Total iast 9.29 s 581.473 ms (6.7%)
Total iast_TELEMETRY_OFF 9.293 s 584.064 ms (6.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.043 s -
Agent iast 1.161 s 118.413 ms (11.4%)
Agent iast_TELEMETRY_OFF 1.153 s 110.605 ms (10.6%)
Total tracing 8.689 s -
Total iast 9.25 s 560.37 ms (6.4%)
Total iast_TELEMETRY_OFF 9.224 s 534.911 ms (6.2%)
gantt
    title insecure-bank - break down per module: candidate=1.26.0-SNAPSHOT~260ccc6ea4, baseline=1.26.0-SNAPSHOT~b0cf14ddda

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (644.158 ms) : 0, 644158
BytebuddyAgent [candidate] (645.286 ms) : 0, 645286
GlobalTracer [baseline] (306.086 ms) : 0, 306086
GlobalTracer [candidate] (306.993 ms) : 0, 306993
AppSec [baseline] (48.437 ms) : 0, 48437
AppSec [candidate] (48.301 ms) : 0, 48301
Remote Config [baseline] (666.775 µs) : 0, 667
Remote Config [candidate] (672.862 µs) : 0, 673
Telemetry [baseline] (7.149 ms) : 0, 7149
Telemetry [candidate] (7.193 ms) : 0, 7193
section iast
BytebuddyAgent [baseline] (765.952 ms) : 0, 765952
BytebuddyAgent [candidate] (765.988 ms) : 0, 765988
GlobalTracer [baseline] (285.109 ms) : 0, 285109
GlobalTracer [candidate] (285.329 ms) : 0, 285329
AppSec [baseline] (46.974 ms) : 0, 46974
AppSec [candidate] (46.25 ms) : 0, 46250
IAST [baseline] (20.346 ms) : 0, 20346
IAST [candidate] (21.251 ms) : 0, 21251
Remote Config [baseline] (675.091 µs) : 0, 675
Remote Config [candidate] (619.689 µs) : 0, 620
Telemetry [baseline] (7.345 ms) : 0, 7345
Telemetry [candidate] (7.35 ms) : 0, 7350
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (762.921 ms) : 0, 762921
BytebuddyAgent [candidate] (759.016 ms) : 0, 759016
GlobalTracer [baseline] (286.934 ms) : 0, 286934
GlobalTracer [candidate] (285.658 ms) : 0, 285658
AppSec [baseline] (47.657 ms) : 0, 47657
AppSec [candidate] (47.531 ms) : 0, 47531
IAST [baseline] (17.053 ms) : 0, 17053
IAST [candidate] (18.319 ms) : 0, 18319
Remote Config [baseline] (1.295 ms) : 0, 1295
Remote Config [candidate] (591.115 µs) : 0, 591
Telemetry [baseline] (8.932 ms) : 0, 8932
Telemetry [candidate] (7.974 ms) : 0, 7974
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2023-12-13T12:59:00 2023-12-13T13:15:33
git_branch master jb/jfr_stackdepth
git_commit_date 1702469793 1702470906
git_commit_sha b0cf14d 260ccc6
release_version 1.26.0-SNAPSHOT~b0cf14ddda 1.26.0-SNAPSHOT~260ccc6ea4
start_time 2023-12-13T12:58:47 2023-12-13T13:15:20
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702473583 1702473583
ci_job_id 388808432 388808432
ci_pipeline_id 25018926 25018926
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 9 metrics, 13 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~260ccc6ea4, baseline=1.26.0-SNAPSHOT~b0cf14ddda
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.357 ms) : 1337, 1376
.   : milestone, 1357,
appsec (1.75 ms) : 1723, 1776
.   : milestone, 1750,
iast (1.502 ms) : 1477, 1527
.   : milestone, 1502,
profiling (1.545 ms) : 1519, 1571
.   : milestone, 1545,
tracing (1.473 ms) : 1449, 1498
.   : milestone, 1473,
section candidate
no_agent (1.337 ms) : 1318, 1356
.   : milestone, 1337,
appsec (1.745 ms) : 1720, 1770
.   : milestone, 1745,
iast (1.495 ms) : 1470, 1519
.   : milestone, 1495,
profiling (1.499 ms) : 1474, 1524
.   : milestone, 1499,
tracing (1.503 ms) : 1478, 1529
.   : milestone, 1503,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.357 ms [1.337 ms, 1.376 ms] -
appsec 1.75 ms [1.723 ms, 1.776 ms] 392.733 µs (28.9%)
iast 1.502 ms [1.477 ms, 1.527 ms] 145.19 µs (10.7%)
profiling 1.545 ms [1.519 ms, 1.571 ms] 188.008 µs (13.9%)
tracing 1.473 ms [1.449 ms, 1.498 ms] 116.531 µs (8.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.337 ms [1.318 ms, 1.356 ms] -
appsec 1.745 ms [1.72 ms, 1.77 ms] 407.8 µs (30.5%)
iast 1.495 ms [1.47 ms, 1.519 ms] 157.553 µs (11.8%)
profiling 1.499 ms [1.474 ms, 1.524 ms] 161.888 µs (12.1%)
tracing 1.503 ms [1.478 ms, 1.529 ms] 166.391 µs (12.4%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~260ccc6ea4, baseline=1.26.0-SNAPSHOT~b0cf14ddda
    dateFormat X
    axisFormat %s
section baseline
no_agent (363.542 µs) : 343, 384
.   : milestone, 364,
iast (464.525 µs) : 444, 485
.   : milestone, 465,
iast_FULL (532.721 µs) : 512, 553
.   : milestone, 533,
iast_INACTIVE (438.948 µs) : 418, 460
.   : milestone, 439,
iast_TELEMETRY_OFF (459.687 µs) : 439, 480
.   : milestone, 460,
tracing (445.604 µs) : 425, 466
.   : milestone, 446,
section candidate
no_agent (362.848 µs) : 342, 384
.   : milestone, 363,
iast (465.059 µs) : 445, 485
.   : milestone, 465,
iast_FULL (526.249 µs) : 506, 547
.   : milestone, 526,
iast_INACTIVE (435.421 µs) : 415, 456
.   : milestone, 435,
iast_TELEMETRY_OFF (462.895 µs) : 442, 483
.   : milestone, 463,
tracing (438.148 µs) : 417, 459
.   : milestone, 438,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 363.542 µs [343.443 µs, 383.641 µs] -
iast 464.525 µs [443.658 µs, 485.392 µs] 100.983 µs (27.8%)
iast_FULL 532.721 µs [512.218 µs, 553.224 µs] 169.179 µs (46.5%)
iast_INACTIVE 438.948 µs [418.056 µs, 459.841 µs] 75.406 µs (20.7%)
iast_TELEMETRY_OFF 459.687 µs [439.289 µs, 480.085 µs] 96.145 µs (26.4%)
tracing 445.604 µs [425.412 µs, 465.796 µs] 82.062 µs (22.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 362.848 µs [342.113 µs, 383.582 µs] -
iast 465.059 µs [444.688 µs, 485.43 µs] 102.212 µs (28.2%)
iast_FULL 526.249 µs [505.959 µs, 546.54 µs] 163.402 µs (45.0%)
iast_INACTIVE 435.421 µs [415.163 µs, 455.679 µs] 72.573 µs (20.0%)
iast_TELEMETRY_OFF 462.895 µs [442.36 µs, 483.43 µs] 100.048 µs (27.6%)
tracing 438.148 µs [417.483 µs, 458.813 µs] 75.301 µs (20.8%)

@DataDog DataDog deleted a comment from github-actions bot Dec 11, 2023
@jbachorik jbachorik force-pushed the jb/jfr_stackdepth branch 4 times, most recently from 5b48979 to 22b8aeb Compare December 11, 2023 15:52
@jbachorik jbachorik removed the tag: do not merge Do not merge changes label Dec 11, 2023
@jbachorik jbachorik changed the title [WIP] JFR stackdepth setting JFR stackdepth setting Dec 11, 2023
@jbachorik jbachorik marked this pull request as ready for review December 11, 2023 16:12
@jbachorik jbachorik requested review from a team as code owners December 11, 2023 16:12
@jbachorik jbachorik self-assigned this Dec 11, 2023
@jbachorik jbachorik merged commit 541bf19 into master Dec 13, 2023
10 of 11 checks passed
@jbachorik jbachorik deleted the jb/jfr_stackdepth branch December 13, 2023 14:32
@github-actions github-actions bot added this to the 1.26.0 milestone Dec 13, 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.

3 participants