-
Notifications
You must be signed in to change notification settings - Fork 292
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
Add avoid double instrumenting lambda non-streaming handlers. #8073
Conversation
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
BenchmarksStartupParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 53 metrics, 9 unstable metrics.
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.093 s) : 0, 1092860
Total [baseline] (8.706 s) : 0, 8706176
Agent [candidate] (1.091 s) : 0, 1090970
Total [candidate] (8.689 s) : 0, 8689339
section iast
Agent [baseline] (1.22 s) : 0, 1219621
Total [baseline] (9.237 s) : 0, 9236671
Agent [candidate] (1.22 s) : 0, 1220003
Total [candidate] (9.236 s) : 0, 9235879
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.222 s) : 0, 1222107
Total [baseline] (9.189 s) : 0, 9189461
Agent [candidate] (1.229 s) : 0, 1228511
Total [candidate] (9.203 s) : 0, 9203413
section iast_TELEMETRY_OFF
Agent [baseline] (1.219 s) : 0, 1219495
Total [baseline] (9.195 s) : 0, 9195230
Agent [candidate] (1.218 s) : 0, 1217666
Total [candidate] (9.23 s) : 0, 9230201
gantt
title insecure-bank - break down per module: candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (696.711 ms) : 0, 696711
BytebuddyAgent [candidate] (693.777 ms) : 0, 693777
GlobalTracer [baseline] (318.031 ms) : 0, 318031
GlobalTracer [candidate] (318.062 ms) : 0, 318062
AppSec [baseline] (54.471 ms) : 0, 54471
AppSec [candidate] (54.724 ms) : 0, 54724
Remote Config [baseline] (685.898 µs) : 0, 686
Remote Config [candidate] (688.695 µs) : 0, 689
Telemetry [baseline] (9.214 ms) : 0, 9214
Telemetry [candidate] (9.999 ms) : 0, 9999
section iast
BytebuddyAgent [baseline] (813.105 ms) : 0, 813105
BytebuddyAgent [candidate] (812.609 ms) : 0, 812609
GlobalTracer [baseline] (305.43 ms) : 0, 305430
GlobalTracer [candidate] (306.734 ms) : 0, 306734
AppSec [baseline] (58.056 ms) : 0, 58056
AppSec [candidate] (56.596 ms) : 0, 56596
Remote Config [baseline] (654.548 µs) : 0, 655
Remote Config [candidate] (612.058 µs) : 0, 612
Telemetry [baseline] (7.615 ms) : 0, 7615
Telemetry [candidate] (7.427 ms) : 0, 7427
IAST [baseline] (21.013 ms) : 0, 21013
IAST [candidate] (22.279 ms) : 0, 22279
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (814.597 ms) : 0, 814597
BytebuddyAgent [candidate] (818.714 ms) : 0, 818714
GlobalTracer [baseline] (306.64 ms) : 0, 306640
GlobalTracer [candidate] (309.323 ms) : 0, 309323
AppSec [baseline] (57.202 ms) : 0, 57202
AppSec [candidate] (57.677 ms) : 0, 57677
Remote Config [baseline] (641.756 µs) : 0, 642
Remote Config [candidate] (618.772 µs) : 0, 619
Telemetry [baseline] (7.535 ms) : 0, 7535
Telemetry [candidate] (7.513 ms) : 0, 7513
IAST [baseline] (21.725 ms) : 0, 21725
IAST [candidate] (20.814 ms) : 0, 20814
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (812.309 ms) : 0, 812309
BytebuddyAgent [candidate] (810.285 ms) : 0, 810285
GlobalTracer [baseline] (306.547 ms) : 0, 306547
GlobalTracer [candidate] (306.84 ms) : 0, 306840
AppSec [baseline] (58.407 ms) : 0, 58407
AppSec [candidate] (56.332 ms) : 0, 56332
Remote Config [baseline] (640.948 µs) : 0, 641
Remote Config [candidate] (778.413 µs) : 0, 778
Telemetry [baseline] (7.413 ms) : 0, 7413
Telemetry [candidate] (7.524 ms) : 0, 7524
IAST [baseline] (20.414 ms) : 0, 20414
IAST [candidate] (22.164 ms) : 0, 22164
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.098 s) : 0, 1097716
Total [baseline] (10.466 s) : 0, 10466478
Agent [candidate] (1.099 s) : 0, 1099132
Total [candidate] (10.59 s) : 0, 10589861
section appsec
Agent [baseline] (1.232 s) : 0, 1231572
Total [baseline] (10.774 s) : 0, 10774335
Agent [candidate] (1.234 s) : 0, 1233505
Total [candidate] (10.827 s) : 0, 10827320
section iast
Agent [baseline] (1.224 s) : 0, 1224115
Total [baseline] (10.984 s) : 0, 10983958
Agent [candidate] (1.22 s) : 0, 1220262
Total [candidate] (10.957 s) : 0, 10957199
section profiling
Agent [baseline] (1.335 s) : 0, 1335154
Total [baseline] (10.968 s) : 0, 10968364
Agent [candidate] (1.32 s) : 0, 1319655
Total [candidate] (10.878 s) : 0, 10878320
gantt
title petclinic - break down per module: candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (697.189 ms) : 0, 697189
BytebuddyAgent [candidate] (699.749 ms) : 0, 699749
GlobalTracer [baseline] (318.981 ms) : 0, 318981
GlobalTracer [candidate] (319.885 ms) : 0, 319885
AppSec [baseline] (55.078 ms) : 0, 55078
AppSec [candidate] (55.075 ms) : 0, 55075
Remote Config [baseline] (690.308 µs) : 0, 690
Remote Config [candidate] (678.9 µs) : 0, 679
Telemetry [baseline] (12.054 ms) : 0, 12054
Telemetry [candidate] (9.916 ms) : 0, 9916
section appsec
BytebuddyAgent [baseline] (715.089 ms) : 0, 715089
BytebuddyAgent [candidate] (716.446 ms) : 0, 716446
GlobalTracer [baseline] (316.365 ms) : 0, 316365
GlobalTracer [candidate] (316.198 ms) : 0, 316198
AppSec [baseline] (168.073 ms) : 0, 168073
AppSec [candidate] (168.947 ms) : 0, 168947
Remote Config [baseline] (645.252 µs) : 0, 645
Remote Config [candidate] (655.045 µs) : 0, 655
Telemetry [baseline] (8.162 ms) : 0, 8162
Telemetry [candidate] (7.47 ms) : 0, 7470
IAST [baseline] (18.977 ms) : 0, 18977
IAST [candidate] (20.096 ms) : 0, 20096
section iast
BytebuddyAgent [baseline] (814.363 ms) : 0, 814363
BytebuddyAgent [candidate] (813.222 ms) : 0, 813222
GlobalTracer [baseline] (308.322 ms) : 0, 308322
GlobalTracer [candidate] (306.821 ms) : 0, 306821
AppSec [baseline] (58.357 ms) : 0, 58357
AppSec [candidate] (57.619 ms) : 0, 57619
Remote Config [baseline] (657.185 µs) : 0, 657
Remote Config [candidate] (626.06 µs) : 0, 626
Telemetry [baseline] (7.599 ms) : 0, 7599
Telemetry [candidate] (7.489 ms) : 0, 7489
IAST [baseline] (21.074 ms) : 0, 21074
IAST [candidate] (20.759 ms) : 0, 20759
section profiling
BytebuddyAgent [baseline] (699.431 ms) : 0, 699431
BytebuddyAgent [candidate] (691.179 ms) : 0, 691179
GlobalTracer [baseline] (438.55 ms) : 0, 438550
GlobalTracer [candidate] (434.045 ms) : 0, 434045
AppSec [baseline] (54.129 ms) : 0, 54129
AppSec [candidate] (53.427 ms) : 0, 53427
Remote Config [baseline] (681.603 µs) : 0, 682
Remote Config [candidate] (665.861 µs) : 0, 666
Telemetry [baseline] (7.762 ms) : 0, 7762
Telemetry [candidate] (7.725 ms) : 0, 7725
ProfilingAgent [baseline] (94.903 ms) : 0, 94903
ProfilingAgent [candidate] (93.456 ms) : 0, 93456
Profiling [baseline] (94.927 ms) : 0, 94927
Profiling [candidate] (93.479 ms) : 0, 93479
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 13 metrics, 15 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
dateFormat X
axisFormat %s
section baseline
no_agent (377.662 µs) : 358, 398
. : milestone, 378,
iast (497.285 µs) : 476, 519
. : milestone, 497,
iast_FULL (663.922 µs) : 642, 685
. : milestone, 664,
iast_GLOBAL (535.304 µs) : 512, 559
. : milestone, 535,
iast_HARDCODED_SECRET_DISABLED (501.445 µs) : 480, 523
. : milestone, 501,
iast_INACTIVE (457.185 µs) : 436, 478
. : milestone, 457,
iast_TELEMETRY_OFF (489.711 µs) : 468, 511
. : milestone, 490,
tracing (459.204 µs) : 438, 480
. : milestone, 459,
section candidate
no_agent (383.987 µs) : 364, 404
. : milestone, 384,
iast (497.676 µs) : 476, 519
. : milestone, 498,
iast_FULL (666.491 µs) : 645, 688
. : milestone, 666,
iast_GLOBAL (531.934 µs) : 509, 555
. : milestone, 532,
iast_HARDCODED_SECRET_DISABLED (495.055 µs) : 474, 516
. : milestone, 495,
iast_INACTIVE (455.01 µs) : 434, 476
. : milestone, 455,
iast_TELEMETRY_OFF (488.099 µs) : 466, 510
. : milestone, 488,
tracing (455.469 µs) : 434, 477
. : milestone, 455,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
dateFormat X
axisFormat %s
section baseline
no_agent (1.354 ms) : 1334, 1374
. : milestone, 1354,
appsec (1.774 ms) : 1749, 1798
. : milestone, 1774,
appsec_no_iast (1.772 ms) : 1748, 1796
. : milestone, 1772,
iast (1.516 ms) : 1493, 1540
. : milestone, 1516,
profiling (1.517 ms) : 1493, 1541
. : milestone, 1517,
tracing (1.508 ms) : 1483, 1533
. : milestone, 1508,
section candidate
no_agent (1.348 ms) : 1328, 1368
. : milestone, 1348,
appsec (1.772 ms) : 1747, 1796
. : milestone, 1772,
appsec_no_iast (1.777 ms) : 1753, 1802
. : milestone, 1777,
iast (1.503 ms) : 1480, 1525
. : milestone, 1503,
profiling (1.51 ms) : 1487, 1533
. : milestone, 1510,
tracing (1.509 ms) : 1485, 1533
. : milestone, 1509,
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 tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
dateFormat X
axisFormat %s
section baseline
no_agent (1.468 ms) : 1457, 1480
. : milestone, 1468,
appsec (2.332 ms) : 2291, 2374
. : milestone, 2332,
iast (2.09 ms) : 2037, 2143
. : milestone, 2090,
iast_GLOBAL (2.131 ms) : 2078, 2184
. : milestone, 2131,
profiling (2.456 ms) : 2266, 2646
. : milestone, 2456,
tracing (1.932 ms) : 1891, 1972
. : milestone, 1932,
section candidate
no_agent (1.468 ms) : 1457, 1480
. : milestone, 1468,
appsec (2.344 ms) : 2302, 2385
. : milestone, 2344,
iast (2.081 ms) : 2028, 2133
. : milestone, 2081,
iast_GLOBAL (2.129 ms) : 2076, 2182
. : milestone, 2129,
profiling (1.954 ms) : 1912, 1996
. : milestone, 1954,
tracing (1.928 ms) : 1887, 1968
. : milestone, 1928,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
dateFormat X
axisFormat %s
section baseline
no_agent (14.76 s) : 14760000, 14760000
. : milestone, 14760000,
appsec (15.23 s) : 15230000, 15230000
. : milestone, 15230000,
iast (19.046 s) : 19046000, 19046000
. : milestone, 19046000,
iast_GLOBAL (18.071 s) : 18071000, 18071000
. : milestone, 18071000,
profiling (15.065 s) : 15065000, 15065000
. : milestone, 15065000,
tracing (14.954 s) : 14954000, 14954000
. : milestone, 14954000,
section candidate
no_agent (15.626 s) : 15626000, 15626000
. : milestone, 15626000,
appsec (14.762 s) : 14762000, 14762000
. : milestone, 14762000,
iast (18.366 s) : 18366000, 18366000
. : milestone, 18366000,
iast_GLOBAL (17.783 s) : 17783000, 17783000
. : milestone, 17783000,
profiling (14.759 s) : 14759000, 14759000
. : milestone, 14759000,
tracing (15.005 s) : 15005000, 15005000
. : milestone, 15005000,
|
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.50.0` -> `2.50.1` | | [com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.49.0` -> `2.49.1` | | [com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.49.0` -> `2.49.1` | | [com.google.api:gax](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.59.0` -> `2.59.1` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.44.1` -> `1.45.0` | | [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.44.1` -> `1.45.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.29.47` -> `2.29.48` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.29.47` -> `2.29.48` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.29.47` -> `2.29.48` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.29.47` -> `2.29.48` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.29.47` -> `2.29.48` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.29.47` -> `2.29.48` | --- ### Release Notes <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.45.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.45.0): 1.45.0 ##### Breaking changes > \[!WARNING]\ > Support for custom scope manager using OpenTelemetry tracer artifact (`dd-trace-ot`) is dropped. > Tracing with OpenTracing API and custom scope manager will continue to work on 1.44.x releases. ##### Components ##### Application Security Management (IAST) - ✨ Add propagation to URI#toURL method ([#​8146](DataDog/dd-trace-java#8146) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Increase IAST propagation to StringBuilder setLength ([#​8119](DataDog/dd-trace-java#8119) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Increase IAST propagation to StringBuffer append ([#​8082](DataDog/dd-trace-java#8082) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Handle IAST security controls custom validation and sanitization methods ([#​7997](DataDog/dd-trace-java#7997) - [@​jandro996](https://github.com/jandro996)) ##### Application Security Management (WAF) - ✨ Update user lifecycle tracking to V3 ([#​8108](DataDog/dd-trace-java#8108) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Exploit prevention for Shell Injection / Command Injection ([#​7615](DataDog/dd-trace-java#7615) - [@​jandro996](https://github.com/jandro996)) ##### Build & Tooling - 💡 Support instrumentation of repackaged libraries ([#​8153](DataDog/dd-trace-java#8153) - [@​mcculls](https://github.com/mcculls)) - ✨ Configure native image build setting for JDK-22 based GraalVM ([#​8092](DataDog/dd-trace-java#8092) - [@​MattAlp](https://github.com/MattAlp)) ##### Database Monitoring - ✨ Add full APM/DBM mode for Oracle ([#​8090](DataDog/dd-trace-java#8090) - [@​nenadnoveljic](https://github.com/nenadnoveljic)) ##### Dynamic Instrumentation - 🐛 make local var hoisting disabled by default ([#​8158](DataDog/dd-trace-java#8158) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Fix var hoisting issue when no previous store ([#​8122](DataDog/dd-trace-java#8122) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Only decorate spans without code origin information ([#​8105](DataDog/dd-trace-java#8105) - [@​evanchooly](https://github.com/evanchooly)) - 🐛 Fix suspend Kotlin methods instrumentation ([#​8080](DataDog/dd-trace-java#8080) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Fix class file version detection ([#​8057](DataDog/dd-trace-java#8057) - [@​jpbempel](https://github.com/jpbempel)) ##### GraalVM native-image - ✨ Configure native image build setting for JDK-22 based GraalVM ([#​8092](DataDog/dd-trace-java#8092) - [@​MattAlp](https://github.com/MattAlp)) ##### ML Observability (LLMObs) - ✨🧪 Add LLMObs configuration ([#​8076](DataDog/dd-trace-java#8076) - [@​gary-huang](https://github.com/gary-huang)) ##### Metrics - Bump integrations-core submodule to 7.60.0 ([#​8098](DataDog/dd-trace-java#8098) - [@​mcculls](https://github.com/mcculls)) - Upgrade to java-dogstatsd-client v4.4.3 ([#​8096](DataDog/dd-trace-java#8096) - [@​mcculls](https://github.com/mcculls)) ##### OpenTracing -⚠️ 🧹 Remove custom scope manager support ([#​8164](DataDog/dd-trace-java#8164) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Telemetry - ✨ Retry telemetry requests if CI Visibility is enabled ([#​8147](DataDog/dd-trace-java#8147) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Add configurable Dependency service resolution period ([#​8079](DataDog/dd-trace-java#8079) - [@​jandro996](https://github.com/jandro996)) ##### Testing - 🐛 Remove restriction to not run vertx4 latest tests on java 17 ([#​8133](DataDog/dd-trace-java#8133) - [@​vandonr](https://github.com/vandonr)) ##### Tracer core - ✨ Defer remote components to avoid OkHttp class-loading side-effects ([#​8131](DataDog/dd-trace-java#8131) - [@​mcculls](https://github.com/mcculls)) - ✨ Improve Context API null handling and Javadoc ([#​8129](DataDog/dd-trace-java#8129) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 🐛⚡ Avoid performing blocking I/O operation on application thread ([#​8120](DataDog/dd-trace-java#8120) - [@​mcculls](https://github.com/mcculls)) - 💡 Introduce a shared context component, independent of tracing ([#​8117](DataDog/dd-trace-java#8117) - [@​mcculls](https://github.com/mcculls)) - ✨ Improves ServiceNameCollector ([#​8109](DataDog/dd-trace-java#8109) - [@​amarziali](https://github.com/amarziali)) - Upgrade to ASM 9.7.1 (adds new constant for Java 24) ([#​8097](DataDog/dd-trace-java#8097) - [@​mcculls](https://github.com/mcculls)) - 🐛 Dynamically evaluate service name for message consumers ([#​8088](DataDog/dd-trace-java#8088) - [@​amarziali](https://github.com/amarziali)) ##### Serverless - 🐛 Add avoid double instrumenting lambda non-streaming handlers. ([#​8073](DataDog/dd-trace-java#8073) - [@​purple4reina](https://github.com/purple4reina)) ##### Instrumentations ##### AWS SDK instrumentation - 💡 Instrument EMR's relocated AWS SDK ([#​8157](DataDog/dd-trace-java#8157) - [@​mcculls](https://github.com/mcculls)) ##### Eclipse Vert.x instrumentation - 🐛 Remove restriction to not run vertx4 latest tests on java 17 ([#​8133](DataDog/dd-trace-java#8133) - [@​vandonr](https://github.com/vandonr)) ##### JDBC instrumentation - ✨ Add full APM/DBM mode for Oracle ([#​8090](DataDog/dd-trace-java#8090) - [@​nenadnoveljic](https://github.com/nenadnoveljic)) ##### Jetty instrumentation - 🐛 Ensure jetty 12 has servlet.path starting with / ([#​8093](DataDog/dd-trace-java#8093) - [@​github-actions](https://github.com/github-actions)\[bot]) ##### JMS instrumentation - 🧹 Re-use `javax` JMS module for `jakarta` namespace ([#​8155](DataDog/dd-trace-java#8155) - [@​mcculls](https://github.com/mcculls)) - 🧹 Group `javax.jms` instrumentations under a single module ([#​8154](DataDog/dd-trace-java#8154) - [@​mcculls](https://github.com/mcculls)) ##### Reactor instrumentation - 🐛 Reactor: early propagate span in context when subscribing ([#​8166](DataDog/dd-trace-java#8166) - [@​amarziali](https://github.com/amarziali)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: ba2355aa4e2e39ab1fee27319cc4176238efd90b
What Does This Do
Adds
lambdainternal.EventHandlerLoader$PojoHandlerAsStreamHandler
to the list of ignored classes.Motivation
It seems that, under the hood, aws lambda wraps non-streaming handlers in an internal streaming handler class. This allows them to execute these two different kinds of lambda functions in a single unified way.
However, since this internally wrapping handler is also matching our advice matchers, it gets instrumented as well. Mostly, that is not an issue, except for the fact that it means we're unable to capture the return value of the original handler function.
In the non-streaming case, since the internal streaming handler class is wrapping the customer's handler function, the streaming instrumentation gets executed first. This means that, for the
OnMethodExit
we cannot grab the handler's return value since all streaming handlers return void. Therefore, the returned object is not passed to the extension and not captured.Adding this lambda internal streaming handler class to the list of ignores ensures that the
OnMethodExit
is called specifically when the customer's handler code returns.Additional Notes
I deployed this code in a testing layer to aws lambda and confirmed that we are now able to see the response payload in the non-streaming case.
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: [PROJ-IDENT]
https://datadoghq.atlassian.net/browse/SLES-1920