-
Notifications
You must be signed in to change notification settings - Fork 309
Only inject ot-baggage-* into the HTTP headers once. #9171
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
base: master
Are you sure you want to change the base?
Conversation
This resolves the issue that occurs when both DATADOG and TRACECONTEXT propagation styles are active and the carrier injects the same key multiple times (e.g. GrpcHttp2OutboundHeaders).
ba22d31
to
31247ab
Compare
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 44 metrics, 9 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.52.0-SNAPSHOT~31247ab2f0, baseline=1.52.0-SNAPSHOT~562e53388e
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (998.82 ms) : 0, 998820
Total [baseline] (10.641 s) : 0, 10641400
Agent [candidate] (991.614 ms) : 0, 991614
Total [candidate] (10.563 s) : 0, 10562814
section appsec
Agent [baseline] (1.173 s) : 0, 1173129
Total [baseline] (10.76 s) : 0, 10759658
Agent [candidate] (1.173 s) : 0, 1172901
Total [candidate] (10.738 s) : 0, 10738254
section iast
Agent [baseline] (1.145 s) : 0, 1145389
Total [baseline] (10.931 s) : 0, 10931097
Agent [candidate] (1.128 s) : 0, 1127561
Total [candidate] (10.79 s) : 0, 10790125
section profiling
Agent [baseline] (1.242 s) : 0, 1242282
Total [baseline] (10.931 s) : 0, 10931199
Agent [candidate] (1.24 s) : 0, 1240075
Total [candidate] (10.957 s) : 0, 10957426
gantt
title petclinic - break down per module: candidate=1.52.0-SNAPSHOT~31247ab2f0, baseline=1.52.0-SNAPSHOT~562e53388e
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (689.104 ms) : 0, 689104
BytebuddyAgent [candidate] (684.598 ms) : 0, 684598
GlobalTracer [baseline] (243.237 ms) : 0, 243237
GlobalTracer [candidate] (241.423 ms) : 0, 241423
AppSec [baseline] (30.565 ms) : 0, 30565
AppSec [candidate] (30.022 ms) : 0, 30022
Debugger [baseline] (6.023 ms) : 0, 6023
Debugger [candidate] (5.977 ms) : 0, 5977
Remote Config [baseline] (678.638 µs) : 0, 679
Remote Config [candidate] (679.619 µs) : 0, 680
Telemetry [baseline] (8.264 ms) : 0, 8264
Telemetry [candidate] (8.157 ms) : 0, 8157
section appsec
BytebuddyAgent [baseline] (708.297 ms) : 0, 708297
BytebuddyAgent [candidate] (707.878 ms) : 0, 707878
GlobalTracer [baseline] (234.693 ms) : 0, 234693
GlobalTracer [candidate] (234.849 ms) : 0, 234849
IAST [baseline] (23.363 ms) : 0, 23363
IAST [candidate] (23.542 ms) : 0, 23542
AppSec [baseline] (171.403 ms) : 0, 171403
AppSec [candidate] (171.407 ms) : 0, 171407
Debugger [baseline] (5.797 ms) : 0, 5797
Debugger [candidate] (5.747 ms) : 0, 5747
Remote Config [baseline] (602.979 µs) : 0, 603
Remote Config [candidate] (600.175 µs) : 0, 600
Telemetry [baseline] (8.079 ms) : 0, 8079
Telemetry [candidate] (8.038 ms) : 0, 8038
section iast
BytebuddyAgent [baseline] (816.812 ms) : 0, 816812
BytebuddyAgent [candidate] (802.687 ms) : 0, 802687
GlobalTracer [baseline] (234.946 ms) : 0, 234946
GlobalTracer [candidate] (232.167 ms) : 0, 232167
IAST [baseline] (28.455 ms) : 0, 28455
IAST [candidate] (28.957 ms) : 0, 28957
AppSec [baseline] (29.828 ms) : 0, 29828
AppSec [candidate] (28.087 ms) : 0, 28087
Debugger [baseline] (5.769 ms) : 0, 5769
Debugger [candidate] (6.513 ms) : 0, 6513
Remote Config [baseline] (574.697 µs) : 0, 575
Remote Config [candidate] (575.289 µs) : 0, 575
Telemetry [baseline] (7.956 ms) : 0, 7956
Telemetry [candidate] (7.837 ms) : 0, 7837
section profiling
BytebuddyAgent [baseline] (675.426 ms) : 0, 675426
BytebuddyAgent [candidate] (674.854 ms) : 0, 674854
GlobalTracer [baseline] (361.426 ms) : 0, 361426
GlobalTracer [candidate] (360.998 ms) : 0, 360998
AppSec [baseline] (32.462 ms) : 0, 32462
AppSec [candidate] (32.868 ms) : 0, 32868
Debugger [baseline] (9.862 ms) : 0, 9862
Debugger [candidate] (9.056 ms) : 0, 9056
Remote Config [baseline] (656.361 µs) : 0, 656
Remote Config [candidate] (671.041 µs) : 0, 671
Telemetry [baseline] (10.295 ms) : 0, 10295
Telemetry [candidate] (10.285 ms) : 0, 10285
ProfilingAgent [baseline] (103.5 ms) : 0, 103500
ProfilingAgent [candidate] (102.805 ms) : 0, 102805
Profiling [baseline] (103.526 ms) : 0, 103526
Profiling [candidate] (102.829 ms) : 0, 102829
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.52.0-SNAPSHOT~31247ab2f0, baseline=1.52.0-SNAPSHOT~562e53388e
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (994.229 ms) : 0, 994229
Total [baseline] (8.61 s) : 0, 8610323
Agent [candidate] (1.0 s) : 0, 1000189
Total [candidate] (8.579 s) : 0, 8579294
section iast
Agent [baseline] (1.132 s) : 0, 1131929
Total [baseline] (9.321 s) : 0, 9320788
Agent [candidate] (1.146 s) : 0, 1146462
Total [candidate] (9.389 s) : 0, 9388902
gantt
title insecure-bank - break down per module: candidate=1.52.0-SNAPSHOT~31247ab2f0, baseline=1.52.0-SNAPSHOT~562e53388e
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (686.439 ms) : 0, 686439
BytebuddyAgent [candidate] (689.937 ms) : 0, 689937
GlobalTracer [baseline] (241.764 ms) : 0, 241764
GlobalTracer [candidate] (243.805 ms) : 0, 243805
AppSec [baseline] (30.27 ms) : 0, 30270
AppSec [candidate] (30.486 ms) : 0, 30486
Debugger [baseline] (6.053 ms) : 0, 6053
Debugger [candidate] (6.017 ms) : 0, 6017
Remote Config [baseline] (679.443 µs) : 0, 679
Remote Config [candidate] (687.835 µs) : 0, 688
Telemetry [baseline] (8.225 ms) : 0, 8225
Telemetry [candidate] (8.25 ms) : 0, 8250
section iast
BytebuddyAgent [baseline] (806.413 ms) : 0, 806413
BytebuddyAgent [candidate] (818.438 ms) : 0, 818438
GlobalTracer [baseline] (232.66 ms) : 0, 232660
GlobalTracer [candidate] (234.689 ms) : 0, 234689
IAST [baseline] (27.25 ms) : 0, 27250
IAST [candidate] (27.421 ms) : 0, 27421
AppSec [baseline] (30.579 ms) : 0, 30579
AppSec [candidate] (29.714 ms) : 0, 29714
Debugger [baseline] (5.731 ms) : 0, 5731
Debugger [candidate] (6.664 ms) : 0, 6664
Remote Config [baseline] (574.364 µs) : 0, 574
Remote Config [candidate] (574.932 µs) : 0, 575
Telemetry [baseline] (7.928 ms) : 0, 7928
Telemetry [candidate] (7.902 ms) : 0, 7902
LoadParameters
See matching parameters
SummaryFound 2 performance improvements and 2 performance regressions! Performance is the same for 8 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~31247ab2f0, baseline=1.52.0-SNAPSHOT~562e53388e
dateFormat X
axisFormat %s
section baseline
no_agent (36.353 ms) : 36056, 36650
. : milestone, 36353,
appsec (47.988 ms) : 47563, 48413
. : milestone, 47988,
code_origins (45.503 ms) : 45117, 45888
. : milestone, 45503,
iast (44.351 ms) : 43966, 44736
. : milestone, 44351,
profiling (49.644 ms) : 49200, 50089
. : milestone, 49644,
tracing (45.247 ms) : 44856, 45637
. : milestone, 45247,
section candidate
no_agent (36.752 ms) : 36450, 37055
. : milestone, 36752,
appsec (45.717 ms) : 45322, 46112
. : milestone, 45717,
code_origins (45.56 ms) : 45154, 45965
. : milestone, 45560,
iast (43.732 ms) : 43352, 44112
. : milestone, 43732,
profiling (50.189 ms) : 49683, 50695
. : milestone, 50189,
tracing (43.572 ms) : 43203, 43942
. : milestone, 43572,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~31247ab2f0, baseline=1.52.0-SNAPSHOT~562e53388e
dateFormat X
axisFormat %s
section baseline
no_agent (4.387 ms) : 4337, 4437
. : milestone, 4387,
iast (9.288 ms) : 9137, 9440
. : milestone, 9288,
iast_FULL (14.242 ms) : 13960, 14523
. : milestone, 14242,
iast_GLOBAL (10.153 ms) : 9973, 10332
. : milestone, 10153,
profiling (8.179 ms) : 8057, 8301
. : milestone, 8179,
tracing (7.184 ms) : 7082, 7285
. : milestone, 7184,
section candidate
no_agent (4.481 ms) : 4427, 4534
. : milestone, 4481,
iast (9.128 ms) : 8978, 9278
. : milestone, 9128,
iast_FULL (13.892 ms) : 13609, 14174
. : milestone, 13892,
iast_GLOBAL (10.062 ms) : 9883, 10242
. : milestone, 10062,
profiling (8.549 ms) : 8418, 8680
. : milestone, 8549,
tracing (7.581 ms) : 7467, 7695
. : milestone, 7581,
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.52.0-SNAPSHOT~31247ab2f0, baseline=1.52.0-SNAPSHOT~562e53388e
dateFormat X
axisFormat %s
section baseline
no_agent (15.594 s) : 15594000, 15594000
. : milestone, 15594000,
appsec (15.048 s) : 15048000, 15048000
. : milestone, 15048000,
iast (18.376 s) : 18376000, 18376000
. : milestone, 18376000,
iast_GLOBAL (17.974 s) : 17974000, 17974000
. : milestone, 17974000,
profiling (15.227 s) : 15227000, 15227000
. : milestone, 15227000,
tracing (14.915 s) : 14915000, 14915000
. : milestone, 14915000,
section candidate
no_agent (14.956 s) : 14956000, 14956000
. : milestone, 14956000,
appsec (14.78 s) : 14780000, 14780000
. : milestone, 14780000,
iast (18.398 s) : 18398000, 18398000
. : milestone, 18398000,
iast_GLOBAL (18.028 s) : 18028000, 18028000
. : milestone, 18028000,
profiling (15.274 s) : 15274000, 15274000
. : milestone, 15274000,
tracing (14.96 s) : 14960000, 14960000
. : milestone, 14960000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~31247ab2f0, baseline=1.52.0-SNAPSHOT~562e53388e
dateFormat X
axisFormat %s
section baseline
no_agent (1.477 ms) : 1465, 1489
. : milestone, 1477,
appsec (2.411 ms) : 2361, 2461
. : milestone, 2411,
iast (2.195 ms) : 2133, 2257
. : milestone, 2195,
iast_GLOBAL (2.232 ms) : 2169, 2294
. : milestone, 2232,
profiling (2.043 ms) : 1992, 2093
. : milestone, 2043,
tracing (2.005 ms) : 1957, 2054
. : milestone, 2005,
section candidate
no_agent (1.471 ms) : 1460, 1483
. : milestone, 1471,
appsec (2.409 ms) : 2359, 2459
. : milestone, 2409,
iast (2.192 ms) : 2130, 2254
. : milestone, 2192,
iast_GLOBAL (2.227 ms) : 2165, 2290
. : milestone, 2227,
profiling (2.447 ms) : 2286, 2608
. : milestone, 2447,
tracing (2.001 ms) : 1953, 2049
. : milestone, 2001,
|
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.
Interesting issue. I wonder if:
- injection is the only issue other I don't expect headers to be duplicated indefinitely for each bump
- we should not introduce a baggage propagator specifically rather than trying to tweak interactions between the existing ones
I will have a look later this week
What Does This Do
Only inject
ot-baggage-*
into the HTTP headers once.Motivation
This resolves the issue that occurs when both
DATADOG
andTRACECONTEXT
propagation styles are active and the carrier injects the same key multiple times (e.g.GrpcHttp2OutboundHeaders
).Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: APMS-16280