-
Notifications
You must be signed in to change notification settings - Fork 303
Combine continuation implementations into one which supports multiple activations #8324
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
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 5 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.044 s) : 0, 1044030
Total [baseline] (8.661 s) : 0, 8661202
Agent [candidate] (1.04 s) : 0, 1040025
Total [candidate] (8.616 s) : 0, 8616172
section iast
Agent [baseline] (1.179 s) : 0, 1179181
Total [baseline] (9.219 s) : 0, 9219315
Agent [candidate] (1.169 s) : 0, 1168604
Total [candidate] (9.173 s) : 0, 9172508
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.172 s) : 0, 1171819
Total [baseline] (9.176 s) : 0, 9176010
Agent [candidate] (1.172 s) : 0, 1172498
Total [candidate] (9.207 s) : 0, 9206987
section iast_TELEMETRY_OFF
Agent [baseline] (1.176 s) : 0, 1175978
Total [baseline] (9.232 s) : 0, 9231655
Agent [candidate] (1.169 s) : 0, 1169165
Total [candidate] (9.205 s) : 0, 9204983
gantt
title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (717.905 ms) : 0, 717905
BytebuddyAgent [candidate] (714.231 ms) : 0, 714231
GlobalTracer [baseline] (243.085 ms) : 0, 243085
GlobalTracer [candidate] (242.656 ms) : 0, 242656
AppSec [baseline] (54.991 ms) : 0, 54991
AppSec [candidate] (55.181 ms) : 0, 55181
Remote Config [baseline] (710.24 µs) : 0, 710
Remote Config [candidate] (713.867 µs) : 0, 714
Telemetry [baseline] (12.071 ms) : 0, 12071
Telemetry [candidate] (12.076 ms) : 0, 12076
section iast
BytebuddyAgent [baseline] (839.874 ms) : 0, 839874
BytebuddyAgent [candidate] (832.234 ms) : 0, 832234
GlobalTracer [baseline] (234.777 ms) : 0, 234777
GlobalTracer [candidate] (232.469 ms) : 0, 232469
IAST [baseline] (23.014 ms) : 0, 23014
IAST [candidate] (22.7 ms) : 0, 22700
AppSec [baseline] (56.804 ms) : 0, 56804
AppSec [candidate] (56.8 ms) : 0, 56800
Remote Config [baseline] (621.51 µs) : 0, 622
Remote Config [candidate] (596.69 µs) : 0, 597
Telemetry [baseline] (8.784 ms) : 0, 8784
Telemetry [candidate] (8.604 ms) : 0, 8604
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (833.639 ms) : 0, 833639
BytebuddyAgent [candidate] (834.863 ms) : 0, 834863
GlobalTracer [baseline] (233.443 ms) : 0, 233443
GlobalTracer [candidate] (233.468 ms) : 0, 233468
IAST [baseline] (23.077 ms) : 0, 23077
IAST [candidate] (22.84 ms) : 0, 22840
AppSec [baseline] (57.09 ms) : 0, 57090
AppSec [candidate] (56.867 ms) : 0, 56867
Remote Config [baseline] (626.167 µs) : 0, 626
Remote Config [candidate] (633.802 µs) : 0, 634
Telemetry [baseline] (8.717 ms) : 0, 8717
Telemetry [candidate] (8.645 ms) : 0, 8645
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (837.129 ms) : 0, 837129
BytebuddyAgent [candidate] (831.996 ms) : 0, 831996
GlobalTracer [baseline] (234.714 ms) : 0, 234714
GlobalTracer [candidate] (233.477 ms) : 0, 233477
IAST [baseline] (24.873 ms) : 0, 24873
IAST [candidate] (25.592 ms) : 0, 25592
AppSec [baseline] (54.694 ms) : 0, 54694
AppSec [candidate] (53.724 ms) : 0, 53724
Remote Config [baseline] (631.196 µs) : 0, 631
Remote Config [candidate] (607.36 µs) : 0, 607
Telemetry [baseline] (8.618 ms) : 0, 8618
Telemetry [candidate] (8.541 ms) : 0, 8541
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.043 s) : 0, 1043366
Total [baseline] (10.416 s) : 0, 10415572
Agent [candidate] (1.044 s) : 0, 1043629
Total [candidate] (10.452 s) : 0, 10452490
section appsec
Agent [baseline] (1.186 s) : 0, 1186428
Total [baseline] (10.709 s) : 0, 10708987
Agent [candidate] (1.189 s) : 0, 1189354
Total [candidate] (10.779 s) : 0, 10779019
section iast
Agent [baseline] (1.17 s) : 0, 1170401
Total [baseline] (10.916 s) : 0, 10916053
Agent [candidate] (1.171 s) : 0, 1171451
Total [candidate] (10.969 s) : 0, 10968739
section profiling
Agent [baseline] (1.275 s) : 0, 1275421
Total [baseline] (10.913 s) : 0, 10913301
Agent [candidate] (1.274 s) : 0, 1273636
Total [candidate] (10.862 s) : 0, 10861714
gantt
title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (716.082 ms) : 0, 716082
BytebuddyAgent [candidate] (717.559 ms) : 0, 717559
GlobalTracer [baseline] (243.112 ms) : 0, 243112
GlobalTracer [candidate] (243.377 ms) : 0, 243377
AppSec [baseline] (55.31 ms) : 0, 55310
AppSec [candidate] (55.227 ms) : 0, 55227
Remote Config [baseline] (720.006 µs) : 0, 720
Remote Config [candidate] (709.971 µs) : 0, 710
Telemetry [baseline] (12.947 ms) : 0, 12947
Telemetry [candidate] (11.481 ms) : 0, 11481
section appsec
BytebuddyAgent [baseline] (734.389 ms) : 0, 734389
BytebuddyAgent [candidate] (736.724 ms) : 0, 736724
GlobalTracer [baseline] (240.613 ms) : 0, 240613
GlobalTracer [candidate] (240.908 ms) : 0, 240908
AppSec [baseline] (176.389 ms) : 0, 176389
AppSec [candidate] (176.535 ms) : 0, 176535
Remote Config [baseline] (662.156 µs) : 0, 662
Remote Config [candidate] (675.312 µs) : 0, 675
Telemetry [baseline] (8.278 ms) : 0, 8278
Telemetry [candidate] (8.304 ms) : 0, 8304
IAST [baseline] (21.85 ms) : 0, 21850
IAST [candidate] (21.827 ms) : 0, 21827
section iast
BytebuddyAgent [baseline] (833.392 ms) : 0, 833392
BytebuddyAgent [candidate] (834.02 ms) : 0, 834020
GlobalTracer [baseline] (232.621 ms) : 0, 232621
GlobalTracer [candidate] (232.989 ms) : 0, 232989
AppSec [baseline] (56.951 ms) : 0, 56951
AppSec [candidate] (57.023 ms) : 0, 57023
Remote Config [baseline] (617.219 µs) : 0, 617
Remote Config [candidate] (614.999 µs) : 0, 615
Telemetry [baseline] (8.681 ms) : 0, 8681
Telemetry [candidate] (8.789 ms) : 0, 8789
IAST [baseline] (22.941 ms) : 0, 22941
IAST [candidate] (22.861 ms) : 0, 22861
section profiling
ProfilingAgent [baseline] (96.254 ms) : 0, 96254
ProfilingAgent [candidate] (96.331 ms) : 0, 96331
BytebuddyAgent [baseline] (716.022 ms) : 0, 716022
BytebuddyAgent [candidate] (713.647 ms) : 0, 713647
GlobalTracer [baseline] (355.18 ms) : 0, 355180
GlobalTracer [candidate] (356.256 ms) : 0, 356256
AppSec [baseline] (55.495 ms) : 0, 55495
AppSec [candidate] (54.989 ms) : 0, 54989
Remote Config [baseline] (717.416 µs) : 0, 717
Remote Config [candidate] (720.628 µs) : 0, 721
Telemetry [baseline] (8.912 ms) : 0, 8912
Telemetry [candidate] (8.968 ms) : 0, 8968
Profiling [baseline] (96.278 ms) : 0, 96278
Profiling [candidate] (96.356 ms) : 0, 96356
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 16 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
dateFormat X
axisFormat %s
section baseline
no_agent (1.361 ms) : 1342, 1380
. : milestone, 1361,
appsec (1.763 ms) : 1740, 1786
. : milestone, 1763,
appsec_no_iast (1.753 ms) : 1729, 1777
. : milestone, 1753,
iast (1.507 ms) : 1482, 1531
. : milestone, 1507,
profiling (1.504 ms) : 1481, 1526
. : milestone, 1504,
tracing (1.489 ms) : 1464, 1514
. : milestone, 1489,
section candidate
no_agent (1.362 ms) : 1342, 1381
. : milestone, 1362,
appsec (1.746 ms) : 1722, 1770
. : milestone, 1746,
appsec_no_iast (1.759 ms) : 1735, 1784
. : milestone, 1759,
iast (1.528 ms) : 1504, 1553
. : milestone, 1528,
profiling (1.54 ms) : 1516, 1565
. : milestone, 1540,
tracing (1.494 ms) : 1470, 1519
. : milestone, 1494,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
dateFormat X
axisFormat %s
section baseline
no_agent (381.537 µs) : 362, 401
. : milestone, 382,
iast (507.591 µs) : 486, 529
. : milestone, 508,
iast_FULL (739.981 µs) : 718, 762
. : milestone, 740,
iast_GLOBAL (560.532 µs) : 538, 584
. : milestone, 561,
iast_HARDCODED_SECRET_DISABLED (514.474 µs) : 492, 537
. : milestone, 514,
iast_INACTIVE (461.369 µs) : 440, 482
. : milestone, 461,
iast_TELEMETRY_OFF (499.989 µs) : 477, 523
. : milestone, 500,
tracing (465.914 µs) : 445, 487
. : milestone, 466,
section candidate
no_agent (382.209 µs) : 362, 402
. : milestone, 382,
iast (509.876 µs) : 488, 532
. : milestone, 510,
iast_FULL (745.049 µs) : 723, 767
. : milestone, 745,
iast_GLOBAL (559.571 µs) : 537, 582
. : milestone, 560,
iast_HARDCODED_SECRET_DISABLED (513.472 µs) : 492, 535
. : milestone, 513,
iast_INACTIVE (465.313 µs) : 443, 487
. : milestone, 465,
iast_TELEMETRY_OFF (500.858 µs) : 478, 523
. : milestone, 501,
tracing (459.661 µs) : 438, 481
. : milestone, 460,
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.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
dateFormat X
axisFormat %s
section baseline
no_agent (14.979 s) : 14979000, 14979000
. : milestone, 14979000,
appsec (15.088 s) : 15088000, 15088000
. : milestone, 15088000,
iast (18.232 s) : 18232000, 18232000
. : milestone, 18232000,
iast_GLOBAL (18.069 s) : 18069000, 18069000
. : milestone, 18069000,
profiling (15.08 s) : 15080000, 15080000
. : milestone, 15080000,
tracing (15.008 s) : 15008000, 15008000
. : milestone, 15008000,
section candidate
no_agent (14.945 s) : 14945000, 14945000
. : milestone, 14945000,
appsec (14.984 s) : 14984000, 14984000
. : milestone, 14984000,
iast (18.551 s) : 18551000, 18551000
. : milestone, 18551000,
iast_GLOBAL (17.946 s) : 17946000, 17946000
. : milestone, 17946000,
profiling (15.661 s) : 15661000, 15661000
. : milestone, 15661000,
tracing (15.144 s) : 15144000, 15144000
. : milestone, 15144000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
dateFormat X
axisFormat %s
section baseline
no_agent (1.472 ms) : 1460, 1483
. : milestone, 1472,
appsec (2.375 ms) : 2332, 2419
. : milestone, 2375,
iast (2.114 ms) : 2060, 2169
. : milestone, 2114,
iast_GLOBAL (2.15 ms) : 2094, 2205
. : milestone, 2150,
profiling (2.464 ms) : 2274, 2654
. : milestone, 2464,
tracing (1.945 ms) : 1903, 1987
. : milestone, 1945,
section candidate
no_agent (1.475 ms) : 1464, 1487
. : milestone, 1475,
appsec (2.352 ms) : 2309, 2395
. : milestone, 2352,
iast (2.114 ms) : 2059, 2169
. : milestone, 2114,
iast_GLOBAL (2.159 ms) : 2103, 2214
. : milestone, 2159,
profiling (1.97 ms) : 1927, 2014
. : milestone, 1970,
tracing (1.948 ms) : 1905, 1990
. : milestone, 1948,
|
330871f
to
9ffbc3c
Compare
9ffbc3c
to
879d8d5
Compare
af4eb83
to
559a826
Compare
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.
Looking good 👍
Minor comment about documenting internals and a possible API change.
dd-trace-core/src/main/java/datadog/trace/core/scopemanager/ScopeContinuation.java
Outdated
Show resolved
Hide resolved
dd-trace-core/src/main/java/datadog/trace/core/scopemanager/ScopeContinuation.java
Show resolved
Hide resolved
dd-trace-core/src/main/java/datadog/trace/core/scopemanager/ScopeContinuation.java
Show resolved
Hide resolved
559a826
to
0ff5e7b
Compare
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.
looks ok from my standpoint. Thanks for having well documented the TraceScope methods
… activations. Call the `hold()` method on the continuation to let multiple threads activate it concurrently and close their scopes without fear of prematurely closing the span. You must then call `cancel()` at some point to avoid discarding traces.
also remove BARRIER as that was only necessary for previous implementation where cancel always deprecated the count we now use a magic value of MAX_INT/2 to represent a hold, to distinguish it from an individual activation
0ff5e7b
to
a3633a9
Compare
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.46.1` -> `1.47.0` | | [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.46.1` -> `1.47.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | --- ### Release Notes <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.47.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.47.0): 1.47.0 ##### Components ##### Application Security Management (IAST) - 🐛 Exclude com.stripe.net.HttpURLConnectionClient to solve IAST SSRF vulnerability false positives ([#​8483](DataDog/dd-trace-java#8483) - [@​jandro996](https://github.com/jandro996)) - 🐛 Add exclusion to solve IAST weak randomness vulnerability false positives ([#​8462](DataDog/dd-trace-java#8462) - [@​jandro996](https://github.com/jandro996)) - ✨ Fix weak randomness false positive in Kafka client ([#​8408](DataDog/dd-trace-java#8408) - [@​smola](https://github.com/smola)) - ✨ Fix location for SSRF with Kong Unirest ([#​8407](DataDog/dd-trace-java#8407) - [@​smola](https://github.com/smola)) - ✨ Exclude IBM Instana from IAST ([#​8406](DataDog/dd-trace-java#8406) - [@​smola](https://github.com/smola)) - 🐛 Fix org.json iast instrumentation test for latest dependency ([#​8347](DataDog/dd-trace-java#8347) - [@​jandro996](https://github.com/jandro996)) - ✨ Configuration to Disable APM Tracing ([#​8219](DataDog/dd-trace-java#8219) - [@​jandro996](https://github.com/jandro996)) - ✨ Address cookie vulnerability cardinality issues ([#​8210](DataDog/dd-trace-java#8210) - [@​jandro996](https://github.com/jandro996)) - ✨ Email HTML Injection detection in IAST ([#​8205](DataDog/dd-trace-java#8205) - [@​sezen-datadog](https://github.com/sezen-datadog)) ##### Application Security Management (WAF) - 🐛✨ Ensure usr.exists tag is not overridden when UsernameNotFoundException is thrown ([#​8376](DataDog/dd-trace-java#8376) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛✨ Ensure usr.exists tag is not overridden by auto instrumentation ([#​8374](DataDog/dd-trace-java#8374) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Update appsec metrics with event_rules_version tag ([#​8354](DataDog/dd-trace-java#8354) - [@​sezen-datadog](https://github.com/sezen-datadog)) - ✨ Update metrics: appsec.waf.requests ([#​8353](DataDog/dd-trace-java#8353) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Improve ASM support in vert.x 5.0 ([#​8285](DataDog/dd-trace-java#8285) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Update metrics: appsec.waf.updates and appsec.waf.init ([#​8280](DataDog/dd-trace-java#8280) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Configuration to Disable APM Tracing ([#​8219](DataDog/dd-trace-java#8219) - [@​jandro996](https://github.com/jandro996)) ##### Build & Tooling - 🐛 Do not generate Muzzle references for primitive arrays in method body ([#​8361](DataDog/dd-trace-java#8361) - [@​amarziali](https://github.com/amarziali)) - 📖 Improve dev env setup documentation for Windows ([#​8180](DataDog/dd-trace-java#8180) - [@​lucaspimentel](https://github.com/lucaspimentel)) ##### Continuous Integration Visibility - ✨ Add support for skip-EFD tagging ([#​8487](DataDog/dd-trace-java#8487) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix an NPE in Gradle Android instrumentation ([#​8484](DataDog/dd-trace-java#8484) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Consider modified tests when applying fail-fast tests ordering ([#​8474](DataDog/dd-trace-java#8474) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Implement tests reordering for TestNG ([#​8467](DataDog/dd-trace-java#8467) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix Gradle Launcher instrumentation to not interfere with Gradle Test Kit ([#​8465](DataDog/dd-trace-java#8465) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🧹 Use separate TestEventHandlers per framework in CI Vis instrumentations ([#​8451](DataDog/dd-trace-java#8451) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Remove warning log when JUnit 4 test method cannot be retrieved ([#​8445](DataDog/dd-trace-java#8445) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix Scalatest tracing for tests that are reported asynchronously ([#​8444](DataDog/dd-trace-java#8444) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Implement attempt to fix tests ([#​8393](DataDog/dd-trace-java#8393) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement test disabling ([#​8377](DataDog/dd-trace-java#8377) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Update CODEOWNERS parser to not log errors on comments with leading whitespace ([#​8349](DataDog/dd-trace-java#8349) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Request Test Management tests list ([#​8345](DataDog/dd-trace-java#8345) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Receive test management settings from CIVis settings request ([#​8331](DataDog/dd-trace-java#8331) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement quarantined tests tagging ([#​8326](DataDog/dd-trace-java#8326) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Implement tests quarantining ([#​8320](DataDog/dd-trace-java#8320) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Add tag to specify if the user is setting DD_SERVICE ([#​8318](DataDog/dd-trace-java#8318) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) ##### Crash tracking - ✨ Only fork jps when required ([#​8419](DataDog/dd-trace-java#8419) - [@​mcculls](https://github.com/mcculls)) - 🐛 Use Java home of the crashed process to launch crash uploader ([#​8348](DataDog/dd-trace-java#8348) - [@​jbachorik](https://github.com/jbachorik)) ##### Data Streams Monitoring - 🐛 Fix error happening when sqs message attributes are readonly ([#​8473](DataDog/dd-trace-java#8473) - [@​vandonr](https://github.com/vandonr)) - 🐛 Fix bug on proto schema extraction ([#​8403](DataDog/dd-trace-java#8403) - [@​vandonr](https://github.com/vandonr)) - 🐛 Fix service name overrides in consumers ([#​8387](DataDog/dd-trace-java#8387) - [@​piochelepiotr](https://github.com/piochelepiotr)) ##### Database Monitoring - ✨ Add DBMTracePreparedStatements to tracer configuration log ([#​8508](DataDog/dd-trace-java#8508) - [@​cecile75](https://github.com/cecile75)) ##### Dynamic Instrumentation - ✨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) - 🐛 Fix Exception Replay with Lambda proxy classes ([#​8452](DataDog/dd-trace-java#8452) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add code origin support for spring-webmvc ([#​8416](DataDog/dd-trace-java#8416) - [@​evanchooly](https://github.com/evanchooly)) - ✨ Add support for scanning jar from loaded class ([#​8370](DataDog/dd-trace-java#8370) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Disable capture of entry values ([#​8369](DataDog/dd-trace-java#8369) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Fix CodeOrigin for `@Trace` annotation ([#​8344](DataDog/dd-trace-java#8344) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Fix equals/hashCode for CodeOrigin probe ([#​8319](DataDog/dd-trace-java#8319) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add code origin support to kafka message listeners ([#​8301](DataDog/dd-trace-java#8301) - [@​evanchooly](https://github.com/evanchooly)) ##### Metrics - ✨ Create metric: appsec.waf.error ([#​8381](DataDog/dd-trace-java#8381) - [@​sezen-datadog](https://github.com/sezen-datadog)) - ✨ Create metric: appsec.rasp.error ([#​8364](DataDog/dd-trace-java#8364) - [@​sezen-datadog](https://github.com/sezen-datadog)) ##### Profiling - ✨ Bump ddprof library to 1.22.0 ([#​8463](DataDog/dd-trace-java#8463) - [@​jbachorik](https://github.com/jbachorik)) - IBM J9 8u361 corresponds to OpenJDK 8u362 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#187 - Fix compatibility with musl libc 1.2.4 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#189 - Modify version extraction by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#179 - Do not write null values to jvminfo event by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#184 - Productize VMStructs-based stack walker by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#177 - A few minor downport issues by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#180 - Enable ASGCT by default on fairly safe J9 JDK versions by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#181 - 🐛 Exclude OrderedThreadPoolExecutor from queue-time measurements ([#​8456](DataDog/dd-trace-java#8456) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Record JVM info on JVMs without JFR ([#​8431](DataDog/dd-trace-java#8431) - [@​jbachorik](https://github.com/jbachorik)) - 🐛 Actually use CleanupTask in TempLocationManager ([#​8420](DataDog/dd-trace-java#8420) - [@​mcculls](https://github.com/mcculls)) - ✨ Only fork jps when required ([#​8419](DataDog/dd-trace-java#8419) - [@​mcculls](https://github.com/mcculls)) - 🐛 Adjust JFR checks for J9 ([#​8405](DataDog/dd-trace-java#8405) - [@​jbachorik](https://github.com/jbachorik)) - 🧹 Disable smap RSS parsing by default ([#​8342](DataDog/dd-trace-java#8342) - [@​MattAlp](https://github.com/MattAlp)) ##### Telemetry - 🐛 Add support for JBoss jar:file format to DependencyResolver ([#​8428](DataDog/dd-trace-java#8428) - [@​jandro996](https://github.com/jandro996)) - ✨ Update metrics: appsec.waf.requests ([#​8353](DataDog/dd-trace-java#8353) - [@​Mariovido](https://github.com/Mariovido)) ##### Trace context propagation - ✨ Introduce tracing propagator ([#​8313](DataDog/dd-trace-java#8313) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Tracer core - 🐛 Fix Stable Config telemetry source names ([#​8460](DataDog/dd-trace-java#8460) - [@​BaptisteFoy](https://github.com/BaptisteFoy)) - ✨ Probe trace endpoints with a valid payload of empty arrays ([#​8414](DataDog/dd-trace-java#8414) - [@​mcculls](https://github.com/mcculls)) - ✨ Add 1 minute fail-safe to JUL/JMX class-loading callback ([#​8399](DataDog/dd-trace-java#8399) - [@​mcculls](https://github.com/mcculls)) - ✨ Migrate DSM injection calls to context-first APIs ([#​8383](DataDog/dd-trace-java#8383) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 🧹 Move continuation capture methods from scope to tracer ([#​8371](DataDog/dd-trace-java#8371) - [@​mcculls](https://github.com/mcculls)) - ✨ Migrate context extraction calls to context-first APIs ([#​8368](DataDog/dd-trace-java#8368) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 🧹 Migrate context injection calls to context-first APIs ([#​8358](DataDog/dd-trace-java#8358) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 💡 Support reading configurations from files ([#​8338](DataDog/dd-trace-java#8338) - [@​mtoffl01](https://github.com/mtoffl01)) - 💡 Implementation of BaggagePropagator and BaggageContext ([#​8330](DataDog/dd-trace-java#8330) - [@​mhlidd](https://github.com/mhlidd)) - 🧹 Combine continuation implementations into one which supports multiple activations ([#​8324](DataDog/dd-trace-java#8324) - [@​mcculls](https://github.com/mcculls)) - ✨ Introduce tracing propagator ([#​8313](DataDog/dd-trace-java#8313) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - ✨ Remove old context propagation API ([#​8271](DataDog/dd-trace-java#8271) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Instrumentations ##### AWS Lambda instrumentation - 🐛 Send error message and stack to Lambda extension ([#​8417](DataDog/dd-trace-java#8417) - [@​nhulston](https://github.com/nhulston)) ##### AWS SDK instrumentation - 🐛 Fix error happening when sqs message attributes are readonly ([#​8473](DataDog/dd-trace-java#8473) - [@​vandonr](https://github.com/vandonr)) - 💡 Inject trace context into AWS Step Functions input ([#​7585](DataDog/dd-trace-java#7585) - [@​DylanLovesCoffee](https://github.com/DylanLovesCoffee)) ##### Core Java language instrumentation - ✨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) - ✨ Add code origin support for spring-webmvc ([#​8416](DataDog/dd-trace-java#8416) - [@​evanchooly](https://github.com/evanchooly)) - 💡 Implementation of BaggagePropagator and BaggageContext ([#​8330](DataDog/dd-trace-java#8330) - [@​mhlidd](https://github.com/mhlidd)) - ✨ Add code origin support to kafka message listeners ([#​8301](DataDog/dd-trace-java#8301) - [@​evanchooly](https://github.com/evanchooly)) ##### gRPC instrumentation - ✨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) ##### Kafka instrumentation - ✨ Add messaging.destination.name tag to kafka integrations ([#​8366](DataDog/dd-trace-java#8366) - [@​rarguelloF](https://github.com/rarguelloF)) ##### Protocol Buffer instrumentation - 🐛 Fix bug on proto schema extraction ([#​8403](DataDog/dd-trace-java#8403) - [@​vandonr](https://github.com/vandonr)) </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**: Never, 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: 108a0f86aa59ab4c938cbac0688dd4c19cb301fa
Motivation
Further simplification of the scope API to aid migration to the new context API.
Additional Notes
scope.captureConcurrent()
has been replaced byscope.capture().hold()
Calling the
hold()
method on the continuation lets multiple threads activate it concurrently and close their scopes without fear of prematurely closing the span. You must then callcancel()
at some point to avoid discarding traces.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: APMAPI-957