-
Notifications
You must be signed in to change notification settings - Fork 318
Enable Inferred Proxy Span Support #9958
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
|
🎯 Code Coverage 🔗 Commit SHA: 14bdcc1 | Docs | Datadog PR Page | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 7 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.56.0-SNAPSHOT~14bdcc1c98, baseline=1.56.0-SNAPSHOT~256a0969fa
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.098 s) : 0, 1098193
Total [baseline] (10.781 s) : 0, 10781272
Agent [candidate] (1.1 s) : 0, 1100374
Total [candidate] (10.83 s) : 0, 10829708
section appsec
Agent [baseline] (1.287 s) : 0, 1286814
Total [baseline] (11.064 s) : 0, 11064463
Agent [candidate] (1.29 s) : 0, 1290427
Total [candidate] (11.079 s) : 0, 11079038
section iast
Agent [baseline] (1.24 s) : 0, 1239680
Total [baseline] (11.136 s) : 0, 11136149
Agent [candidate] (1.237 s) : 0, 1237054
Total [candidate] (11.214 s) : 0, 11214480
section profiling
Agent [baseline] (1.234 s) : 0, 1234275
Total [baseline] (11.094 s) : 0, 11093508
Agent [candidate] (1.228 s) : 0, 1228061
Total [candidate] (11.003 s) : 0, 11002688
gantt
title petclinic - break down per module: candidate=1.56.0-SNAPSHOT~14bdcc1c98, baseline=1.56.0-SNAPSHOT~256a0969fa
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.468 ms) : 0, 1468
crashtracking [candidate] (1.462 ms) : 0, 1462
BytebuddyAgent [baseline] (704.566 ms) : 0, 704566
BytebuddyAgent [candidate] (705.513 ms) : 0, 705513
GlobalTracer [baseline] (247.99 ms) : 0, 247990
GlobalTracer [candidate] (248.959 ms) : 0, 248959
AppSec [baseline] (32.3 ms) : 0, 32300
AppSec [candidate] (32.686 ms) : 0, 32686
Debugger [baseline] (64.289 ms) : 0, 64289
Debugger [candidate] (64.624 ms) : 0, 64624
Remote Config [baseline] (650.127 µs) : 0, 650
Remote Config [candidate] (640.67 µs) : 0, 641
Telemetry [baseline] (8.25 ms) : 0, 8250
Telemetry [candidate] (8.188 ms) : 0, 8188
Flare Poller [baseline] (3.916 ms) : 0, 3916
Flare Poller [candidate] (3.705 ms) : 0, 3705
section appsec
crashtracking [baseline] (1.466 ms) : 0, 1466
crashtracking [candidate] (1.47 ms) : 0, 1470
BytebuddyAgent [baseline] (733.448 ms) : 0, 733448
BytebuddyAgent [candidate] (736.041 ms) : 0, 736041
GlobalTracer [baseline] (241.819 ms) : 0, 241819
GlobalTracer [candidate] (242.78 ms) : 0, 242780
AppSec [baseline] (175.311 ms) : 0, 175311
AppSec [candidate] (175.373 ms) : 0, 175373
Debugger [baseline] (61.65 ms) : 0, 61650
Debugger [candidate] (61.484 ms) : 0, 61484
Remote Config [baseline] (692.554 µs) : 0, 693
Remote Config [candidate] (694.901 µs) : 0, 695
Telemetry [baseline] (8.469 ms) : 0, 8469
Telemetry [candidate] (8.522 ms) : 0, 8522
Flare Poller [baseline] (3.919 ms) : 0, 3919
Flare Poller [candidate] (3.927 ms) : 0, 3927
IAST [baseline] (25.077 ms) : 0, 25077
IAST [candidate] (25.196 ms) : 0, 25196
section iast
crashtracking [baseline] (1.482 ms) : 0, 1482
crashtracking [candidate] (1.45 ms) : 0, 1450
BytebuddyAgent [baseline] (830.596 ms) : 0, 830596
BytebuddyAgent [candidate] (828.886 ms) : 0, 828886
GlobalTracer [baseline] (238.449 ms) : 0, 238449
GlobalTracer [candidate] (237.594 ms) : 0, 237594
AppSec [baseline] (33.203 ms) : 0, 33203
AppSec [candidate] (31.316 ms) : 0, 31316
Debugger [baseline] (61.16 ms) : 0, 61160
Debugger [candidate] (61.288 ms) : 0, 61288
Remote Config [baseline] (555.799 µs) : 0, 556
Remote Config [candidate] (546.082 µs) : 0, 546
Telemetry [baseline] (7.6 ms) : 0, 7600
Telemetry [candidate] (7.625 ms) : 0, 7625
Flare Poller [baseline] (3.465 ms) : 0, 3465
Flare Poller [candidate] (3.458 ms) : 0, 3458
IAST [baseline] (28.46 ms) : 0, 28460
IAST [candidate] (30.238 ms) : 0, 30238
section profiling
crashtracking [baseline] (1.451 ms) : 0, 1451
crashtracking [candidate] (1.434 ms) : 0, 1434
BytebuddyAgent [baseline] (733.895 ms) : 0, 733895
BytebuddyAgent [candidate] (730.494 ms) : 0, 730494
GlobalTracer [baseline] (223.121 ms) : 0, 223121
GlobalTracer [candidate] (221.569 ms) : 0, 221569
AppSec [baseline] (32.58 ms) : 0, 32580
AppSec [candidate] (32.46 ms) : 0, 32460
Debugger [baseline] (63.447 ms) : 0, 63447
Debugger [candidate] (63.086 ms) : 0, 63086
Remote Config [baseline] (669.843 µs) : 0, 670
Remote Config [candidate] (635.002 µs) : 0, 635
Telemetry [baseline] (8.017 ms) : 0, 8017
Telemetry [candidate] (7.977 ms) : 0, 7977
Flare Poller [baseline] (3.774 ms) : 0, 3774
Flare Poller [candidate] (3.739 ms) : 0, 3739
ProfilingAgent [baseline] (97.512 ms) : 0, 97512
ProfilingAgent [candidate] (96.88 ms) : 0, 96880
Profiling [baseline] (98.099 ms) : 0, 98099
Profiling [candidate] (97.457 ms) : 0, 97457
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.56.0-SNAPSHOT~14bdcc1c98, baseline=1.56.0-SNAPSHOT~256a0969fa
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.102 s) : 0, 1101815
Total [baseline] (8.891 s) : 0, 8891310
Agent [candidate] (1.105 s) : 0, 1105401
Total [candidate] (8.845 s) : 0, 8844686
section iast
Agent [baseline] (1.235 s) : 0, 1235432
Total [baseline] (9.517 s) : 0, 9516606
Agent [candidate] (1.236 s) : 0, 1235907
Total [candidate] (9.523 s) : 0, 9522684
gantt
title insecure-bank - break down per module: candidate=1.56.0-SNAPSHOT~14bdcc1c98, baseline=1.56.0-SNAPSHOT~256a0969fa
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.461 ms) : 0, 1461
crashtracking [candidate] (1.484 ms) : 0, 1484
BytebuddyAgent [baseline] (707.892 ms) : 0, 707892
BytebuddyAgent [candidate] (710.314 ms) : 0, 710314
GlobalTracer [baseline] (249.3 ms) : 0, 249300
GlobalTracer [candidate] (249.646 ms) : 0, 249646
AppSec [baseline] (32.556 ms) : 0, 32556
AppSec [candidate] (32.718 ms) : 0, 32718
Debugger [baseline] (63.331 ms) : 0, 63331
Debugger [candidate] (63.728 ms) : 0, 63728
Remote Config [baseline] (649.288 µs) : 0, 649
Remote Config [candidate] (633.223 µs) : 0, 633
Telemetry [baseline] (8.221 ms) : 0, 8221
Telemetry [candidate] (8.234 ms) : 0, 8234
Flare Poller [baseline] (3.743 ms) : 0, 3743
Flare Poller [candidate] (3.686 ms) : 0, 3686
section iast
crashtracking [baseline] (1.458 ms) : 0, 1458
crashtracking [candidate] (1.453 ms) : 0, 1453
BytebuddyAgent [baseline] (828.851 ms) : 0, 828851
BytebuddyAgent [candidate] (828.547 ms) : 0, 828547
GlobalTracer [baseline] (237.629 ms) : 0, 237629
GlobalTracer [candidate] (237.751 ms) : 0, 237751
AppSec [baseline] (32.994 ms) : 0, 32994
AppSec [candidate] (33.044 ms) : 0, 33044
Debugger [baseline] (59.897 ms) : 0, 59897
Debugger [candidate] (60.326 ms) : 0, 60326
Remote Config [baseline] (546.65 µs) : 0, 547
Remote Config [candidate] (546.75 µs) : 0, 547
Telemetry [baseline] (7.659 ms) : 0, 7659
Telemetry [candidate] (7.698 ms) : 0, 7698
Flare Poller [baseline] (3.454 ms) : 0, 3454
Flare Poller [candidate] (3.463 ms) : 0, 3463
IAST [baseline] (28.139 ms) : 0, 28139
IAST [candidate] (28.417 ms) : 0, 28417
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 20 metrics, 16 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~14bdcc1c98, baseline=1.56.0-SNAPSHOT~256a0969fa
dateFormat X
axisFormat %s
section baseline
no_agent (1.18 ms) : 1169, 1192
. : milestone, 1180,
iast (3.341 ms) : 3301, 3381
. : milestone, 3341,
iast_FULL (5.705 ms) : 5648, 5761
. : milestone, 5705,
iast_GLOBAL (3.78 ms) : 3632, 3928
. : milestone, 3780,
profiling (1.987 ms) : 1971, 2004
. : milestone, 1987,
tracing (1.826 ms) : 1811, 1842
. : milestone, 1826,
section candidate
no_agent (1.176 ms) : 1165, 1187
. : milestone, 1176,
iast (3.361 ms) : 3311, 3410
. : milestone, 3361,
iast_FULL (5.587 ms) : 5532, 5642
. : milestone, 5587,
iast_GLOBAL (3.659 ms) : 3597, 3722
. : milestone, 3659,
profiling (1.922 ms) : 1906, 1938
. : milestone, 1922,
tracing (1.837 ms) : 1821, 1853
. : milestone, 1837,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~14bdcc1c98, baseline=1.56.0-SNAPSHOT~256a0969fa
dateFormat X
axisFormat %s
section baseline
no_agent (18.339 ms) : 18151, 18528
. : milestone, 18339,
appsec (18.633 ms) : 18445, 18820
. : milestone, 18633,
code_origins (17.763 ms) : 17586, 17940
. : milestone, 17763,
iast (17.82 ms) : 17645, 17996
. : milestone, 17820,
profiling (20.022 ms) : 19819, 20225
. : milestone, 20022,
tracing (17.591 ms) : 17417, 17766
. : milestone, 17591,
section candidate
no_agent (19.141 ms) : 18949, 19332
. : milestone, 19141,
appsec (18.677 ms) : 18489, 18864
. : milestone, 18677,
code_origins (17.55 ms) : 17376, 17724
. : milestone, 17550,
iast (17.886 ms) : 17711, 18061
. : milestone, 17886,
profiling (19.995 ms) : 19790, 20200
. : milestone, 19995,
tracing (17.683 ms) : 17505, 17860
. : milestone, 17683,
DacapoParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~14bdcc1c98, baseline=1.56.0-SNAPSHOT~256a0969fa
dateFormat X
axisFormat %s
section baseline
no_agent (14.947 s) : 14947000, 14947000
. : milestone, 14947000,
appsec (15.158 s) : 15158000, 15158000
. : milestone, 15158000,
iast (18.644 s) : 18644000, 18644000
. : milestone, 18644000,
iast_GLOBAL (18.085 s) : 18085000, 18085000
. : milestone, 18085000,
profiling (15.481 s) : 15481000, 15481000
. : milestone, 15481000,
tracing (14.723 s) : 14723000, 14723000
. : milestone, 14723000,
section candidate
no_agent (15.657 s) : 15657000, 15657000
. : milestone, 15657000,
appsec (14.842 s) : 14842000, 14842000
. : milestone, 14842000,
iast (18.61 s) : 18610000, 18610000
. : milestone, 18610000,
iast_GLOBAL (18.081 s) : 18081000, 18081000
. : milestone, 18081000,
profiling (15.127 s) : 15127000, 15127000
. : milestone, 15127000,
tracing (14.773 s) : 14773000, 14773000
. : milestone, 14773000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~14bdcc1c98, baseline=1.56.0-SNAPSHOT~256a0969fa
dateFormat X
axisFormat %s
section baseline
no_agent (1.476 ms) : 1465, 1488
. : milestone, 1476,
appsec (3.723 ms) : 3504, 3943
. : milestone, 3723,
iast (2.216 ms) : 2152, 2280
. : milestone, 2216,
iast_GLOBAL (2.274 ms) : 2210, 2339
. : milestone, 2274,
profiling (2.065 ms) : 2014, 2117
. : milestone, 2065,
tracing (2.048 ms) : 1997, 2098
. : milestone, 2048,
section candidate
no_agent (1.48 ms) : 1469, 1492
. : milestone, 1480,
appsec (2.514 ms) : 2460, 2568
. : milestone, 2514,
iast (2.24 ms) : 2175, 2304
. : milestone, 2240,
iast_GLOBAL (2.265 ms) : 2200, 2330
. : milestone, 2265,
profiling (2.07 ms) : 2018, 2122
. : milestone, 2070,
tracing (2.039 ms) : 1989, 2089
. : milestone, 2039,
|
What Does This Do
Created inferred spans for AWS API Gateway for HttpServer Integrations. When HTTP server instrumentation receives requests with
x-dd-proxy-*headers, it creates an inferred proxy span representing the API Gateway layer. This span is properly finished when the server request completes, ensuring accurate trace representation and timing.Motivation
Completing feature parity with other tracer support for APIGW visibility (and potentially more proxies in the future). This allows users to see the full request path from API Gateway through their application, providing better observability for serverless deployments.
Additional Notes
TRACE_INFERRED_PROXY_SERVICES_ENABLEDenvironment variable to be set totrueaws.apigateway{httpmethod} {path}(e.g., "GET /success")x-dd-proxy-domain-nameheader or falls back to global confighttp.method,http.url,http.route,stage,_dd.inferred_span=1HttpServerDecorator.beforeFinish()to ensure proper lifecycle managementMANUAL_INSTRUMENTATIONpriority to prevent TagInterceptor from overriding itContributor Checklist
type:and (comp:orinst:) labels in addition to any useful labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]