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

add resource name to profile samples #6113

Merged
merged 1 commit into from
Oct 30, 2023
Merged

Conversation

richardstartin
Copy link
Member

@richardstartin richardstartin commented Oct 30, 2023

What Does This Do

Adds APM resource name labels to profile samples, which allows flamegraphs to be filtered by resource name. This is enabled by default but can be disabled with -Ddd.profiling.context.attributes.resource.name.enabled=false.

Motivation

Additional Notes

Jira ticket: PROF-8531

@richardstartin richardstartin marked this pull request as ready for review October 30, 2023 11:05
@richardstartin richardstartin requested review from a team as code owners October 30, 2023 11:05
@pr-commenter
Copy link

pr-commenter bot commented Oct 30, 2023

Benchmarks

Startup

Parameters

Baseline Candidate
commit 1.23.0-SNAPSHOT~cbff199155 1.22.0-SNAPSHOT~b3d399b8ac
config baseline candidate
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
module Agent Agent
parent None None
variant iast iast

Summary

Found 1 performance improvements and 1 performance regressions! Performance is the same for 52 cases.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:insecure-bank:iast:IAST worse
[+1.018ms; +6.566ms] or [+6.821%; +44.016%]
18.709ms 14.917ms
scenario:insecure-bank:tracing:Remote Config better
[-58.207µs; -22.519µs] or [-8.376%; -3.240%]
654.598µs 694.960µs
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.22.0-SNAPSHOT~b3d399b8ac, baseline=1.23.0-SNAPSHOT~cbff199155

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.041 s) : 0, 1040521
Total [baseline] (8.761 s) : 0, 8760523
Agent [candidate] (1.022 s) : 0, 1022209
Total [candidate] (8.783 s) : 0, 8783067
section iast
Agent [baseline] (1.166 s) : 0, 1165549
Total [baseline] (9.288 s) : 0, 9288254
Agent [candidate] (1.147 s) : 0, 1147086
Total [candidate] (9.291 s) : 0, 9290840
section iast_TELEMETRY_OFF
Agent [baseline] (1.152 s) : 0, 1151516
Total [baseline] (9.305 s) : 0, 9305140
Agent [candidate] (1.139 s) : 0, 1138860
Total [candidate] (9.226 s) : 0, 9226349
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.041 s -
Agent iast 1.166 s 125.028 ms (12.0%)
Agent iast_TELEMETRY_OFF 1.152 s 110.996 ms (10.7%)
Total tracing 8.761 s -
Total iast 9.288 s 527.73 ms (6.0%)
Total iast_TELEMETRY_OFF 9.305 s 544.617 ms (6.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.022 s -
Agent iast 1.147 s 124.877 ms (12.2%)
Agent iast_TELEMETRY_OFF 1.139 s 116.651 ms (11.4%)
Total tracing 8.783 s -
Total iast 9.291 s 507.774 ms (5.8%)
Total iast_TELEMETRY_OFF 9.226 s 443.283 ms (5.0%)
gantt
    title insecure-bank - break down per module: candidate=1.22.0-SNAPSHOT~b3d399b8ac, baseline=1.23.0-SNAPSHOT~cbff199155

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (651.008 ms) : 0, 651008
BytebuddyAgent [candidate] (636.259 ms) : 0, 636259
GlobalTracer [baseline] (297.977 ms) : 0, 297977
GlobalTracer [candidate] (295.315 ms) : 0, 295315
AppSec [baseline] (49.591 ms) : 0, 49591
AppSec [candidate] (49.481 ms) : 0, 49481
Remote Config [baseline] (694.96 µs) : 0, 695
Remote Config [candidate] (654.598 µs) : 0, 655
Telemetry [baseline] (6.19 ms) : 0, 6190
Telemetry [candidate] (6.029 ms) : 0, 6029
section iast
BytebuddyAgent [baseline] (782.493 ms) : 0, 782493
BytebuddyAgent [candidate] (765.676 ms) : 0, 765676
GlobalTracer [baseline] (275.449 ms) : 0, 275449
GlobalTracer [candidate] (273.764 ms) : 0, 273764
AppSec [baseline] (47.386 ms) : 0, 47386
AppSec [candidate] (46.488 ms) : 0, 46488
Remote Config [baseline] (574.367 µs) : 0, 574
Remote Config [candidate] (560.662 µs) : 0, 561
Telemetry [baseline] (9.703 ms) : 0, 9703
Telemetry [candidate] (7.492 ms) : 0, 7492
IAST [baseline] (14.917 ms) : 0, 14917
IAST [candidate] (18.709 ms) : 0, 18709
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (771.226 ms) : 0, 771226
BytebuddyAgent [candidate] (758.941 ms) : 0, 758941
GlobalTracer [baseline] (275.27 ms) : 0, 275270
GlobalTracer [candidate] (274.582 ms) : 0, 274582
AppSec [baseline] (47.09 ms) : 0, 47090
AppSec [candidate] (46.4 ms) : 0, 46400
Remote Config [baseline] (579.709 µs) : 0, 580
Remote Config [candidate] (571.689 µs) : 0, 572
Telemetry [baseline] (6.278 ms) : 0, 6278
Telemetry [candidate] (6.302 ms) : 0, 6302
IAST [baseline] (16.446 ms) : 0, 16446
IAST [candidate] (17.749 ms) : 0, 17749
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.22.0-SNAPSHOT~b3d399b8ac, baseline=1.23.0-SNAPSHOT~cbff199155

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.025 s) : 0, 1025434
Total [baseline] (9.298 s) : 0, 9297698
Agent [candidate] (1.022 s) : 0, 1022299
Total [candidate] (9.343 s) : 0, 9342898
section appsec
Agent [baseline] (1.114 s) : 0, 1114076
Total [baseline] (9.393 s) : 0, 9392850
Agent [candidate] (1.111 s) : 0, 1110518
Total [candidate] (9.398 s) : 0, 9398024
section iast
Agent [baseline] (1.152 s) : 0, 1152355
Total [baseline] (9.53 s) : 0, 9530343
Agent [candidate] (1.165 s) : 0, 1165074
Total [candidate] (9.61 s) : 0, 9609902
section profiling
Agent [baseline] (1.218 s) : 0, 1217767
Total [baseline] (9.623 s) : 0, 9622997
Agent [candidate] (1.195 s) : 0, 1194951
Total [candidate] (9.478 s) : 0, 9477511
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.025 s -
Agent appsec 1.114 s 88.642 ms (8.6%)
Agent iast 1.152 s 126.921 ms (12.4%)
Agent profiling 1.218 s 192.333 ms (18.8%)
Total tracing 9.298 s -
Total appsec 9.393 s 95.153 ms (1.0%)
Total iast 9.53 s 232.646 ms (2.5%)
Total profiling 9.623 s 325.299 ms (3.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.022 s -
Agent appsec 1.111 s 88.22 ms (8.6%)
Agent iast 1.165 s 142.775 ms (14.0%)
Agent profiling 1.195 s 172.653 ms (16.9%)
Total tracing 9.343 s -
Total appsec 9.398 s 55.127 ms (0.6%)
Total iast 9.61 s 267.005 ms (2.9%)
Total profiling 9.478 s 134.613 ms (1.4%)
gantt
    title petclinic - break down per module: candidate=1.22.0-SNAPSHOT~b3d399b8ac, baseline=1.23.0-SNAPSHOT~cbff199155

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (641.382 ms) : 0, 641382
BytebuddyAgent [candidate] (637.111 ms) : 0, 637111
GlobalTracer [baseline] (293.766 ms) : 0, 293766
GlobalTracer [candidate] (294.827 ms) : 0, 294827
AppSec [baseline] (49.069 ms) : 0, 49069
AppSec [candidate] (49.213 ms) : 0, 49213
Remote Config [baseline] (684.824 µs) : 0, 685
Remote Config [candidate] (664.607 µs) : 0, 665
Telemetry [baseline] (6.09 ms) : 0, 6090
Telemetry [candidate] (6.072 ms) : 0, 6072
section appsec
BytebuddyAgent [baseline] (641.771 ms) : 0, 641771
BytebuddyAgent [candidate] (636.518 ms) : 0, 636518
GlobalTracer [baseline] (293.213 ms) : 0, 293213
GlobalTracer [candidate] (294.478 ms) : 0, 294478
AppSec [baseline] (138.383 ms) : 0, 138383
AppSec [candidate] (138.745 ms) : 0, 138745
Remote Config [baseline] (640.44 µs) : 0, 640
Remote Config [candidate] (639.157 µs) : 0, 639
Telemetry [baseline] (5.707 ms) : 0, 5707
Telemetry [candidate] (5.711 ms) : 0, 5711
section iast
BytebuddyAgent [baseline] (772.207 ms) : 0, 772207
BytebuddyAgent [candidate] (778.108 ms) : 0, 778108
GlobalTracer [baseline] (273.525 ms) : 0, 273525
GlobalTracer [candidate] (278.201 ms) : 0, 278201
AppSec [baseline] (47.075 ms) : 0, 47075
AppSec [candidate] (47.376 ms) : 0, 47376
Remote Config [baseline] (1.23 ms) : 0, 1230
Remote Config [candidate] (578.37 µs) : 0, 578
Telemetry [baseline] (7.617 ms) : 0, 7617
Telemetry [candidate] (7.659 ms) : 0, 7659
IAST [baseline] (16.241 ms) : 0, 16241
IAST [candidate] (18.296 ms) : 0, 18296
section profiling
ProfilingAgent [baseline] (82.465 ms) : 0, 82465
ProfilingAgent [candidate] (79.747 ms) : 0, 79747
BytebuddyAgent [baseline] (660.286 ms) : 0, 660286
BytebuddyAgent [candidate] (647.223 ms) : 0, 647223
GlobalTracer [baseline] (363.773 ms) : 0, 363773
GlobalTracer [candidate] (358.12 ms) : 0, 358120
AppSec [baseline] (50.331 ms) : 0, 50331
AppSec [candidate] (49.823 ms) : 0, 49823
Remote Config [baseline] (675.703 µs) : 0, 676
Remote Config [candidate] (647.757 µs) : 0, 648
Telemetry [baseline] (6.189 ms) : 0, 6189
Telemetry [candidate] (6.08 ms) : 0, 6080
Profiling [baseline] (82.49 ms) : 0, 82490
Profiling [candidate] (79.771 ms) : 0, 79771
Loading

Load

Parameters

Baseline Candidate
commit 1.23.0-SNAPSHOT~cbff199155 1.22.0-SNAPSHOT~b3d399b8ac
config baseline candidate
end_time 2023-10-30T11:43:25 2023-10-30T11:59:47
start_time 2023-10-30T11:43:12 2023-10-30T11:59:34
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
variant iast iast

Summary

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

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.22.0-SNAPSHOT~b3d399b8ac, baseline=1.23.0-SNAPSHOT~cbff199155
    dateFormat X
    axisFormat %s
section baseline
no_agent (364.397 µs) : 343, 385
.   : milestone, 364,
iast (454.869 µs) : 434, 475
.   : milestone, 455,
iast_FULL (515.174 µs) : 494, 536
.   : milestone, 515,
iast_INACTIVE (433.182 µs) : 412, 455
.   : milestone, 433,
iast_TELEMETRY_OFF (452.499 µs) : 432, 473
.   : milestone, 452,
tracing (436.998 µs) : 416, 458
.   : milestone, 437,
section candidate
no_agent (359.014 µs) : 339, 379
.   : milestone, 359,
iast (456.009 µs) : 435, 477
.   : milestone, 456,
iast_FULL (518.421 µs) : 498, 539
.   : milestone, 518,
iast_INACTIVE (432.078 µs) : 411, 453
.   : milestone, 432,
iast_TELEMETRY_OFF (449.604 µs) : 429, 470
.   : milestone, 450,
tracing (444.701 µs) : 423, 467
.   : milestone, 445,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 364.397 µs [343.371 µs, 385.424 µs] -
iast 454.869 µs [434.419 µs, 475.32 µs] 90.472 µs (24.8%)
iast_FULL 515.174 µs [494.407 µs, 535.94 µs] 150.776 µs (41.4%)
iast_INACTIVE 433.182 µs [411.669 µs, 454.696 µs] 68.785 µs (18.9%)
iast_TELEMETRY_OFF 452.499 µs [431.755 µs, 473.242 µs] 88.102 µs (24.2%)
tracing 436.998 µs [415.702 µs, 458.294 µs] 72.601 µs (19.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 359.014 µs [339.012 µs, 379.016 µs] -
iast 456.009 µs [435.484 µs, 476.535 µs] 96.996 µs (27.0%)
iast_FULL 518.421 µs [497.5 µs, 539.342 µs] 159.407 µs (44.4%)
iast_INACTIVE 432.078 µs [411.19 µs, 452.967 µs] 73.064 µs (20.4%)
iast_TELEMETRY_OFF 449.604 µs [428.845 µs, 470.364 µs] 90.591 µs (25.2%)
tracing 444.701 µs [422.63 µs, 466.771 µs] 85.687 µs (23.9%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.22.0-SNAPSHOT~b3d399b8ac, baseline=1.23.0-SNAPSHOT~cbff199155
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.343 ms) : 1325, 1362
.   : milestone, 1343,
appsec (1.7 ms) : 1675, 1725
.   : milestone, 1700,
iast (1.458 ms) : 1434, 1483
.   : milestone, 1458,
profiling (1.503 ms) : 1477, 1530
.   : milestone, 1503,
tracing (1.476 ms) : 1451, 1501
.   : milestone, 1476,
section candidate
no_agent (1.33 ms) : 1311, 1349
.   : milestone, 1330,
appsec (1.696 ms) : 1670, 1721
.   : milestone, 1696,
iast (1.471 ms) : 1446, 1495
.   : milestone, 1471,
profiling (1.51 ms) : 1483, 1536
.   : milestone, 1510,
tracing (1.434 ms) : 1410, 1458
.   : milestone, 1434,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.343 ms [1.325 ms, 1.362 ms] -
appsec 1.7 ms [1.675 ms, 1.725 ms] 356.849 µs (26.6%)
iast 1.458 ms [1.434 ms, 1.483 ms] 115.024 µs (8.6%)
profiling 1.503 ms [1.477 ms, 1.53 ms] 159.662 µs (11.9%)
tracing 1.476 ms [1.451 ms, 1.501 ms] 132.235 µs (9.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.33 ms [1.311 ms, 1.349 ms] -
appsec 1.696 ms [1.67 ms, 1.721 ms] 365.277 µs (27.5%)
iast 1.471 ms [1.446 ms, 1.495 ms] 140.607 µs (10.6%)
profiling 1.51 ms [1.483 ms, 1.536 ms] 179.566 µs (13.5%)
tracing 1.434 ms [1.41 ms, 1.458 ms] 103.701 µs (7.8%)

@richardstartin richardstartin merged commit d6fbe39 into master Oct 30, 2023
67 of 69 checks passed
@richardstartin richardstartin deleted the rgs/resource-name-labels branch October 30, 2023 13:39
@github-actions github-actions bot added this to the 1.23.0 milestone Oct 30, 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.

None yet

2 participants