Avoid finishing twice a servlet 3 async dispatch span#7395
Merged
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 46 metrics, 17 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.39.0-SNAPSHOT~58fe2cc920, baseline=1.39.0-SNAPSHOT~7059a724b9
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.053 s) : 0, 1053341
Total [baseline] (8.498 s) : 0, 8497503
Agent [candidate] (1.047 s) : 0, 1046629
Total [candidate] (8.475 s) : 0, 8474521
section iast
Agent [baseline] (1.183 s) : 0, 1183169
Total [baseline] (8.995 s) : 0, 8994834
Agent [candidate] (1.183 s) : 0, 1183220
Total [candidate] (8.975 s) : 0, 8975439
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.185 s) : 0, 1184732
Total [baseline] (9.005 s) : 0, 9004982
Agent [candidate] (1.175 s) : 0, 1175119
Total [candidate] (8.951 s) : 0, 8951420
section iast_TELEMETRY_OFF
Agent [baseline] (1.171 s) : 0, 1170866
Total [baseline] (8.96 s) : 0, 8960166
Agent [candidate] (1.174 s) : 0, 1173916
Total [candidate] (8.965 s) : 0, 8964559
gantt
title insecure-bank - break down per module: candidate=1.39.0-SNAPSHOT~58fe2cc920, baseline=1.39.0-SNAPSHOT~7059a724b9
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (672.592 ms) : 0, 672592
BytebuddyAgent [candidate] (667.753 ms) : 0, 667753
GlobalTracer [baseline] (308.557 ms) : 0, 308557
GlobalTracer [candidate] (307.144 ms) : 0, 307144
AppSec [baseline] (50.609 ms) : 0, 50609
AppSec [candidate] (50.319 ms) : 0, 50319
Remote Config [baseline] (691.971 µs) : 0, 692
Remote Config [candidate] (681.674 µs) : 0, 682
Telemetry [baseline] (7.382 ms) : 0, 7382
Telemetry [candidate] (7.303 ms) : 0, 7303
section iast
BytebuddyAgent [baseline] (788.335 ms) : 0, 788335
BytebuddyAgent [candidate] (787.727 ms) : 0, 787727
GlobalTracer [baseline] (297.976 ms) : 0, 297976
GlobalTracer [candidate] (297.966 ms) : 0, 297966
AppSec [baseline] (54.076 ms) : 0, 54076
AppSec [candidate] (52.037 ms) : 0, 52037
IAST [baseline] (21.637 ms) : 0, 21637
IAST [candidate] (21.902 ms) : 0, 21902
Remote Config [baseline] (599.312 µs) : 0, 599
Remote Config [candidate] (583.613 µs) : 0, 584
Telemetry [baseline] (6.988 ms) : 0, 6988
Telemetry [candidate] (9.456 ms) : 0, 9456
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (788.369 ms) : 0, 788369
BytebuddyAgent [candidate] (781.583 ms) : 0, 781583
GlobalTracer [baseline] (299.191 ms) : 0, 299191
GlobalTracer [candidate] (296.749 ms) : 0, 296749
AppSec [baseline] (52.315 ms) : 0, 52315
AppSec [candidate] (50.384 ms) : 0, 50384
IAST [baseline] (22.767 ms) : 0, 22767
IAST [candidate] (23.515 ms) : 0, 23515
Remote Config [baseline] (590.865 µs) : 0, 591
Remote Config [candidate] (603.584 µs) : 0, 604
Telemetry [baseline] (7.891 ms) : 0, 7891
Telemetry [candidate] (8.794 ms) : 0, 8794
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (779.403 ms) : 0, 779403
BytebuddyAgent [candidate] (780.764 ms) : 0, 780764
GlobalTracer [baseline] (296.902 ms) : 0, 296902
GlobalTracer [candidate] (297.027 ms) : 0, 297027
AppSec [baseline] (47.698 ms) : 0, 47698
AppSec [candidate] (46.948 ms) : 0, 46948
IAST [baseline] (25.11 ms) : 0, 25110
IAST [candidate] (27.435 ms) : 0, 27435
Remote Config [baseline] (609.764 µs) : 0, 610
Remote Config [candidate] (592.702 µs) : 0, 593
Telemetry [baseline] (7.691 ms) : 0, 7691
Telemetry [candidate] (7.644 ms) : 0, 7644
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.39.0-SNAPSHOT~58fe2cc920, baseline=1.39.0-SNAPSHOT~7059a724b9
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1046570
Total [baseline] (10.266 s) : 0, 10265948
Agent [candidate] (1.048 s) : 0, 1047898
Total [candidate] (10.355 s) : 0, 10354651
section appsec
Agent [baseline] (1.174 s) : 0, 1173841
Total [baseline] (10.453 s) : 0, 10453474
Agent [candidate] (1.166 s) : 0, 1165972
Total [candidate] (10.468 s) : 0, 10468448
section iast
Agent [baseline] (1.171 s) : 0, 1171014
Total [baseline] (10.809 s) : 0, 10808969
Agent [candidate] (1.177 s) : 0, 1177023
Total [candidate] (10.857 s) : 0, 10856501
section profiling
Agent [baseline] (1.243 s) : 0, 1243181
Total [baseline] (10.595 s) : 0, 10595437
Agent [candidate] (1.244 s) : 0, 1244330
Total [candidate] (10.685 s) : 0, 10684600
gantt
title petclinic - break down per module: candidate=1.39.0-SNAPSHOT~58fe2cc920, baseline=1.39.0-SNAPSHOT~7059a724b9
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (668.01 ms) : 0, 668010
BytebuddyAgent [candidate] (668.757 ms) : 0, 668757
GlobalTracer [baseline] (306.722 ms) : 0, 306722
GlobalTracer [candidate] (307.342 ms) : 0, 307342
AppSec [baseline] (50.38 ms) : 0, 50380
AppSec [candidate] (50.373 ms) : 0, 50373
Remote Config [baseline] (684.818 µs) : 0, 685
Remote Config [candidate] (687.846 µs) : 0, 688
Telemetry [baseline] (7.351 ms) : 0, 7351
Telemetry [candidate] (7.273 ms) : 0, 7273
section appsec
BytebuddyAgent [baseline] (683.088 ms) : 0, 683088
BytebuddyAgent [candidate] (678.204 ms) : 0, 678204
GlobalTracer [baseline] (301.548 ms) : 0, 301548
GlobalTracer [candidate] (300.62 ms) : 0, 300620
AppSec [baseline] (155.371 ms) : 0, 155371
AppSec [candidate] (154.704 ms) : 0, 154704
Remote Config [baseline] (600.1 µs) : 0, 600
Remote Config [candidate] (604.373 µs) : 0, 604
Telemetry [baseline] (8.516 ms) : 0, 8516
Telemetry [candidate] (8.19 ms) : 0, 8190
IAST [baseline] (22.282 ms) : 0, 22282
IAST [candidate] (20.292 ms) : 0, 20292
section iast
BytebuddyAgent [baseline] (781.03 ms) : 0, 781030
BytebuddyAgent [candidate] (783.178 ms) : 0, 783178
GlobalTracer [baseline] (295.722 ms) : 0, 295722
GlobalTracer [candidate] (296.536 ms) : 0, 296536
AppSec [baseline] (50.632 ms) : 0, 50632
AppSec [candidate] (51.782 ms) : 0, 51782
Remote Config [baseline] (582.324 µs) : 0, 582
Remote Config [candidate] (612.0 µs) : 0, 612
Telemetry [baseline] (8.661 ms) : 0, 8661
Telemetry [candidate] (8.828 ms) : 0, 8828
IAST [baseline] (20.952 ms) : 0, 20952
IAST [candidate] (22.596 ms) : 0, 22596
section profiling
ProfilingAgent [baseline] (94.186 ms) : 0, 94186
ProfilingAgent [candidate] (94.504 ms) : 0, 94504
BytebuddyAgent [baseline] (663.186 ms) : 0, 663186
BytebuddyAgent [candidate] (663.33 ms) : 0, 663330
GlobalTracer [baseline] (389.759 ms) : 0, 389759
GlobalTracer [candidate] (389.727 ms) : 0, 389727
AppSec [baseline] (50.968 ms) : 0, 50968
AppSec [candidate] (51.699 ms) : 0, 51699
Remote Config [baseline] (718.267 µs) : 0, 718
Remote Config [candidate] (700.204 µs) : 0, 700
Telemetry [baseline] (7.233 ms) : 0, 7233
Telemetry [candidate] (7.229 ms) : 0, 7229
Profiling [baseline] (94.21 ms) : 0, 94210
Profiling [candidate] (94.528 ms) : 0, 94528
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 11 metrics, 16 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.39.0-SNAPSHOT~58fe2cc920, baseline=1.39.0-SNAPSHOT~7059a724b9
dateFormat X
axisFormat %s
section baseline
no_agent (1.341 ms) : 1320, 1361
. : milestone, 1341,
appsec (1.714 ms) : 1689, 1739
. : milestone, 1714,
appsec_no_iast (1.74 ms) : 1717, 1764
. : milestone, 1740,
iast (1.488 ms) : 1465, 1511
. : milestone, 1488,
profiling (1.505 ms) : 1480, 1529
. : milestone, 1505,
tracing (1.47 ms) : 1446, 1495
. : milestone, 1470,
section candidate
no_agent (1.359 ms) : 1339, 1378
. : milestone, 1359,
appsec (1.745 ms) : 1720, 1769
. : milestone, 1745,
appsec_no_iast (1.714 ms) : 1690, 1738
. : milestone, 1714,
iast (1.492 ms) : 1469, 1514
. : milestone, 1492,
profiling (1.489 ms) : 1465, 1513
. : milestone, 1489,
tracing (1.456 ms) : 1431, 1481
. : milestone, 1456,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.39.0-SNAPSHOT~58fe2cc920, baseline=1.39.0-SNAPSHOT~7059a724b9
dateFormat X
axisFormat %s
section baseline
no_agent (364.526 µs) : 345, 384
. : milestone, 365,
iast (481.079 µs) : 460, 502
. : milestone, 481,
iast_FULL (558.392 µs) : 537, 580
. : milestone, 558,
iast_GLOBAL (520.77 µs) : 498, 544
. : milestone, 521,
iast_HARDCODED_SECRET_DISABLED (484.155 µs) : 463, 505
. : milestone, 484,
iast_INACTIVE (460.524 µs) : 439, 482
. : milestone, 461,
iast_TELEMETRY_OFF (473.307 µs) : 451, 495
. : milestone, 473,
tracing (448.006 µs) : 428, 468
. : milestone, 448,
section candidate
no_agent (372.542 µs) : 352, 393
. : milestone, 373,
iast (492.859 µs) : 471, 515
. : milestone, 493,
iast_FULL (555.25 µs) : 534, 577
. : milestone, 555,
iast_GLOBAL (509.541 µs) : 488, 531
. : milestone, 510,
iast_HARDCODED_SECRET_DISABLED (489.062 µs) : 468, 511
. : milestone, 489,
iast_INACTIVE (520.7 µs) : 499, 542
. : milestone, 521,
iast_TELEMETRY_OFF (548.318 µs) : 527, 569
. : milestone, 548,
tracing (453.018 µs) : 432, 474
. : milestone, 453,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.39.0-SNAPSHOT~58fe2cc920, baseline=1.39.0-SNAPSHOT~7059a724b9
dateFormat X
axisFormat %s
section baseline
no_agent (1.452 ms) : 1440, 1463
. : milestone, 1452,
appsec (2.206 ms) : 2171, 2241
. : milestone, 2206,
iast (1.967 ms) : 1925, 2008
. : milestone, 1967,
iast_GLOBAL (1.993 ms) : 1951, 2035
. : milestone, 1993,
profiling (1.846 ms) : 1813, 1880
. : milestone, 1846,
tracing (1.826 ms) : 1794, 1859
. : milestone, 1826,
section candidate
no_agent (1.45 ms) : 1439, 1461
. : milestone, 1450,
appsec (2.204 ms) : 2169, 2239
. : milestone, 2204,
iast (1.954 ms) : 1912, 1996
. : milestone, 1954,
iast_GLOBAL (1.997 ms) : 1955, 2040
. : milestone, 1997,
profiling (1.86 ms) : 1826, 1895
. : milestone, 1860,
tracing (1.825 ms) : 1793, 1857
. : milestone, 1825,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.39.0-SNAPSHOT~58fe2cc920, baseline=1.39.0-SNAPSHOT~7059a724b9
dateFormat X
axisFormat %s
section baseline
no_agent (15.432 s) : 15432000, 15432000
. : milestone, 15432000,
appsec (15.179 s) : 15179000, 15179000
. : milestone, 15179000,
iast (18.927 s) : 18927000, 18927000
. : milestone, 18927000,
iast_GLOBAL (17.862 s) : 17862000, 17862000
. : milestone, 17862000,
profiling (15.577 s) : 15577000, 15577000
. : milestone, 15577000,
tracing (14.976 s) : 14976000, 14976000
. : milestone, 14976000,
section candidate
no_agent (14.926 s) : 14926000, 14926000
. : milestone, 14926000,
appsec (15.094 s) : 15094000, 15094000
. : milestone, 15094000,
iast (18.879 s) : 18879000, 18879000
. : milestone, 18879000,
iast_GLOBAL (17.962 s) : 17962000, 17962000
. : milestone, 17962000,
profiling (15.65 s) : 15650000, 15650000
. : milestone, 15650000,
tracing (14.932 s) : 14932000, 14932000
. : milestone, 14932000,
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Does This Do
In some tests we can observe that that might be race conditions between the async dispatch listener that finishes the span part of the servlet 3 instrumentation and the one that handle the request on jetty side.
In particular, the span can be finished when already finished in the servlet3 advice.
This PR tries to avoid this behaviour.
It also Remove phaser barriers from servlet3 async tests
Motivation
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any usefull labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]