-
Notifications
You must be signed in to change notification settings - Fork 301
Add 1 minute fail-safe to JUL/JMX class-loading callback #8399
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
remote components was already unintentionally loaded during premain. (in such cases we may not receive a class-load callback from byte-buddy)
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 57 metrics, 6 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~aa1d96b69d, baseline=1.47.0-SNAPSHOT~bab17eff8d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.041 s) : 0, 1040568
Total [baseline] (8.652 s) : 0, 8652146
Agent [candidate] (1.039 s) : 0, 1039209
Total [candidate] (8.657 s) : 0, 8657111
section iast
Agent [baseline] (1.172 s) : 0, 1171690
Total [baseline] (9.231 s) : 0, 9231097
Agent [candidate] (1.188 s) : 0, 1187823
Total [candidate] (9.323 s) : 0, 9322943
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.169 s) : 0, 1169256
Total [baseline] (9.272 s) : 0, 9271902
Agent [candidate] (1.169 s) : 0, 1169324
Total [candidate] (9.246 s) : 0, 9246143
section iast_TELEMETRY_OFF
Agent [baseline] (1.175 s) : 0, 1174988
Total [baseline] (9.241 s) : 0, 9240732
Agent [candidate] (1.167 s) : 0, 1167308
Total [candidate] (9.239 s) : 0, 9239434
gantt
title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~aa1d96b69d, baseline=1.47.0-SNAPSHOT~bab17eff8d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (716.184 ms) : 0, 716184
BytebuddyAgent [candidate] (717.349 ms) : 0, 717349
GlobalTracer [baseline] (239.822 ms) : 0, 239822
GlobalTracer [candidate] (239.268 ms) : 0, 239268
AppSec [baseline] (55.659 ms) : 0, 55659
AppSec [candidate] (55.157 ms) : 0, 55157
Remote Config [baseline] (716.676 Β΅s) : 0, 717
Remote Config [candidate] (698.064 Β΅s) : 0, 698
Telemetry [baseline] (12.926 ms) : 0, 12926
Telemetry [candidate] (11.55 ms) : 0, 11550
section iast
BytebuddyAgent [baseline] (836.464 ms) : 0, 836464
BytebuddyAgent [candidate] (848.372 ms) : 0, 848372
GlobalTracer [baseline] (230.599 ms) : 0, 230599
GlobalTracer [candidate] (233.204 ms) : 0, 233204
IAST [baseline] (22.764 ms) : 0, 22764
IAST [candidate] (23.101 ms) : 0, 23101
AppSec [baseline] (57.245 ms) : 0, 57245
AppSec [candidate] (58.097 ms) : 0, 58097
Remote Config [baseline] (613.745 Β΅s) : 0, 614
Remote Config [candidate] (636.575 Β΅s) : 0, 637
Telemetry [baseline] (8.745 ms) : 0, 8745
Telemetry [candidate] (8.892 ms) : 0, 8892
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (833.471 ms) : 0, 833471
BytebuddyAgent [candidate] (834.842 ms) : 0, 834842
GlobalTracer [baseline] (230.569 ms) : 0, 230569
GlobalTracer [candidate] (230.393 ms) : 0, 230393
IAST [baseline] (23.0 ms) : 0, 23000
IAST [candidate] (22.584 ms) : 0, 22584
AppSec [baseline] (57.529 ms) : 0, 57529
AppSec [candidate] (57.05 ms) : 0, 57050
Remote Config [baseline] (642.519 Β΅s) : 0, 643
Remote Config [candidate] (618.762 Β΅s) : 0, 619
Telemetry [baseline] (8.762 ms) : 0, 8762
Telemetry [candidate] (8.567 ms) : 0, 8567
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (838.42 ms) : 0, 838420
BytebuddyAgent [candidate] (832.409 ms) : 0, 832409
GlobalTracer [baseline] (231.975 ms) : 0, 231975
GlobalTracer [candidate] (230.643 ms) : 0, 230643
IAST [baseline] (23.488 ms) : 0, 23488
IAST [candidate] (26.213 ms) : 0, 26213
AppSec [baseline] (56.536 ms) : 0, 56536
AppSec [candidate] (53.456 ms) : 0, 53456
Remote Config [baseline] (628.122 Β΅s) : 0, 628
Remote Config [candidate] (628.466 Β΅s) : 0, 628
Telemetry [baseline] (8.56 ms) : 0, 8560
Telemetry [candidate] (8.714 ms) : 0, 8714
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~aa1d96b69d, baseline=1.47.0-SNAPSHOT~bab17eff8d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.037 s) : 0, 1036672
Total [baseline] (10.468 s) : 0, 10468266
Agent [candidate] (1.04 s) : 0, 1039743
Total [candidate] (10.476 s) : 0, 10475792
section appsec
Agent [baseline] (1.181 s) : 0, 1181465
Total [baseline] (10.817 s) : 0, 10816818
Agent [candidate] (1.182 s) : 0, 1181810
Total [candidate] (10.768 s) : 0, 10767911
section iast
Agent [baseline] (1.17 s) : 0, 1169656
Total [baseline] (11.018 s) : 0, 11018143
Agent [candidate] (1.17 s) : 0, 1169699
Total [candidate] (10.997 s) : 0, 10996941
section profiling
Agent [baseline] (1.27 s) : 0, 1269630
Total [baseline] (10.967 s) : 0, 10966863
Agent [candidate] (1.261 s) : 0, 1261293
Total [candidate] (10.986 s) : 0, 10985809
gantt
title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~aa1d96b69d, baseline=1.47.0-SNAPSHOT~bab17eff8d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.809 ms) : 0, 715809
BytebuddyAgent [candidate] (716.962 ms) : 0, 716962
GlobalTracer [baseline] (238.94 ms) : 0, 238940
GlobalTracer [candidate] (239.624 ms) : 0, 239624
AppSec [baseline] (55.268 ms) : 0, 55268
AppSec [candidate] (55.2 ms) : 0, 55200
Remote Config [baseline] (692.356 Β΅s) : 0, 692
Remote Config [candidate] (693.3 Β΅s) : 0, 693
Telemetry [baseline] (10.808 ms) : 0, 10808
Telemetry [candidate] (12.066 ms) : 0, 12066
section appsec
BytebuddyAgent [baseline] (733.636 ms) : 0, 733636
BytebuddyAgent [candidate] (733.548 ms) : 0, 733548
GlobalTracer [baseline] (236.302 ms) : 0, 236302
GlobalTracer [candidate] (236.583 ms) : 0, 236583
AppSec [baseline] (176.715 ms) : 0, 176715
AppSec [candidate] (176.966 ms) : 0, 176966
Remote Config [baseline] (658.219 Β΅s) : 0, 658
Remote Config [candidate] (664.396 Β΅s) : 0, 664
Telemetry [baseline] (8.207 ms) : 0, 8207
Telemetry [candidate] (8.196 ms) : 0, 8196
IAST [baseline] (21.376 ms) : 0, 21376
IAST [candidate] (21.25 ms) : 0, 21250
section iast
BytebuddyAgent [baseline] (834.577 ms) : 0, 834577
BytebuddyAgent [candidate] (834.102 ms) : 0, 834102
GlobalTracer [baseline] (230.012 ms) : 0, 230012
GlobalTracer [candidate] (230.271 ms) : 0, 230271
AppSec [baseline] (57.587 ms) : 0, 57587
AppSec [candidate] (57.907 ms) : 0, 57907
Remote Config [baseline] (622.334 Β΅s) : 0, 622
Remote Config [candidate] (631.462 Β΅s) : 0, 631
Telemetry [baseline] (8.689 ms) : 0, 8689
Telemetry [candidate] (8.776 ms) : 0, 8776
IAST [baseline] (22.894 ms) : 0, 22894
IAST [candidate] (22.771 ms) : 0, 22771
section profiling
BytebuddyAgent [baseline] (712.069 ms) : 0, 712069
BytebuddyAgent [candidate] (708.103 ms) : 0, 708103
GlobalTracer [baseline] (351.909 ms) : 0, 351909
GlobalTracer [candidate] (350.387 ms) : 0, 350387
AppSec [baseline] (55.825 ms) : 0, 55825
AppSec [candidate] (54.538 ms) : 0, 54538
Remote Config [baseline] (693.916 Β΅s) : 0, 694
Remote Config [candidate] (685.49 Β΅s) : 0, 685
Telemetry [baseline] (8.981 ms) : 0, 8981
Telemetry [candidate] (8.869 ms) : 0, 8869
ProfilingAgent [baseline] (97.565 ms) : 0, 97565
ProfilingAgent [candidate] (96.339 ms) : 0, 96339
Profiling [baseline] (97.589 ms) : 0, 97589
Profiling [candidate] (96.363 ms) : 0, 96363
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~aa1d96b69d, baseline=1.47.0-SNAPSHOT~bab17eff8d
dateFormat X
axisFormat %s
section baseline
no_agent (1.359 ms) : 1340, 1378
. : milestone, 1359,
appsec (1.74 ms) : 1717, 1764
. : milestone, 1740,
appsec_no_iast (1.751 ms) : 1726, 1775
. : milestone, 1751,
iast (1.516 ms) : 1492, 1540
. : milestone, 1516,
profiling (1.518 ms) : 1494, 1542
. : milestone, 1518,
tracing (1.495 ms) : 1471, 1519
. : milestone, 1495,
section candidate
no_agent (1.367 ms) : 1347, 1387
. : milestone, 1367,
appsec (1.771 ms) : 1747, 1795
. : milestone, 1771,
appsec_no_iast (1.772 ms) : 1749, 1796
. : milestone, 1772,
iast (1.521 ms) : 1497, 1546
. : milestone, 1521,
profiling (1.516 ms) : 1492, 1540
. : milestone, 1516,
tracing (1.488 ms) : 1463, 1514
. : milestone, 1488,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~aa1d96b69d, baseline=1.47.0-SNAPSHOT~bab17eff8d
dateFormat X
axisFormat %s
section baseline
no_agent (384.385 Β΅s) : 363, 405
. : milestone, 384,
iast (512.379 Β΅s) : 491, 534
. : milestone, 512,
iast_FULL (749.302 Β΅s) : 727, 771
. : milestone, 749,
iast_GLOBAL (562.388 Β΅s) : 541, 584
. : milestone, 562,
iast_HARDCODED_SECRET_DISABLED (512.247 Β΅s) : 491, 534
. : milestone, 512,
iast_INACTIVE (463.059 Β΅s) : 442, 484
. : milestone, 463,
iast_TELEMETRY_OFF (504.079 Β΅s) : 481, 527
. : milestone, 504,
tracing (461.505 Β΅s) : 440, 483
. : milestone, 462,
section candidate
no_agent (381.189 Β΅s) : 362, 401
. : milestone, 381,
iast (515.861 Β΅s) : 494, 538
. : milestone, 516,
iast_FULL (750.786 Β΅s) : 729, 773
. : milestone, 751,
iast_GLOBAL (564.176 Β΅s) : 542, 587
. : milestone, 564,
iast_HARDCODED_SECRET_DISABLED (518.912 Β΅s) : 497, 541
. : milestone, 519,
iast_INACTIVE (469.515 Β΅s) : 447, 492
. : milestone, 470,
iast_TELEMETRY_OFF (501.029 Β΅s) : 479, 523
. : milestone, 501,
tracing (455.175 Β΅s) : 435, 476
. : milestone, 455,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~aa1d96b69d, baseline=1.47.0-SNAPSHOT~bab17eff8d
dateFormat X
axisFormat %s
section baseline
no_agent (15.222 s) : 15222000, 15222000
. : milestone, 15222000,
appsec (14.965 s) : 14965000, 14965000
. : milestone, 14965000,
iast (19.142 s) : 19142000, 19142000
. : milestone, 19142000,
iast_GLOBAL (17.614 s) : 17614000, 17614000
. : milestone, 17614000,
profiling (15.125 s) : 15125000, 15125000
. : milestone, 15125000,
tracing (14.839 s) : 14839000, 14839000
. : milestone, 14839000,
section candidate
no_agent (14.861 s) : 14861000, 14861000
. : milestone, 14861000,
appsec (15.155 s) : 15155000, 15155000
. : milestone, 15155000,
iast (18.843 s) : 18843000, 18843000
. : milestone, 18843000,
iast_GLOBAL (17.966 s) : 17966000, 17966000
. : milestone, 17966000,
profiling (15.126 s) : 15126000, 15126000
. : milestone, 15126000,
tracing (15.011 s) : 15011000, 15011000
. : milestone, 15011000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~aa1d96b69d, baseline=1.47.0-SNAPSHOT~bab17eff8d
dateFormat X
axisFormat %s
section baseline
no_agent (1.476 ms) : 1465, 1488
. : milestone, 1476,
appsec (2.374 ms) : 2330, 2418
. : milestone, 2374,
iast (2.118 ms) : 2063, 2174
. : milestone, 2118,
iast_GLOBAL (2.171 ms) : 2115, 2227
. : milestone, 2171,
profiling (1.969 ms) : 1925, 2013
. : milestone, 1969,
tracing (1.948 ms) : 1906, 1991
. : milestone, 1948,
section candidate
no_agent (1.475 ms) : 1464, 1487
. : milestone, 1475,
appsec (2.376 ms) : 2333, 2420
. : milestone, 2376,
iast (2.124 ms) : 2069, 2179
. : milestone, 2124,
iast_GLOBAL (2.17 ms) : 2114, 2226
. : milestone, 2170,
profiling (2.001 ms) : 1956, 2046
. : milestone, 2001,
tracing (1.953 ms) : 1910, 1995
. : milestone, 1953,
|
@@ -448,6 +448,8 @@ private static void registerLogManagerCallback(final ClassLoadCallBack callback) | |||
} | |||
|
|||
private static void registerMBeanServerBuilderCallback(final ClassLoadCallBack callback) { | |||
// one minute fail-safe in case the class was unintentionally loaded during premain | |||
AgentTaskScheduler.INSTANCE.schedule(callback, 1, TimeUnit.MINUTES); |
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.
Originally scheduleJmxStart
added some jitter to the task (not sure if it's required here).
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.
It's not required, in the original code it was just a side-effect of sharing the method. In the other path the jitter is used to reduce the chance of multiple Java processes that started at the same time from flooding the agent with connection attempts.
However using jitter here is only really appropriate if we had a fleet of services which:
- all set a custom log-manager
- all encountered the issue where JUL was unintentionally initialized during premain
- all started at the exact same time
in such circumstances jitter would be useful, but the chance of such a scenario happening is low.
| 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
Add a timeout in case the class used to trigger resuming of remote components was already unintentionally loaded during premain - in such cases we may not receive a class-load callback from byte-buddy.
Additional Notes
We could also look at the loaded class list (via
Instrumentation
) after installing byte-buddy, but this would involve performing name checks across all of those classes which could add up (the list of loaded classes is unsorted)It would also not cover the case where for some reason JUL or JMX is never touched in the application, despite there being a custom log-manager or jmx-builder set.
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-14743