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

Enable TimelineEvent in GraalVM native image #6368

Merged
merged 2 commits into from
Dec 15, 2023
Merged

Conversation

jbachorik
Copy link
Contributor

@jbachorik jbachorik commented Dec 14, 2023

What Does This Do

It enables TimelineEvent for native image

Motivation

Providing code hotspots view for native image based apps

Additional Notes

Jira ticket: PROF-8742

@pr-commenter
Copy link

pr-commenter bot commented Dec 14, 2023

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jb/graal_jfr_context_
git_commit_date 1702637466 1702638885
git_commit_sha 31eeb71 24e618a
release_version 1.26.0-SNAPSHOT~31eeb71a9f 1.26.0-SNAPSHOT~24e618af4a
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702641536 1702641536
ci_job_id 390658331 390658331
ci_pipeline_id 25148925 25148925
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 0 performance regressions! Performance is the same for 48 metrics, 6 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.26.0-SNAPSHOT~24e618af4a, baseline=1.26.0-SNAPSHOT~31eeb71a9f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1046813
Total [baseline] (9.374 s) : 0, 9374376
Agent [candidate] (1.048 s) : 0, 1048345
Total [candidate] (9.346 s) : 0, 9345609
section appsec
Agent [baseline] (1.144 s) : 0, 1143527
Total [baseline] (9.432 s) : 0, 9431604
Agent [candidate] (1.148 s) : 0, 1148170
Total [candidate] (9.501 s) : 0, 9501277
section iast
Agent [baseline] (1.169 s) : 0, 1168839
Total [baseline] (9.624 s) : 0, 9624442
Agent [candidate] (1.167 s) : 0, 1167051
Total [candidate] (9.606 s) : 0, 9605560
section profiling
Agent [baseline] (1.253 s) : 0, 1252981
Total [baseline] (9.635 s) : 0, 9635386
Agent [candidate] (1.242 s) : 0, 1242397
Total [candidate] (9.611 s) : 0, 9611400
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent appsec 1.144 s 96.714 ms (9.2%)
Agent iast 1.169 s 122.026 ms (11.7%)
Agent profiling 1.253 s 206.169 ms (19.7%)
Total tracing 9.374 s -
Total appsec 9.432 s 57.228 ms (0.6%)
Total iast 9.624 s 250.066 ms (2.7%)
Total profiling 9.635 s 261.01 ms (2.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.048 s -
Agent appsec 1.148 s 99.825 ms (9.5%)
Agent iast 1.167 s 118.707 ms (11.3%)
Agent profiling 1.242 s 194.053 ms (18.5%)
Total tracing 9.346 s -
Total appsec 9.501 s 155.667 ms (1.7%)
Total iast 9.606 s 259.95 ms (2.8%)
Total profiling 9.611 s 265.791 ms (2.8%)
gantt
    title petclinic - break down per module: candidate=1.26.0-SNAPSHOT~24e618af4a, baseline=1.26.0-SNAPSHOT~31eeb71a9f

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (647.168 ms) : 0, 647168
BytebuddyAgent [candidate] (647.903 ms) : 0, 647903
GlobalTracer [baseline] (305.92 ms) : 0, 305920
GlobalTracer [candidate] (307.049 ms) : 0, 307049
AppSec [baseline] (51.651 ms) : 0, 51651
AppSec [candidate] (51.261 ms) : 0, 51261
Remote Config [baseline] (672.829 µs) : 0, 673
Remote Config [candidate] (673.226 µs) : 0, 673
Telemetry [baseline] (7.206 ms) : 0, 7206
Telemetry [candidate] (7.213 ms) : 0, 7213
section appsec
BytebuddyAgent [baseline] (647.016 ms) : 0, 647016
BytebuddyAgent [candidate] (648.234 ms) : 0, 648234
GlobalTracer [baseline] (305.655 ms) : 0, 305655
GlobalTracer [candidate] (307.5 ms) : 0, 307500
AppSec [baseline] (149.227 ms) : 0, 149227
AppSec [candidate] (149.603 ms) : 0, 149603
Remote Config [baseline] (646.045 µs) : 0, 646
Remote Config [candidate] (644.925 µs) : 0, 645
Telemetry [baseline] (6.83 ms) : 0, 6830
Telemetry [candidate] (8.059 ms) : 0, 8059
section iast
BytebuddyAgent [baseline] (772.921 ms) : 0, 772921
BytebuddyAgent [candidate] (769.576 ms) : 0, 769576
GlobalTracer [baseline] (284.908 ms) : 0, 284908
GlobalTracer [candidate] (286.029 ms) : 0, 286029
AppSec [baseline] (48.845 ms) : 0, 48845
AppSec [candidate] (49.534 ms) : 0, 49534
Remote Config [baseline] (612.406 µs) : 0, 612
Remote Config [candidate] (606.255 µs) : 0, 606
Telemetry [baseline] (6.569 ms) : 0, 6569
Telemetry [candidate] (6.578 ms) : 0, 6578
IAST [baseline] (20.435 ms) : 0, 20435
IAST [candidate] (20.388 ms) : 0, 20388
section profiling
BytebuddyAgent [baseline] (663.273 ms) : 0, 663273
BytebuddyAgent [candidate] (658.038 ms) : 0, 658038
GlobalTracer [baseline] (379.999 ms) : 0, 379999
GlobalTracer [candidate] (376.482 ms) : 0, 376482
AppSec [baseline] (51.681 ms) : 0, 51681
AppSec [candidate] (51.255 ms) : 0, 51255
Remote Config [baseline] (671.263 µs) : 0, 671
Remote Config [candidate] (660.292 µs) : 0, 660
Telemetry [baseline] (7.556 ms) : 0, 7556
Telemetry [candidate] (7.507 ms) : 0, 7507
ProfilingAgent [baseline] (95.161 ms) : 0, 95161
ProfilingAgent [candidate] (94.504 ms) : 0, 94504
Profiling [baseline] (95.186 ms) : 0, 95186
Profiling [candidate] (94.529 ms) : 0, 94529
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.26.0-SNAPSHOT~24e618af4a, baseline=1.26.0-SNAPSHOT~31eeb71a9f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.049 s) : 0, 1048749
Total [baseline] (8.727 s) : 0, 8726635
Agent [candidate] (1.048 s) : 0, 1048184
Total [candidate] (8.719 s) : 0, 8719348
section iast
Agent [baseline] (1.165 s) : 0, 1165023
Total [baseline] (9.275 s) : 0, 9274657
Agent [candidate] (1.175 s) : 0, 1175276
Total [candidate] (9.297 s) : 0, 9297168
section iast_TELEMETRY_OFF
Agent [baseline] (1.161 s) : 0, 1160991
Total [baseline] (9.266 s) : 0, 9266485
Agent [candidate] (1.16 s) : 0, 1159957
Total [candidate] (9.288 s) : 0, 9288145
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.049 s -
Agent iast 1.165 s 116.274 ms (11.1%)
Agent iast_TELEMETRY_OFF 1.161 s 112.241 ms (10.7%)
Total tracing 8.727 s -
Total iast 9.275 s 548.022 ms (6.3%)
Total iast_TELEMETRY_OFF 9.266 s 539.85 ms (6.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.048 s -
Agent iast 1.175 s 127.092 ms (12.1%)
Agent iast_TELEMETRY_OFF 1.16 s 111.773 ms (10.7%)
Total tracing 8.719 s -
Total iast 9.297 s 577.82 ms (6.6%)
Total iast_TELEMETRY_OFF 9.288 s 568.797 ms (6.5%)
gantt
    title insecure-bank - break down per module: candidate=1.26.0-SNAPSHOT~24e618af4a, baseline=1.26.0-SNAPSHOT~31eeb71a9f

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (648.443 ms) : 0, 648443
BytebuddyAgent [candidate] (647.691 ms) : 0, 647691
GlobalTracer [baseline] (307.007 ms) : 0, 307007
GlobalTracer [candidate] (307.244 ms) : 0, 307244
AppSec [baseline] (51.044 ms) : 0, 51044
AppSec [candidate] (51.2 ms) : 0, 51200
Remote Config [baseline] (676.019 µs) : 0, 676
Remote Config [candidate] (668.306 µs) : 0, 668
Telemetry [baseline] (7.282 ms) : 0, 7282
Telemetry [candidate] (7.199 ms) : 0, 7199
section iast
BytebuddyAgent [baseline] (767.718 ms) : 0, 767718
BytebuddyAgent [candidate] (774.716 ms) : 0, 774716
GlobalTracer [baseline] (284.575 ms) : 0, 284575
GlobalTracer [candidate] (287.671 ms) : 0, 287671
AppSec [baseline] (49.13 ms) : 0, 49130
AppSec [candidate] (49.533 ms) : 0, 49533
IAST [baseline] (22.209 ms) : 0, 22209
IAST [candidate] (20.871 ms) : 0, 20871
Remote Config [baseline] (626.079 µs) : 0, 626
Remote Config [candidate] (618.362 µs) : 0, 618
Telemetry [baseline] (6.489 ms) : 0, 6489
Telemetry [candidate] (7.339 ms) : 0, 7339
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (762.597 ms) : 0, 762597
BytebuddyAgent [candidate] (761.854 ms) : 0, 761854
GlobalTracer [baseline] (287.398 ms) : 0, 287398
GlobalTracer [candidate] (285.943 ms) : 0, 285943
AppSec [baseline] (49.915 ms) : 0, 49915
AppSec [candidate] (49.698 ms) : 0, 49698
IAST [baseline] (18.791 ms) : 0, 18791
IAST [candidate] (20.93 ms) : 0, 20930
Remote Config [baseline] (627.322 µs) : 0, 627
Remote Config [candidate] (619.841 µs) : 0, 620
Telemetry [baseline] (7.429 ms) : 0, 7429
Telemetry [candidate] (6.628 ms) : 0, 6628
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2023-12-15T11:38:00 2023-12-15T11:54:42
git_branch master jb/graal_jfr_context_
git_commit_date 1702637466 1702638885
git_commit_sha 31eeb71 24e618a
release_version 1.26.0-SNAPSHOT~31eeb71a9f 1.26.0-SNAPSHOT~24e618af4a
start_time 2023-12-15T11:37:47 2023-12-15T11:54:29
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702641536 1702641536
ci_job_id 390658331 390658331
ci_pipeline_id 25148925 25148925
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~24e618af4a, baseline=1.26.0-SNAPSHOT~31eeb71a9f
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.361 ms) : 1342, 1380
.   : milestone, 1361,
appsec (1.745 ms) : 1720, 1771
.   : milestone, 1745,
iast (1.532 ms) : 1507, 1556
.   : milestone, 1532,
profiling (1.517 ms) : 1492, 1542
.   : milestone, 1517,
tracing (1.515 ms) : 1490, 1539
.   : milestone, 1515,
section candidate
no_agent (1.373 ms) : 1353, 1392
.   : milestone, 1373,
appsec (1.791 ms) : 1765, 1816
.   : milestone, 1791,
iast (1.518 ms) : 1494, 1543
.   : milestone, 1518,
profiling (1.514 ms) : 1489, 1540
.   : milestone, 1514,
tracing (1.503 ms) : 1478, 1528
.   : milestone, 1503,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.361 ms [1.342 ms, 1.38 ms] -
appsec 1.745 ms [1.72 ms, 1.771 ms] 384.103 µs (28.2%)
iast 1.532 ms [1.507 ms, 1.556 ms] 170.628 µs (12.5%)
profiling 1.517 ms [1.492 ms, 1.542 ms] 156.112 µs (11.5%)
tracing 1.515 ms [1.49 ms, 1.539 ms] 153.285 µs (11.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.373 ms [1.353 ms, 1.392 ms] -
appsec 1.791 ms [1.765 ms, 1.816 ms] 417.864 µs (30.4%)
iast 1.518 ms [1.494 ms, 1.543 ms] 145.44 µs (10.6%)
profiling 1.514 ms [1.489 ms, 1.54 ms] 141.691 µs (10.3%)
tracing 1.503 ms [1.478 ms, 1.528 ms] 130.704 µs (9.5%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~24e618af4a, baseline=1.26.0-SNAPSHOT~31eeb71a9f
    dateFormat X
    axisFormat %s
section baseline
no_agent (366.888 µs) : 347, 387
.   : milestone, 367,
iast (482.157 µs) : 461, 503
.   : milestone, 482,
iast_FULL (538.242 µs) : 518, 559
.   : milestone, 538,
iast_INACTIVE (446.749 µs) : 426, 468
.   : milestone, 447,
iast_TELEMETRY_OFF (469.77 µs) : 449, 490
.   : milestone, 470,
tracing (449.77 µs) : 429, 471
.   : milestone, 450,
section candidate
no_agent (372.393 µs) : 351, 393
.   : milestone, 372,
iast (474.019 µs) : 454, 494
.   : milestone, 474,
iast_FULL (540.007 µs) : 520, 560
.   : milestone, 540,
iast_INACTIVE (451.144 µs) : 430, 473
.   : milestone, 451,
iast_TELEMETRY_OFF (471.884 µs) : 452, 492
.   : milestone, 472,
tracing (448.011 µs) : 427, 469
.   : milestone, 448,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 366.888 µs [347.224 µs, 386.552 µs] -
iast 482.157 µs [460.963 µs, 503.352 µs] 115.269 µs (31.4%)
iast_FULL 538.242 µs [517.856 µs, 558.629 µs] 171.354 µs (46.7%)
iast_INACTIVE 446.749 µs [425.79 µs, 467.708 µs] 79.861 µs (21.8%)
iast_TELEMETRY_OFF 469.77 µs [449.396 µs, 490.145 µs] 102.882 µs (28.0%)
tracing 449.77 µs [428.999 µs, 470.54 µs] 82.881 µs (22.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 372.393 µs [351.37 µs, 393.416 µs] -
iast 474.019 µs [453.635 µs, 494.402 µs] 101.626 µs (27.3%)
iast_FULL 540.007 µs [519.515 µs, 560.499 µs] 167.615 µs (45.0%)
iast_INACTIVE 451.144 µs [429.766 µs, 472.523 µs] 78.752 µs (21.1%)
iast_TELEMETRY_OFF 471.884 µs [451.529 µs, 492.24 µs] 99.492 µs (26.7%)
tracing 448.011 µs [427.222 µs, 468.8 µs] 75.619 µs (20.3%)

@jbachorik jbachorik marked this pull request as ready for review December 15, 2023 11:19
@jbachorik jbachorik requested review from a team as code owners December 15, 2023 11:19
@jbachorik jbachorik merged commit cc8bd9a into master Dec 15, 2023
73 checks passed
@jbachorik jbachorik deleted the jb/graal_jfr_context_ branch December 15, 2023 12:10
@github-actions github-actions bot added this to the 1.26.0 milestone Dec 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: native-image GraalVM native-image comp: profiling Profiling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants