Skip to content

Fix Scalatest tracing for tests that are reported asynchronously #8444

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

Merged

Conversation

nikita-tkachenko-datadog
Copy link
Contributor

@nikita-tkachenko-datadog nikita-tkachenko-datadog commented Feb 25, 2025

What Does This Do

Fixes #8435

Additional Notes

Scalatest instrumentation works by plugging into org.scalatest.DispatchReporter and intercepting events reported by the framework.
When running async test cases, another reporter is used: org.scalatest.tools.TestSortingReporter. This reporter stores received events in memory and reports them asynchronously, potentially in a different thread.
The fix is to intercept the events as they're passed to the async reporter (the same way it is done for dispatch reporter) and suppress interception when they're "re-fired" asynchronously (as they've already been traced at initial interception point).

I could not find a way to re-create the problem with instrumentation tests, so testing is covered by a new test-environment project: https://github.com/DataDog/test-environment/pull/382

Contributor Checklist

@nikita-tkachenko-datadog nikita-tkachenko-datadog added type: bug comp: ci visibility Continuous Integration Visibility labels Feb 25, 2025
@pr-commenter
Copy link

pr-commenter bot commented Feb 25, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master nikita-tkachenko/scalatest-instrumentation-fix
git_commit_date 1740480034 1740489056
git_commit_sha 28c315b 39af191
release_version 1.47.0-SNAPSHOT~28c315b990 1.47.0-SNAPSHOT~39af191859
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1740491602 1740491602
ci_job_id 821788108 821788108
ci_pipeline_id 56873400 56873400
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-kxki3x49-project-304-concurrent-0-2i275ot5 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-kxki3x49-project-304-concurrent-0-2i275ot5 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 1 performance improvements and 0 performance regressions! Performance is the same for 57 metrics, 5 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:Remote Config better
[-57.698µs; -17.713µs] or [-8.938%; -2.744%]
607.832µs 645.538µs
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~39af191859, baseline=1.47.0-SNAPSHOT~28c315b990

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.045 s) : 0, 1044816
Total [baseline] (10.509 s) : 0, 10509464
Agent [candidate] (1.049 s) : 0, 1048771
Total [candidate] (10.39 s) : 0, 10389757
section appsec
Agent [baseline] (1.178 s) : 0, 1178315
Total [baseline] (10.709 s) : 0, 10709331
Agent [candidate] (1.188 s) : 0, 1188089
Total [candidate] (10.74 s) : 0, 10739773
section iast
Agent [baseline] (1.17 s) : 0, 1169521
Total [baseline] (10.973 s) : 0, 10973410
Agent [candidate] (1.173 s) : 0, 1172879
Total [candidate] (11.106 s) : 0, 11106194
section profiling
Agent [baseline] (1.258 s) : 0, 1257827
Total [baseline] (10.854 s) : 0, 10854206
Agent [candidate] (1.262 s) : 0, 1261761
Total [candidate] (10.905 s) : 0, 10905333
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.045 s -
Agent appsec 1.178 s 133.498 ms (12.8%)
Agent iast 1.17 s 124.704 ms (11.9%)
Agent profiling 1.258 s 213.011 ms (20.4%)
Total tracing 10.509 s -
Total appsec 10.709 s 199.867 ms (1.9%)
Total iast 10.973 s 463.947 ms (4.4%)
Total profiling 10.854 s 344.742 ms (3.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.049 s -
Agent appsec 1.188 s 139.317 ms (13.3%)
Agent iast 1.173 s 124.108 ms (11.8%)
Agent profiling 1.262 s 212.989 ms (20.3%)
Total tracing 10.39 s -
Total appsec 10.74 s 350.016 ms (3.4%)
Total iast 11.106 s 716.436 ms (6.9%)
Total profiling 10.905 s 515.576 ms (5.0%)
gantt
    title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~39af191859, baseline=1.47.0-SNAPSHOT~28c315b990

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (720.531 ms) : 0, 720531
BytebuddyAgent [candidate] (723.354 ms) : 0, 723354
GlobalTracer [baseline] (240.319 ms) : 0, 240319
GlobalTracer [candidate] (241.38 ms) : 0, 241380
AppSec [baseline] (56.046 ms) : 0, 56046
AppSec [candidate] (56.326 ms) : 0, 56326
Remote Config [baseline] (705.17 µs) : 0, 705
Remote Config [candidate] (726.291 µs) : 0, 726
Telemetry [baseline] (12.239 ms) : 0, 12239
Telemetry [candidate] (11.72 ms) : 0, 11720
section appsec
BytebuddyAgent [baseline] (732.092 ms) : 0, 732092
BytebuddyAgent [candidate] (737.828 ms) : 0, 737828
GlobalTracer [baseline] (235.31 ms) : 0, 235310
GlobalTracer [candidate] (237.453 ms) : 0, 237453
AppSec [baseline] (176.558 ms) : 0, 176558
AppSec [candidate] (177.465 ms) : 0, 177465
Remote Config [baseline] (650.929 µs) : 0, 651
Remote Config [candidate] (659.754 µs) : 0, 660
Telemetry [baseline] (8.23 ms) : 0, 8230
Telemetry [candidate] (8.566 ms) : 0, 8566
IAST [baseline] (21.287 ms) : 0, 21287
IAST [candidate] (21.648 ms) : 0, 21648
section iast
BytebuddyAgent [baseline] (835.523 ms) : 0, 835523
BytebuddyAgent [candidate] (837.237 ms) : 0, 837237
GlobalTracer [baseline] (229.799 ms) : 0, 229799
GlobalTracer [candidate] (230.605 ms) : 0, 230605
AppSec [baseline] (57.085 ms) : 0, 57085
AppSec [candidate] (57.599 ms) : 0, 57599
Remote Config [baseline] (623.159 µs) : 0, 623
Remote Config [candidate] (614.249 µs) : 0, 614
Telemetry [baseline] (8.759 ms) : 0, 8759
Telemetry [candidate] (8.662 ms) : 0, 8662
IAST [baseline] (22.812 ms) : 0, 22812
IAST [candidate] (22.903 ms) : 0, 22903
section profiling
BytebuddyAgent [baseline] (707.599 ms) : 0, 707599
BytebuddyAgent [candidate] (708.832 ms) : 0, 708832
GlobalTracer [baseline] (348.636 ms) : 0, 348636
GlobalTracer [candidate] (350.642 ms) : 0, 350642
AppSec [baseline] (55.491 ms) : 0, 55491
AppSec [candidate] (54.308 ms) : 0, 54308
Remote Config [baseline] (666.066 µs) : 0, 666
Remote Config [candidate] (659.097 µs) : 0, 659
Telemetry [baseline] (8.979 ms) : 0, 8979
Telemetry [candidate] (8.933 ms) : 0, 8933
ProfilingAgent [baseline] (96.092 ms) : 0, 96092
ProfilingAgent [candidate] (96.25 ms) : 0, 96250
Profiling [baseline] (96.115 ms) : 0, 96115
Profiling [candidate] (96.274 ms) : 0, 96274
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~39af191859, baseline=1.47.0-SNAPSHOT~28c315b990

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.038 s) : 0, 1037877
Total [baseline] (8.654 s) : 0, 8654358
Agent [candidate] (1.045 s) : 0, 1044907
Total [candidate] (8.703 s) : 0, 8703133
section iast
Agent [baseline] (1.183 s) : 0, 1183328
Total [baseline] (9.258 s) : 0, 9258202
Agent [candidate] (1.174 s) : 0, 1174280
Total [candidate] (9.223 s) : 0, 9223461
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.168 s) : 0, 1168404
Total [baseline] (9.215 s) : 0, 9215267
Agent [candidate] (1.172 s) : 0, 1171932
Total [candidate] (9.215 s) : 0, 9215347
section iast_TELEMETRY_OFF
Agent [baseline] (1.167 s) : 0, 1166958
Total [baseline] (9.248 s) : 0, 9248373
Agent [candidate] (1.168 s) : 0, 1167666
Total [candidate] (9.222 s) : 0, 9221684
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.038 s -
Agent iast 1.183 s 145.451 ms (14.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.168 s 130.527 ms (12.6%)
Agent iast_TELEMETRY_OFF 1.167 s 129.081 ms (12.4%)
Total tracing 8.654 s -
Total iast 9.258 s 603.844 ms (7.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.215 s 560.909 ms (6.5%)
Total iast_TELEMETRY_OFF 9.248 s 594.015 ms (6.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.045 s -
Agent iast 1.174 s 129.373 ms (12.4%)
Agent iast_HARDCODED_SECRET_DISABLED 1.172 s 127.025 ms (12.2%)
Agent iast_TELEMETRY_OFF 1.168 s 122.759 ms (11.7%)
Total tracing 8.703 s -
Total iast 9.223 s 520.328 ms (6.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.215 s 512.214 ms (5.9%)
Total iast_TELEMETRY_OFF 9.222 s 518.551 ms (6.0%)
gantt
    title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~39af191859, baseline=1.47.0-SNAPSHOT~28c315b990

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (716.43 ms) : 0, 716430
BytebuddyAgent [candidate] (719.409 ms) : 0, 719409
GlobalTracer [baseline] (238.728 ms) : 0, 238728
GlobalTracer [candidate] (241.567 ms) : 0, 241567
AppSec [baseline] (55.721 ms) : 0, 55721
AppSec [candidate] (55.811 ms) : 0, 55811
Remote Config [baseline] (690.912 µs) : 0, 691
Remote Config [candidate] (705.95 µs) : 0, 706
Telemetry [baseline] (11.445 ms) : 0, 11445
Telemetry [candidate] (12.204 ms) : 0, 12204
section iast
BytebuddyAgent [baseline] (846.401 ms) : 0, 846401
BytebuddyAgent [candidate] (839.073 ms) : 0, 839073
GlobalTracer [baseline] (231.452 ms) : 0, 231452
GlobalTracer [candidate] (230.273 ms) : 0, 230273
AppSec [baseline] (57.839 ms) : 0, 57839
AppSec [candidate] (57.618 ms) : 0, 57618
Remote Config [baseline] (615.347 µs) : 0, 615
Remote Config [candidate] (606.199 µs) : 0, 606
Telemetry [baseline] (8.767 ms) : 0, 8767
Telemetry [candidate] (8.697 ms) : 0, 8697
IAST [baseline] (23.157 ms) : 0, 23157
IAST [candidate] (22.776 ms) : 0, 22776
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (834.514 ms) : 0, 834514
BytebuddyAgent [candidate] (836.752 ms) : 0, 836752
GlobalTracer [baseline] (229.864 ms) : 0, 229864
GlobalTracer [candidate] (230.459 ms) : 0, 230459
AppSec [baseline] (56.983 ms) : 0, 56983
AppSec [candidate] (57.409 ms) : 0, 57409
Remote Config [baseline] (622.219 µs) : 0, 622
Remote Config [candidate] (597.562 µs) : 0, 598
Telemetry [baseline] (8.723 ms) : 0, 8723
Telemetry [candidate] (8.672 ms) : 0, 8672
IAST [baseline] (22.729 ms) : 0, 22729
IAST [candidate] (22.808 ms) : 0, 22808
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (833.14 ms) : 0, 833140
BytebuddyAgent [candidate] (834.045 ms) : 0, 834045
GlobalTracer [baseline] (229.659 ms) : 0, 229659
GlobalTracer [candidate] (230.47 ms) : 0, 230470
AppSec [baseline] (55.115 ms) : 0, 55115
AppSec [candidate] (50.448 ms) : 0, 50448
Remote Config [baseline] (645.538 µs) : 0, 646
Remote Config [candidate] (607.832 µs) : 0, 608
Telemetry [baseline] (8.762 ms) : 0, 8762
Telemetry [candidate] (8.527 ms) : 0, 8527
IAST [baseline] (24.698 ms) : 0, 24698
IAST [candidate] (28.33 ms) : 0, 28330
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-02-25T13:25:47 2025-02-25T13:33:30
git_branch master nikita-tkachenko/scalatest-instrumentation-fix
git_commit_date 1740480034 1740489056
git_commit_sha 28c315b 39af191
release_version 1.47.0-SNAPSHOT~28c315b990 1.47.0-SNAPSHOT~39af191859
start_time 2025-02-25T13:25:33 2025-02-25T13:33:16
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1740490807 1740490807
ci_job_id 821788109 821788109
ci_pipeline_id 56873400 56873400
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-gyqeaxyt-project-304-concurrent-0-cz4e4fgq 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-gyqeaxyt-project-304-concurrent-0-cz4e4fgq 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 18 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~39af191859, baseline=1.47.0-SNAPSHOT~28c315b990
    dateFormat X
    axisFormat %s
section baseline
no_agent (385.618 µs) : 364, 407
.   : milestone, 386,
iast (507.211 µs) : 484, 530
.   : milestone, 507,
iast_FULL (721.465 µs) : 700, 743
.   : milestone, 721,
iast_GLOBAL (553.385 µs) : 531, 575
.   : milestone, 553,
iast_HARDCODED_SECRET_DISABLED (508.366 µs) : 487, 530
.   : milestone, 508,
iast_INACTIVE (453.614 µs) : 433, 475
.   : milestone, 454,
iast_TELEMETRY_OFF (492.947 µs) : 471, 515
.   : milestone, 493,
tracing (453.807 µs) : 432, 476
.   : milestone, 454,
section candidate
no_agent (377.105 µs) : 357, 397
.   : milestone, 377,
iast (513.654 µs) : 490, 537
.   : milestone, 514,
iast_FULL (722.746 µs) : 701, 745
.   : milestone, 723,
iast_GLOBAL (557.195 µs) : 535, 579
.   : milestone, 557,
iast_HARDCODED_SECRET_DISABLED (506.477 µs) : 485, 528
.   : milestone, 506,
iast_INACTIVE (458.752 µs) : 437, 480
.   : milestone, 459,
iast_TELEMETRY_OFF (503.693 µs) : 482, 526
.   : milestone, 504,
tracing (452.377 µs) : 432, 473
.   : milestone, 452,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 385.618 µs [364.159 µs, 407.076 µs] -
iast 507.211 µs [484.414 µs, 530.008 µs] 121.593 µs (31.5%)
iast_FULL 721.465 µs [699.52 µs, 743.41 µs] 335.847 µs (87.1%)
iast_GLOBAL 553.385 µs [531.368 µs, 575.402 µs] 167.767 µs (43.5%)
iast_HARDCODED_SECRET_DISABLED 508.366 µs [486.539 µs, 530.194 µs] 122.748 µs (31.8%)
iast_INACTIVE 453.614 µs [432.686 µs, 474.542 µs] 67.996 µs (17.6%)
iast_TELEMETRY_OFF 492.947 µs [471.121 µs, 514.772 µs] 107.329 µs (27.8%)
tracing 453.807 µs [432.11 µs, 475.504 µs] 68.189 µs (17.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 377.105 µs [357.078 µs, 397.133 µs] -
iast 513.654 µs [490.341 µs, 536.966 µs] 136.548 µs (36.2%)
iast_FULL 722.746 µs [700.867 µs, 744.624 µs] 345.64 µs (91.7%)
iast_GLOBAL 557.195 µs [535.19 µs, 579.199 µs] 180.089 µs (47.8%)
iast_HARDCODED_SECRET_DISABLED 506.477 µs [484.62 µs, 528.333 µs] 129.371 µs (34.3%)
iast_INACTIVE 458.752 µs [437.309 µs, 480.195 µs] 81.647 µs (21.7%)
iast_TELEMETRY_OFF 503.693 µs [481.678 µs, 525.707 µs] 126.588 µs (33.6%)
tracing 452.377 µs [431.691 µs, 473.063 µs] 75.271 µs (20.0%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~39af191859, baseline=1.47.0-SNAPSHOT~28c315b990
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.365 ms) : 1346, 1385
.   : milestone, 1365,
appsec (1.736 ms) : 1713, 1760
.   : milestone, 1736,
appsec_no_iast (1.777 ms) : 1754, 1801
.   : milestone, 1777,
code_origins (1.657 ms) : 1624, 1690
.   : milestone, 1657,
iast (1.509 ms) : 1485, 1533
.   : milestone, 1509,
profiling (1.498 ms) : 1474, 1522
.   : milestone, 1498,
tracing (1.5 ms) : 1476, 1525
.   : milestone, 1500,
section candidate
no_agent (1.349 ms) : 1329, 1369
.   : milestone, 1349,
appsec (1.742 ms) : 1719, 1766
.   : milestone, 1742,
appsec_no_iast (1.753 ms) : 1731, 1776
.   : milestone, 1753,
code_origins (1.672 ms) : 1638, 1705
.   : milestone, 1672,
iast (1.524 ms) : 1500, 1548
.   : milestone, 1524,
profiling (1.497 ms) : 1473, 1520
.   : milestone, 1497,
tracing (1.502 ms) : 1477, 1527
.   : milestone, 1502,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.365 ms [1.346 ms, 1.385 ms] -
appsec 1.736 ms [1.713 ms, 1.76 ms] 370.869 µs (27.2%)
appsec_no_iast 1.777 ms [1.754 ms, 1.801 ms] 411.874 µs (30.2%)
code_origins 1.657 ms [1.624 ms, 1.69 ms] 291.38 µs (21.3%)
iast 1.509 ms [1.485 ms, 1.533 ms] 143.767 µs (10.5%)
profiling 1.498 ms [1.474 ms, 1.522 ms] 132.769 µs (9.7%)
tracing 1.5 ms [1.476 ms, 1.525 ms] 134.964 µs (9.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.349 ms [1.329 ms, 1.369 ms] -
appsec 1.742 ms [1.719 ms, 1.766 ms] 393.59 µs (29.2%)
appsec_no_iast 1.753 ms [1.731 ms, 1.776 ms] 404.604 µs (30.0%)
code_origins 1.672 ms [1.638 ms, 1.705 ms] 323.3 µs (24.0%)
iast 1.524 ms [1.5 ms, 1.548 ms] 175.355 µs (13.0%)
profiling 1.497 ms [1.473 ms, 1.52 ms] 148.052 µs (11.0%)
tracing 1.502 ms [1.477 ms, 1.527 ms] 153.108 µs (11.4%)

Dacapo

@nikita-tkachenko-datadog nikita-tkachenko-datadog merged commit 8ff37c3 into master Feb 25, 2025
220 checks passed
@nikita-tkachenko-datadog nikita-tkachenko-datadog deleted the nikita-tkachenko/scalatest-instrumentation-fix branch February 25, 2025 14:00
@github-actions github-actions bot added this to the 1.47.0 milestone Feb 25, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Mar 6, 2025
| 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
([#&#8203;8483](DataDog/dd-trace-java#8483) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Add exclusion to solve IAST weak randomness vulnerability false
positives
([#&#8203;8462](DataDog/dd-trace-java#8462) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak randomness false positive in Kafka client
([#&#8203;8408](DataDog/dd-trace-java#8408) -
[@&#8203;smola](https://github.com/smola))
- ✨ Fix location for SSRF with Kong Unirest
([#&#8203;8407](DataDog/dd-trace-java#8407) -
[@&#8203;smola](https://github.com/smola))
- ✨ Exclude IBM Instana from IAST
([#&#8203;8406](DataDog/dd-trace-java#8406) -
[@&#8203;smola](https://github.com/smola))
- 🐛 Fix org.json iast instrumentation test for latest dependency
([#&#8203;8347](DataDog/dd-trace-java#8347) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Configuration to Disable APM Tracing
([#&#8203;8219](DataDog/dd-trace-java#8219) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Address cookie vulnerability cardinality issues
([#&#8203;8210](DataDog/dd-trace-java#8210) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Email HTML Injection detection in IAST
([#&#8203;8205](DataDog/dd-trace-java#8205) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Application Security Management (WAF)

- 🐛✨ Ensure usr.exists tag is not overridden when
UsernameNotFoundException is thrown
([#&#8203;8376](DataDog/dd-trace-java#8376) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛✨ Ensure usr.exists tag is not overridden by auto
instrumentation
([#&#8203;8374](DataDog/dd-trace-java#8374) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Update appsec metrics with event_rules_version tag
([#&#8203;8354](DataDog/dd-trace-java#8354) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Update metrics: appsec.waf.requests
([#&#8203;8353](DataDog/dd-trace-java#8353) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Improve ASM support in vert.x 5.0
([#&#8203;8285](DataDog/dd-trace-java#8285) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Update metrics: appsec.waf.updates and appsec.waf.init
([#&#8203;8280](DataDog/dd-trace-java#8280) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Configuration to Disable APM Tracing
([#&#8203;8219](DataDog/dd-trace-java#8219) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Build & Tooling

- 🐛 Do not generate Muzzle references for primitive arrays in method
body
([#&#8203;8361](DataDog/dd-trace-java#8361) -
[@&#8203;amarziali](https://github.com/amarziali))
- 📖 Improve dev env setup documentation for Windows
([#&#8203;8180](DataDog/dd-trace-java#8180) -
[@&#8203;lucaspimentel](https://github.com/lucaspimentel))

##### Continuous Integration Visibility

- ✨ Add support for skip-EFD tagging
([#&#8203;8487](DataDog/dd-trace-java#8487) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix an NPE in Gradle Android instrumentation
([#&#8203;8484](DataDog/dd-trace-java#8484) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Consider modified tests when applying fail-fast tests
ordering
([#&#8203;8474](DataDog/dd-trace-java#8474) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement tests reordering for TestNG
([#&#8203;8467](DataDog/dd-trace-java#8467) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Gradle Launcher instrumentation to not interfere with Gradle
Test Kit
([#&#8203;8465](DataDog/dd-trace-java#8465) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Use separate TestEventHandlers per framework in CI Vis
instrumentations
([#&#8203;8451](DataDog/dd-trace-java#8451) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Remove warning log when JUnit 4 test method cannot be
retrieved
([#&#8203;8445](DataDog/dd-trace-java#8445) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Scalatest tracing for tests that are reported asynchronously
([#&#8203;8444](DataDog/dd-trace-java#8444) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement attempt to fix tests
([#&#8203;8393](DataDog/dd-trace-java#8393) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement test disabling
([#&#8203;8377](DataDog/dd-trace-java#8377) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Update CODEOWNERS parser to not log errors on comments with
leading whitespace
([#&#8203;8349](DataDog/dd-trace-java#8349) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Request Test Management tests list
([#&#8203;8345](DataDog/dd-trace-java#8345) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Receive test management settings from CIVis settings
request
([#&#8203;8331](DataDog/dd-trace-java#8331) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement quarantined tests tagging
([#&#8203;8326](DataDog/dd-trace-java#8326) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement tests quarantining
([#&#8203;8320](DataDog/dd-trace-java#8320) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add tag to specify if the user is setting DD_SERVICE
([#&#8203;8318](DataDog/dd-trace-java#8318) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

##### Crash tracking

- ✨ Only fork jps when required
([#&#8203;8419](DataDog/dd-trace-java#8419) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Use Java home of the crashed process to launch crash uploader
([#&#8203;8348](DataDog/dd-trace-java#8348) -
[@&#8203;jbachorik](https://github.com/jbachorik))

##### Data Streams Monitoring

- 🐛 Fix error happening when sqs message attributes are readonly
([#&#8203;8473](DataDog/dd-trace-java#8473) -
[@&#8203;vandonr](https://github.com/vandonr))
- 🐛 Fix bug on proto schema extraction
([#&#8203;8403](DataDog/dd-trace-java#8403) -
[@&#8203;vandonr](https://github.com/vandonr))
- 🐛 Fix service name overrides in consumers
([#&#8203;8387](DataDog/dd-trace-java#8387) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))

##### Database Monitoring

- ✨ Add DBMTracePreparedStatements to tracer configuration log
([#&#8203;8508](DataDog/dd-trace-java#8508) -
[@&#8203;cecile75](https://github.com/cecile75))

##### Dynamic Instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Fix Exception Replay with Lambda proxy classes
([#&#8203;8452](DataDog/dd-trace-java#8452) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add code origin support for spring-webmvc
([#&#8203;8416](DataDog/dd-trace-java#8416) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add support for scanning jar from loaded class
([#&#8203;8370](DataDog/dd-trace-java#8370) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Disable capture of entry values
([#&#8203;8369](DataDog/dd-trace-java#8369) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix CodeOrigin for `@Trace` annotation
([#&#8203;8344](DataDog/dd-trace-java#8344) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix equals/hashCode for CodeOrigin probe
([#&#8203;8319](DataDog/dd-trace-java#8319) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add code origin support to kafka message listeners
([#&#8203;8301](DataDog/dd-trace-java#8301) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### Metrics

- ✨ Create metric: appsec.waf.error
([#&#8203;8381](DataDog/dd-trace-java#8381) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Create metric: appsec.rasp.error
([#&#8203;8364](DataDog/dd-trace-java#8364) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Profiling

- ✨ Bump ddprof library to 1.22.0
([#&#8203;8463](DataDog/dd-trace-java#8463) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- IBM J9 8u361 corresponds to OpenJDK 8u362 by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#187
- Fix compatibility with musl libc 1.2.4 by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#189
- Modify version extraction by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#179
- Do not write null values to jvminfo event by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#184
- Productize VMStructs-based stack walker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#177
- A few minor downport issues by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#180
- Enable ASGCT by default on fairly safe J9 JDK versions by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#181
- 🐛 Exclude OrderedThreadPoolExecutor from queue-time measurements
([#&#8203;8456](DataDog/dd-trace-java#8456) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Record JVM info on JVMs without JFR
([#&#8203;8431](DataDog/dd-trace-java#8431) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Actually use CleanupTask in TempLocationManager
([#&#8203;8420](DataDog/dd-trace-java#8420) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Only fork jps when required
([#&#8203;8419](DataDog/dd-trace-java#8419) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Adjust JFR checks for J9
([#&#8203;8405](DataDog/dd-trace-java#8405) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🧹 Disable smap RSS parsing by default
([#&#8203;8342](DataDog/dd-trace-java#8342) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### Telemetry

- 🐛 Add support for JBoss jar:file format to DependencyResolver
([#&#8203;8428](DataDog/dd-trace-java#8428) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Update metrics: appsec.waf.requests
([#&#8203;8353](DataDog/dd-trace-java#8353) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Trace context propagation

- ✨ Introduce tracing propagator
([#&#8203;8313](DataDog/dd-trace-java#8313) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Tracer core

- 🐛 Fix Stable Config telemetry source names
([#&#8203;8460](DataDog/dd-trace-java#8460) -
[@&#8203;BaptisteFoy](https://github.com/BaptisteFoy))
- ✨ Probe trace endpoints with a valid payload of empty arrays
([#&#8203;8414](DataDog/dd-trace-java#8414) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Add 1 minute fail-safe to JUL/JMX class-loading callback
([#&#8203;8399](DataDog/dd-trace-java#8399) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Migrate DSM injection calls to context-first APIs
([#&#8203;8383](DataDog/dd-trace-java#8383) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🧹 Move continuation capture methods from scope to tracer
([#&#8203;8371](DataDog/dd-trace-java#8371) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Migrate context extraction calls to context-first APIs
([#&#8203;8368](DataDog/dd-trace-java#8368) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🧹 Migrate context injection calls to context-first APIs
([#&#8203;8358](DataDog/dd-trace-java#8358) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 💡 Support reading configurations from files
([#&#8203;8338](DataDog/dd-trace-java#8338) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- 💡 Implementation of BaggagePropagator and BaggageContext
([#&#8203;8330](DataDog/dd-trace-java#8330) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- 🧹 Combine continuation implementations into one which supports
multiple activations
([#&#8203;8324](DataDog/dd-trace-java#8324) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Introduce tracing propagator
([#&#8203;8313](DataDog/dd-trace-java#8313) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Remove old context propagation API
([#&#8203;8271](DataDog/dd-trace-java#8271) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Instrumentations

##### AWS Lambda instrumentation

- 🐛 Send error message and stack to Lambda extension
([#&#8203;8417](DataDog/dd-trace-java#8417) -
[@&#8203;nhulston](https://github.com/nhulston))

##### AWS SDK instrumentation

- 🐛 Fix error happening when sqs message attributes are readonly
([#&#8203;8473](DataDog/dd-trace-java#8473) -
[@&#8203;vandonr](https://github.com/vandonr))
- 💡 Inject trace context into AWS Step Functions input
([#&#8203;7585](DataDog/dd-trace-java#7585) -
[@&#8203;DylanLovesCoffee](https://github.com/DylanLovesCoffee))

##### Core Java language instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add code origin support for spring-webmvc
([#&#8203;8416](DataDog/dd-trace-java#8416) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 💡 Implementation of BaggagePropagator and BaggageContext
([#&#8203;8330](DataDog/dd-trace-java#8330) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add code origin support to kafka message listeners
([#&#8203;8301](DataDog/dd-trace-java#8301) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### gRPC instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### Kafka instrumentation

- ✨ Add messaging.destination.name tag to kafka integrations
([#&#8203;8366](DataDog/dd-trace-java#8366) -
[@&#8203;rarguelloF](https://github.com/rarguelloF))

##### Protocol Buffer instrumentation

- 🐛 Fix bug on proto schema extraction
([#&#8203;8403](DataDog/dd-trace-java#8403) -
[@&#8203;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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: ci visibility Continuous Integration Visibility type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tests failing with timeout in ScalaTest not reported to DataDog
2 participants