-
Notifications
You must be signed in to change notification settings - Fork 320
Fix ClassCastException in SynapseServerInstrumentation #9513
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
Conversation
amarziali
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the fix and for having clarified the method argument name. I left a little comment on the logging
...rap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpServerDecorator.java
Show resolved
Hide resolved
|
🎯 Code Coverage 🔗 Commit SHA: d521efa | Docs | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 46 metrics, 13 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.54.0-SNAPSHOT~d521efab5f, baseline=1.54.0-SNAPSHOT~b84c0183bc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.048 s) : 0, 1048210
Total [baseline] (8.644 s) : 0, 8643990
Agent [candidate] (1.051 s) : 0, 1050926
Total [candidate] (8.666 s) : 0, 8665824
section iast
Agent [baseline] (1.181 s) : 0, 1181207
Total [baseline] (9.404 s) : 0, 9404212
Agent [candidate] (1.182 s) : 0, 1182496
Total [candidate] (9.387 s) : 0, 9387019
gantt
title insecure-bank - break down per module: candidate=1.54.0-SNAPSHOT~d521efab5f, baseline=1.54.0-SNAPSHOT~b84c0183bc
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.463 ms) : 0, 1463
crashtracking [candidate] (1.457 ms) : 0, 1457
BytebuddyAgent [baseline] (731.66 ms) : 0, 731660
BytebuddyAgent [candidate] (734.453 ms) : 0, 734453
GlobalTracer [baseline] (242.564 ms) : 0, 242564
GlobalTracer [candidate] (244.142 ms) : 0, 244142
AppSec [baseline] (30.514 ms) : 0, 30514
AppSec [candidate] (30.862 ms) : 0, 30862
Debugger [baseline] (6.423 ms) : 0, 6423
Debugger [candidate] (6.54 ms) : 0, 6540
Remote Config [baseline] (678.821 µs) : 0, 679
Remote Config [candidate] (700.211 µs) : 0, 700
Telemetry [baseline] (13.863 ms) : 0, 13863
Telemetry [candidate] (11.583 ms) : 0, 11583
section iast
crashtracking [baseline] (1.46 ms) : 0, 1460
crashtracking [candidate] (1.45 ms) : 0, 1450
BytebuddyAgent [baseline] (851.709 ms) : 0, 851709
BytebuddyAgent [candidate] (853.097 ms) : 0, 853097
GlobalTracer [baseline] (233.264 ms) : 0, 233264
GlobalTracer [candidate] (233.611 ms) : 0, 233611
IAST [baseline] (31.417 ms) : 0, 31417
IAST [candidate] (31.283 ms) : 0, 31283
AppSec [baseline] (27.385 ms) : 0, 27385
AppSec [candidate] (26.185 ms) : 0, 26185
Debugger [baseline] (6.13 ms) : 0, 6130
Debugger [candidate] (6.916 ms) : 0, 6916
Remote Config [baseline] (609.718 µs) : 0, 610
Remote Config [candidate] (624.286 µs) : 0, 624
Telemetry [baseline] (8.244 ms) : 0, 8244
Telemetry [candidate] (8.295 ms) : 0, 8295
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.54.0-SNAPSHOT~d521efab5f, baseline=1.54.0-SNAPSHOT~b84c0183bc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1055225
Total [baseline] (10.838 s) : 0, 10837504
Agent [candidate] (1.05 s) : 0, 1049622
Total [candidate] (10.734 s) : 0, 10734488
section appsec
Agent [baseline] (1.235 s) : 0, 1235391
Total [baseline] (10.946 s) : 0, 10945579
Agent [candidate] (1.231 s) : 0, 1230863
Total [candidate] (10.884 s) : 0, 10884421
section iast
Agent [baseline] (1.178 s) : 0, 1177918
Total [baseline] (10.881 s) : 0, 10880505
Agent [candidate] (1.187 s) : 0, 1187007
Total [candidate] (10.95 s) : 0, 10950024
section profiling
Agent [baseline] (1.201 s) : 0, 1200857
Total [baseline] (10.837 s) : 0, 10836515
Agent [candidate] (1.207 s) : 0, 1207236
Total [candidate] (10.885 s) : 0, 10885476
gantt
title petclinic - break down per module: candidate=1.54.0-SNAPSHOT~d521efab5f, baseline=1.54.0-SNAPSHOT~b84c0183bc
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.462 ms) : 0, 1462
crashtracking [candidate] (1.462 ms) : 0, 1462
BytebuddyAgent [baseline] (736.624 ms) : 0, 736624
BytebuddyAgent [candidate] (732.125 ms) : 0, 732125
GlobalTracer [baseline] (244.517 ms) : 0, 244517
GlobalTracer [candidate] (242.868 ms) : 0, 242868
AppSec [baseline] (30.935 ms) : 0, 30935
AppSec [candidate] (30.469 ms) : 0, 30469
Debugger [baseline] (6.564 ms) : 0, 6564
Debugger [candidate] (6.417 ms) : 0, 6417
Remote Config [baseline] (702.744 µs) : 0, 703
Remote Config [candidate] (671.035 µs) : 0, 671
Telemetry [baseline] (13.149 ms) : 0, 13149
Telemetry [candidate] (14.478 ms) : 0, 14478
section appsec
crashtracking [baseline] (1.472 ms) : 0, 1472
crashtracking [candidate] (1.464 ms) : 0, 1464
BytebuddyAgent [baseline] (762.941 ms) : 0, 762941
BytebuddyAgent [candidate] (759.714 ms) : 0, 759714
GlobalTracer [baseline] (237.567 ms) : 0, 237567
GlobalTracer [candidate] (237.02 ms) : 0, 237020
AppSec [baseline] (169.137 ms) : 0, 169137
AppSec [candidate] (171.135 ms) : 0, 171135
Debugger [baseline] (9.998 ms) : 0, 9998
Debugger [candidate] (7.547 ms) : 0, 7547
Remote Config [baseline] (650.087 µs) : 0, 650
Remote Config [candidate] (640.355 µs) : 0, 640
Telemetry [baseline] (8.501 ms) : 0, 8501
Telemetry [candidate] (8.45 ms) : 0, 8450
IAST [baseline] (23.826 ms) : 0, 23826
IAST [candidate] (23.697 ms) : 0, 23697
section iast
crashtracking [baseline] (1.444 ms) : 0, 1444
crashtracking [candidate] (1.46 ms) : 0, 1460
BytebuddyAgent [baseline] (849.551 ms) : 0, 849551
BytebuddyAgent [candidate] (856.676 ms) : 0, 856676
GlobalTracer [baseline] (233.668 ms) : 0, 233668
GlobalTracer [candidate] (233.753 ms) : 0, 233753
AppSec [baseline] (26.114 ms) : 0, 26114
AppSec [candidate] (26.593 ms) : 0, 26593
Debugger [baseline] (6.156 ms) : 0, 6156
Debugger [candidate] (7.061 ms) : 0, 7061
Remote Config [baseline] (618.237 µs) : 0, 618
Remote Config [candidate] (615.224 µs) : 0, 615
Telemetry [baseline] (8.333 ms) : 0, 8333
Telemetry [candidate] (9.159 ms) : 0, 9159
IAST [baseline] (30.989 ms) : 0, 30989
IAST [candidate] (30.541 ms) : 0, 30541
section profiling
ProfilingAgent [baseline] (108.126 ms) : 0, 108126
ProfilingAgent [candidate] (108.502 ms) : 0, 108502
crashtracking [baseline] (1.428 ms) : 0, 1428
crashtracking [candidate] (1.436 ms) : 0, 1436
BytebuddyAgent [baseline] (763.355 ms) : 0, 763355
BytebuddyAgent [candidate] (766.832 ms) : 0, 766832
GlobalTracer [baseline] (222.695 ms) : 0, 222695
GlobalTracer [candidate] (224.491 ms) : 0, 224491
AppSec [baseline] (30.753 ms) : 0, 30753
AppSec [candidate] (32.703 ms) : 0, 32703
Debugger [baseline] (6.782 ms) : 0, 6782
Debugger [candidate] (6.734 ms) : 0, 6734
Remote Config [baseline] (732.311 µs) : 0, 732
Remote Config [candidate] (686.455 µs) : 0, 686
Telemetry [baseline] (16.375 ms) : 0, 16375
Telemetry [candidate] (15.073 ms) : 0, 15073
Profiling [baseline] (108.827 ms) : 0, 108827
Profiling [candidate] (109.23 ms) : 0, 109230
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 2 performance regressions! Performance is the same for 9 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~d521efab5f, baseline=1.54.0-SNAPSHOT~b84c0183bc
dateFormat X
axisFormat %s
section baseline
no_agent (37.935 ms) : 37630, 38240
. : milestone, 37935,
appsec (47.013 ms) : 46605, 47420
. : milestone, 47013,
code_origins (45.289 ms) : 44889, 45689
. : milestone, 45289,
iast (44.646 ms) : 44249, 45044
. : milestone, 44646,
profiling (48.547 ms) : 48116, 48978
. : milestone, 48547,
tracing (45.301 ms) : 44908, 45693
. : milestone, 45301,
section candidate
no_agent (36.648 ms) : 36354, 36941
. : milestone, 36648,
appsec (49.704 ms) : 49243, 50165
. : milestone, 49704,
code_origins (44.863 ms) : 44474, 45251
. : milestone, 44863,
iast (45.017 ms) : 44622, 45413
. : milestone, 45017,
profiling (49.163 ms) : 48688, 49637
. : milestone, 49163,
tracing (44.361 ms) : 43973, 44749
. : milestone, 44361,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~d521efab5f, baseline=1.54.0-SNAPSHOT~b84c0183bc
dateFormat X
axisFormat %s
section baseline
no_agent (4.495 ms) : 4439, 4550
. : milestone, 4495,
iast (9.489 ms) : 9326, 9652
. : milestone, 9489,
iast_FULL (14.271 ms) : 13985, 14557
. : milestone, 14271,
iast_GLOBAL (10.418 ms) : 10232, 10604
. : milestone, 10418,
profiling (8.816 ms) : 8677, 8955
. : milestone, 8816,
tracing (8.004 ms) : 7888, 8120
. : milestone, 8004,
section candidate
no_agent (4.378 ms) : 4323, 4432
. : milestone, 4378,
iast (9.894 ms) : 9726, 10061
. : milestone, 9894,
iast_FULL (14.516 ms) : 14230, 14802
. : milestone, 14516,
iast_GLOBAL (10.662 ms) : 10468, 10856
. : milestone, 10662,
profiling (9.056 ms) : 8901, 9210
. : milestone, 9056,
tracing (7.768 ms) : 7656, 7881
. : milestone, 7768,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~d521efab5f, baseline=1.54.0-SNAPSHOT~b84c0183bc
dateFormat X
axisFormat %s
section baseline
no_agent (14.867 s) : 14867000, 14867000
. : milestone, 14867000,
appsec (15.029 s) : 15029000, 15029000
. : milestone, 15029000,
iast (18.305 s) : 18305000, 18305000
. : milestone, 18305000,
iast_GLOBAL (18.096 s) : 18096000, 18096000
. : milestone, 18096000,
profiling (16.029 s) : 16029000, 16029000
. : milestone, 16029000,
tracing (14.876 s) : 14876000, 14876000
. : milestone, 14876000,
section candidate
no_agent (15.338 s) : 15338000, 15338000
. : milestone, 15338000,
appsec (14.845 s) : 14845000, 14845000
. : milestone, 14845000,
iast (18.598 s) : 18598000, 18598000
. : milestone, 18598000,
iast_GLOBAL (18.153 s) : 18153000, 18153000
. : milestone, 18153000,
profiling (15.45 s) : 15450000, 15450000
. : milestone, 15450000,
tracing (15.075 s) : 15075000, 15075000
. : milestone, 15075000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~d521efab5f, baseline=1.54.0-SNAPSHOT~b84c0183bc
dateFormat X
axisFormat %s
section baseline
no_agent (1.469 ms) : 1457, 1480
. : milestone, 1469,
appsec (3.699 ms) : 3481, 3917
. : milestone, 3699,
iast (2.198 ms) : 2135, 2261
. : milestone, 2198,
iast_GLOBAL (2.241 ms) : 2178, 2305
. : milestone, 2241,
profiling (2.056 ms) : 2004, 2108
. : milestone, 2056,
tracing (2.012 ms) : 1963, 2061
. : milestone, 2012,
section candidate
no_agent (1.479 ms) : 1468, 1491
. : milestone, 1479,
appsec (3.726 ms) : 3508, 3943
. : milestone, 3726,
iast (2.186 ms) : 2124, 2249
. : milestone, 2186,
iast_GLOBAL (2.232 ms) : 2169, 2295
. : milestone, 2232,
profiling (2.022 ms) : 1972, 2071
. : milestone, 2022,
tracing (2.011 ms) : 1963, 2060
. : milestone, 2011,
|
… containing the extracted trace data
c711f72 to
d521efa
Compare
What Does This Do
SynapseServerInstrumentationshould passparentContexttoHttpServerDecorator.onRequestbecause the decorator will attempt to extract the incomingAgentSpanContext.Extractedfrom it.Motivation
HttpServerDecorator.onRequestexpects to be passed the parent context containing the extracted trace data.Additional Notes
Updated the parameter name to make clear this method expects the incoming
parentContext.Also updated
getExtractedSpanContextto report a clear warning if we find the given context contains an incompatible span context, rather than attempt the cast and cause aClassCastExceptionwhich is harder to debug and could cause other side-effects in instrumentation.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: APMS-17143