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

Don't always finish parent span in Netty client #7126

Merged
merged 1 commit into from
Jun 4, 2024

Conversation

amarziali
Copy link
Collaborator

@amarziali amarziali commented Jun 4, 2024

What Does This Do

Avoid finishing the parent span when channelInactive is called.

Motivation

Additional Notes

Jira ticket: APMS-12066

@amarziali amarziali requested a review from a team as a code owner June 4, 2024 18:59
@amarziali amarziali added type: bug inst: netty Netty instrumentation labels Jun 4, 2024
@amarziali amarziali enabled auto-merge (squash) June 4, 2024 19:17
@pr-commenter
Copy link

pr-commenter bot commented Jun 4, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/netty-dont-close-it-now
git_commit_date 1717507610 1717527480
git_commit_sha 8a0a406 dfc6c6b
release_version 1.35.0-SNAPSHOT~8a0a406b34 1.35.0-SNAPSHOT~dfc6c6b988
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1717530438 1717530438
ci_job_id 532310300 532310300
ci_pipeline_id 35845988 35845988
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 1 performance regressions! Performance is the same for 51 metrics, 11 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:petclinic:iast:Remote Config worse
[+13.240µs; +50.260µs] or [+2.289%; +8.691%]
610.058µs 578.308µs
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.35.0-SNAPSHOT~dfc6c6b988, baseline=1.35.0-SNAPSHOT~8a0a406b34

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.06 s) : 0, 1060016
Total [baseline] (10.397 s) : 0, 10397444
Agent [candidate] (1.061 s) : 0, 1060805
Total [candidate] (10.413 s) : 0, 10413052
section appsec
Agent [baseline] (1.176 s) : 0, 1176049
Total [baseline] (10.435 s) : 0, 10435077
Agent [candidate] (1.18 s) : 0, 1180388
Total [candidate] (10.437 s) : 0, 10436988
section iast
Agent [baseline] (1.168 s) : 0, 1168165
Total [baseline] (10.708 s) : 0, 10708364
Agent [candidate] (1.167 s) : 0, 1167484
Total [candidate] (10.865 s) : 0, 10865157
section profiling
Agent [baseline] (1.259 s) : 0, 1259245
Total [baseline] (10.631 s) : 0, 10630671
Agent [candidate] (1.261 s) : 0, 1261102
Total [candidate] (10.63 s) : 0, 10630249
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.06 s -
Agent appsec 1.176 s 116.033 ms (10.9%)
Agent iast 1.168 s 108.149 ms (10.2%)
Agent profiling 1.259 s 199.229 ms (18.8%)
Total tracing 10.397 s -
Total appsec 10.435 s 37.633 ms (0.4%)
Total iast 10.708 s 310.919 ms (3.0%)
Total profiling 10.631 s 233.226 ms (2.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.061 s -
Agent appsec 1.18 s 119.583 ms (11.3%)
Agent iast 1.167 s 106.68 ms (10.1%)
Agent profiling 1.261 s 200.297 ms (18.9%)
Total tracing 10.413 s -
Total appsec 10.437 s 23.936 ms (0.2%)
Total iast 10.865 s 452.105 ms (4.3%)
Total profiling 10.63 s 217.197 ms (2.1%)
gantt
    title petclinic - break down per module: candidate=1.35.0-SNAPSHOT~dfc6c6b988, baseline=1.35.0-SNAPSHOT~8a0a406b34

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (654.026 ms) : 0, 654026
BytebuddyAgent [candidate] (653.819 ms) : 0, 653819
GlobalTracer [baseline] (313.233 ms) : 0, 313233
GlobalTracer [candidate] (314.033 ms) : 0, 314033
AppSec [baseline] (50.054 ms) : 0, 50054
AppSec [candidate] (50.249 ms) : 0, 50249
Remote Config [baseline] (743.461 µs) : 0, 743
Remote Config [candidate] (709.18 µs) : 0, 709
Telemetry [baseline] (7.545 ms) : 0, 7545
Telemetry [candidate] (7.589 ms) : 0, 7589
section appsec
BytebuddyAgent [baseline] (674.204 ms) : 0, 674204
BytebuddyAgent [candidate] (677.007 ms) : 0, 677007
GlobalTracer [baseline] (295.967 ms) : 0, 295967
GlobalTracer [candidate] (297.144 ms) : 0, 297144
AppSec [baseline] (153.026 ms) : 0, 153026
AppSec [candidate] (152.977 ms) : 0, 152977
Remote Config [baseline] (659.345 µs) : 0, 659
Remote Config [candidate] (979.581 µs) : 0, 980
Telemetry [baseline] (6.875 ms) : 0, 6875
Telemetry [candidate] (6.901 ms) : 0, 6901
IAST [baseline] (21.879 ms) : 0, 21879
IAST [candidate] (21.771 ms) : 0, 21771
section iast
BytebuddyAgent [baseline] (779.825 ms) : 0, 779825
BytebuddyAgent [candidate] (779.302 ms) : 0, 779302
GlobalTracer [baseline] (293.969 ms) : 0, 293969
GlobalTracer [candidate] (293.379 ms) : 0, 293379
AppSec [baseline] (46.545 ms) : 0, 46545
AppSec [candidate] (46.694 ms) : 0, 46694
Remote Config [baseline] (578.308 µs) : 0, 578
Remote Config [candidate] (610.058 µs) : 0, 610
Telemetry [baseline] (7.691 ms) : 0, 7691
Telemetry [candidate] (10.1 ms) : 0, 10100
IAST [baseline] (26.377 ms) : 0, 26377
IAST [candidate] (24.156 ms) : 0, 24156
section profiling
BytebuddyAgent [baseline] (662.276 ms) : 0, 662276
BytebuddyAgent [candidate] (663.47 ms) : 0, 663470
GlobalTracer [baseline] (384.814 ms) : 0, 384814
GlobalTracer [candidate] (385.512 ms) : 0, 385512
AppSec [baseline] (50.964 ms) : 0, 50964
AppSec [candidate] (50.785 ms) : 0, 50785
Remote Config [baseline] (763.255 µs) : 0, 763
Remote Config [candidate] (767.243 µs) : 0, 767
Telemetry [baseline] (7.285 ms) : 0, 7285
Telemetry [candidate] (7.333 ms) : 0, 7333
ProfilingAgent [baseline] (96.57 ms) : 0, 96570
ProfilingAgent [candidate] (96.629 ms) : 0, 96629
Profiling [baseline] (96.594 ms) : 0, 96594
Profiling [candidate] (96.654 ms) : 0, 96654
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.35.0-SNAPSHOT~dfc6c6b988, baseline=1.35.0-SNAPSHOT~8a0a406b34

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.075 s) : 0, 1075148
Total [baseline] (8.599 s) : 0, 8599076
Agent [candidate] (1.059 s) : 0, 1059301
Total [candidate] (8.552 s) : 0, 8551756
section iast
Agent [baseline] (1.17 s) : 0, 1169833
Total [baseline] (9.002 s) : 0, 9002009
Agent [candidate] (1.166 s) : 0, 1166174
Total [candidate] (9.013 s) : 0, 9013184
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.163 s) : 0, 1163170
Total [baseline] (8.975 s) : 0, 8975340
Agent [candidate] (1.177 s) : 0, 1177355
Total [candidate] (9.01 s) : 0, 9009733
section iast_TELEMETRY_OFF
Agent [baseline] (1.173 s) : 0, 1173377
Total [baseline] (9.021 s) : 0, 9021119
Agent [candidate] (1.172 s) : 0, 1171666
Total [candidate] (9.016 s) : 0, 9015543
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.075 s -
Agent iast 1.17 s 94.685 ms (8.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.163 s 88.022 ms (8.2%)
Agent iast_TELEMETRY_OFF 1.173 s 98.228 ms (9.1%)
Total tracing 8.599 s -
Total iast 9.002 s 402.932 ms (4.7%)
Total iast_HARDCODED_SECRET_DISABLED 8.975 s 376.264 ms (4.4%)
Total iast_TELEMETRY_OFF 9.021 s 422.042 ms (4.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent iast 1.166 s 106.873 ms (10.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.177 s 118.054 ms (11.1%)
Agent iast_TELEMETRY_OFF 1.172 s 112.365 ms (10.6%)
Total tracing 8.552 s -
Total iast 9.013 s 461.428 ms (5.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.01 s 457.977 ms (5.4%)
Total iast_TELEMETRY_OFF 9.016 s 463.787 ms (5.4%)
gantt
    title insecure-bank - break down per module: candidate=1.35.0-SNAPSHOT~dfc6c6b988, baseline=1.35.0-SNAPSHOT~8a0a406b34

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (663.13 ms) : 0, 663130
BytebuddyAgent [candidate] (652.944 ms) : 0, 652944
GlobalTracer [baseline] (318.048 ms) : 0, 318048
GlobalTracer [candidate] (313.422 ms) : 0, 313422
AppSec [baseline] (50.747 ms) : 0, 50747
AppSec [candidate] (50.185 ms) : 0, 50185
Remote Config [baseline] (723.053 µs) : 0, 723
Remote Config [candidate] (736.852 µs) : 0, 737
Telemetry [baseline] (7.637 ms) : 0, 7637
Telemetry [candidate] (7.623 ms) : 0, 7623
section iast
BytebuddyAgent [baseline] (780.746 ms) : 0, 780746
BytebuddyAgent [candidate] (777.996 ms) : 0, 777996
GlobalTracer [baseline] (293.723 ms) : 0, 293723
GlobalTracer [candidate] (292.744 ms) : 0, 292744
AppSec [baseline] (46.618 ms) : 0, 46618
AppSec [candidate] (46.238 ms) : 0, 46238
Remote Config [baseline] (599.097 µs) : 0, 599
Remote Config [candidate] (581.073 µs) : 0, 581
Telemetry [baseline] (8.488 ms) : 0, 8488
Telemetry [candidate] (8.372 ms) : 0, 8372
IAST [baseline] (26.391 ms) : 0, 26391
IAST [candidate] (27.002 ms) : 0, 27002
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (777.202 ms) : 0, 777202
BytebuddyAgent [candidate] (785.194 ms) : 0, 785194
GlobalTracer [baseline] (292.593 ms) : 0, 292593
GlobalTracer [candidate] (295.618 ms) : 0, 295618
AppSec [baseline] (46.33 ms) : 0, 46330
AppSec [candidate] (46.873 ms) : 0, 46873
Remote Config [baseline] (588.72 µs) : 0, 589
Remote Config [candidate] (581.469 µs) : 0, 581
Telemetry [baseline] (8.475 ms) : 0, 8475
Telemetry [candidate] (6.901 ms) : 0, 6901
IAST [baseline] (24.721 ms) : 0, 24721
IAST [candidate] (28.763 ms) : 0, 28763
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (783.709 ms) : 0, 783709
BytebuddyAgent [candidate] (782.562 ms) : 0, 782562
GlobalTracer [baseline] (295.997 ms) : 0, 295997
GlobalTracer [candidate] (295.148 ms) : 0, 295148
AppSec [baseline] (49.083 ms) : 0, 49083
AppSec [candidate] (48.826 ms) : 0, 48826
Remote Config [baseline] (589.448 µs) : 0, 589
Remote Config [candidate] (577.114 µs) : 0, 577
Telemetry [baseline] (7.707 ms) : 0, 7707
Telemetry [candidate] (6.8 ms) : 0, 6800
IAST [baseline] (22.895 ms) : 0, 22895
IAST [candidate] (24.361 ms) : 0, 24361
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-06-04T19:18:18 2024-06-04T19:25:06
git_branch master andrea.marziali/netty-dont-close-it-now
git_commit_date 1717507610 1717527480
git_commit_sha 8a0a406 dfc6c6b
release_version 1.35.0-SNAPSHOT~8a0a406b34 1.35.0-SNAPSHOT~dfc6c6b988
start_time 2024-06-04T19:18:05 2024-06-04T19:24:53
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1717529451 1717529451
ci_job_id 532310301 532310301
ci_pipeline_id 35845988 35845988
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 11 metrics, 17 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.35.0-SNAPSHOT~dfc6c6b988, baseline=1.35.0-SNAPSHOT~8a0a406b34
    dateFormat X
    axisFormat %s
section baseline
no_agent (375.132 µs) : 355, 395
.   : milestone, 375,
iast (479.517 µs) : 458, 501
.   : milestone, 480,
iast_FULL (549.362 µs) : 528, 570
.   : milestone, 549,
iast_GLOBAL (501.22 µs) : 480, 522
.   : milestone, 501,
iast_HARDCODED_SECRET_DISABLED (487.085 µs) : 466, 508
.   : milestone, 487,
iast_INACTIVE (452.87 µs) : 431, 474
.   : milestone, 453,
iast_TELEMETRY_OFF (469.115 µs) : 448, 490
.   : milestone, 469,
tracing (439.693 µs) : 419, 460
.   : milestone, 440,
section candidate
no_agent (366.097 µs) : 347, 386
.   : milestone, 366,
iast (474.51 µs) : 454, 495
.   : milestone, 475,
iast_FULL (539.257 µs) : 518, 560
.   : milestone, 539,
iast_GLOBAL (500.385 µs) : 479, 522
.   : milestone, 500,
iast_HARDCODED_SECRET_DISABLED (481.467 µs) : 460, 503
.   : milestone, 481,
iast_INACTIVE (447.091 µs) : 426, 468
.   : milestone, 447,
iast_TELEMETRY_OFF (472.42 µs) : 450, 495
.   : milestone, 472,
tracing (438.921 µs) : 418, 460
.   : milestone, 439,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 375.132 µs [354.858 µs, 395.406 µs] -
iast 479.517 µs [458.429 µs, 500.605 µs] 104.385 µs (27.8%)
iast_FULL 549.362 µs [528.398 µs, 570.326 µs] 174.23 µs (46.4%)
iast_GLOBAL 501.22 µs [480.178 µs, 522.263 µs] 126.088 µs (33.6%)
iast_HARDCODED_SECRET_DISABLED 487.085 µs [465.996 µs, 508.174 µs] 111.953 µs (29.8%)
iast_INACTIVE 452.87 µs [431.278 µs, 474.461 µs] 77.738 µs (20.7%)
iast_TELEMETRY_OFF 469.115 µs [448.057 µs, 490.172 µs] 93.983 µs (25.1%)
tracing 439.693 µs [419.455 µs, 459.931 µs] 64.562 µs (17.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 366.097 µs [346.632 µs, 385.562 µs] -
iast 474.51 µs [453.605 µs, 495.415 µs] 108.413 µs (29.6%)
iast_FULL 539.257 µs [518.164 µs, 560.351 µs] 173.16 µs (47.3%)
iast_GLOBAL 500.385 µs [478.592 µs, 522.177 µs] 134.287 µs (36.7%)
iast_HARDCODED_SECRET_DISABLED 481.467 µs [459.915 µs, 503.019 µs] 115.369 µs (31.5%)
iast_INACTIVE 447.091 µs [426.147 µs, 468.036 µs] 80.994 µs (22.1%)
iast_TELEMETRY_OFF 472.42 µs [450.312 µs, 494.529 µs] 106.323 µs (29.0%)
tracing 438.921 µs [418.285 µs, 459.556 µs] 72.824 µs (19.9%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.35.0-SNAPSHOT~dfc6c6b988, baseline=1.35.0-SNAPSHOT~8a0a406b34
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.337 ms) : 1317, 1357
.   : milestone, 1337,
appsec (1.728 ms) : 1705, 1751
.   : milestone, 1728,
appsec_no_iast (1.705 ms) : 1680, 1729
.   : milestone, 1705,
iast (1.486 ms) : 1462, 1510
.   : milestone, 1486,
profiling (1.516 ms) : 1490, 1541
.   : milestone, 1516,
tracing (1.443 ms) : 1419, 1467
.   : milestone, 1443,
section candidate
no_agent (1.339 ms) : 1319, 1358
.   : milestone, 1339,
appsec (1.727 ms) : 1703, 1751
.   : milestone, 1727,
appsec_no_iast (1.714 ms) : 1689, 1740
.   : milestone, 1714,
iast (1.464 ms) : 1441, 1487
.   : milestone, 1464,
profiling (1.501 ms) : 1475, 1528
.   : milestone, 1501,
tracing (1.466 ms) : 1442, 1489
.   : milestone, 1466,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.337 ms [1.317 ms, 1.357 ms] -
appsec 1.728 ms [1.705 ms, 1.751 ms] 390.918 µs (29.2%)
appsec_no_iast 1.705 ms [1.68 ms, 1.729 ms] 367.572 µs (27.5%)
iast 1.486 ms [1.462 ms, 1.51 ms] 149.056 µs (11.1%)
profiling 1.516 ms [1.49 ms, 1.541 ms] 178.615 µs (13.4%)
tracing 1.443 ms [1.419 ms, 1.467 ms] 105.968 µs (7.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.339 ms [1.319 ms, 1.358 ms] -
appsec 1.727 ms [1.703 ms, 1.751 ms] 388.086 µs (29.0%)
appsec_no_iast 1.714 ms [1.689 ms, 1.74 ms] 375.468 µs (28.0%)
iast 1.464 ms [1.441 ms, 1.487 ms] 125.158 µs (9.3%)
profiling 1.501 ms [1.475 ms, 1.528 ms] 162.747 µs (12.2%)
tracing 1.466 ms [1.442 ms, 1.489 ms] 126.889 µs (9.5%)

Dacapo

@amarziali amarziali merged commit 244260b into master Jun 4, 2024
83 checks passed
@amarziali amarziali deleted the andrea.marziali/netty-dont-close-it-now branch June 4, 2024 20:03
@github-actions github-actions bot added this to the 1.35.0 milestone Jun 4, 2024
@PerfectSlayer PerfectSlayer changed the title netty client: don't finish parent span Don't always finish parent span in Netty client Jun 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inst: netty Netty instrumentation type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants