Skip to content

Fix NPE in getMdcCopy of LoggingEventInstrumentation #8599

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
merged 1 commit into from
Mar 21, 2025

Conversation

ygree
Copy link
Contributor

@ygree ygree commented Mar 20, 2025

What Does This Do

Fix NPE in getMdcCopy of LoggingEventInstrumentation

Motivation

Even though the exception is caught, it adds overhead and noise to the telemetry data.

Additional Notes

https://github.com/innoq/log4j/blob/master/src/main/java/org/apache/log4j/spi/LoggingEvent.java#L328-L339

    public void getMDCCopy() {
        if (this.mdcCopyLookupRequired) {
            this.mdcCopyLookupRequired = false;
            Hashtable t = MDC.getContext();
            // If there is no context, it will be null, so this.mdcCopy will also be null.
            if (t != null) {
                this.mdcCopy = (Hashtable)t.clone();
            }
        }
    }

Contributor Checklist

Jira ticket: APMS-15123

@ygree ygree self-assigned this Mar 20, 2025
@ygree ygree requested a review from a team as a code owner March 20, 2025 21:56
Copy link
Contributor

github-actions bot commented Mar 20, 2025

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@ygree ygree requested review from mcculls and dougqh March 20, 2025 22:04
@ygree ygree added comp: logging Tracer internal logging inst: log4j and removed comp: logging Tracer internal logging labels Mar 20, 2025
Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@pr-commenter
Copy link

pr-commenter bot commented Mar 20, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/fix-npe-in-logging-event-instrumentation
git_commit_date 1742492849 1742507544
git_commit_sha b999d0f 2185bf4
release_version 1.48.0-SNAPSHOT~b999d0ff0b 1.48.0-SNAPSHOT~2185bf4662
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1742510791 1742510791
ci_job_id 858120600 858120600
ci_pipeline_id 59533325 59533325
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-n1tuszbr-project-304-concurrent-0-eyr7639a 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-n1tuszbr-project-304-concurrent-0-eyr7639a 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~2185bf4662, baseline=1.48.0-SNAPSHOT~b999d0ff0b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.045 s) : 0, 1044771
Total [baseline] (10.585 s) : 0, 10584649
Agent [candidate] (1.044 s) : 0, 1043577
Total [candidate] (10.406 s) : 0, 10405825
section appsec
Agent [baseline] (1.185 s) : 0, 1185427
Total [baseline] (10.741 s) : 0, 10741401
Agent [candidate] (1.185 s) : 0, 1185329
Total [candidate] (10.69 s) : 0, 10690345
section iast
Agent [baseline] (1.172 s) : 0, 1172172
Total [baseline] (10.916 s) : 0, 10915946
Agent [candidate] (1.172 s) : 0, 1172191
Total [candidate] (11.011 s) : 0, 11011376
section profiling
Agent [baseline] (1.261 s) : 0, 1260799
Total [baseline] (10.857 s) : 0, 10856965
Agent [candidate] (1.261 s) : 0, 1261131
Total [candidate] (10.816 s) : 0, 10816211
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.045 s -
Agent appsec 1.185 s 140.656 ms (13.5%)
Agent iast 1.172 s 127.401 ms (12.2%)
Agent profiling 1.261 s 216.028 ms (20.7%)
Total tracing 10.585 s -
Total appsec 10.741 s 156.752 ms (1.5%)
Total iast 10.916 s 331.297 ms (3.1%)
Total profiling 10.857 s 272.316 ms (2.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.044 s -
Agent appsec 1.185 s 141.752 ms (13.6%)
Agent iast 1.172 s 128.614 ms (12.3%)
Agent profiling 1.261 s 217.554 ms (20.8%)
Total tracing 10.406 s -
Total appsec 10.69 s 284.52 ms (2.7%)
Total iast 11.011 s 605.551 ms (5.8%)
Total profiling 10.816 s 410.385 ms (3.9%)
gantt
    title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~2185bf4662, baseline=1.48.0-SNAPSHOT~b999d0ff0b

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (720.313 ms) : 0, 720313
BytebuddyAgent [candidate] (718.476 ms) : 0, 718476
GlobalTracer [baseline] (241.108 ms) : 0, 241108
GlobalTracer [candidate] (239.353 ms) : 0, 239353
AppSec [baseline] (55.12 ms) : 0, 55120
AppSec [candidate] (54.707 ms) : 0, 54707
Remote Config [baseline] (702.969 µs) : 0, 703
Remote Config [candidate] (697.302 µs) : 0, 697
Telemetry [baseline] (11.546 ms) : 0, 11546
Telemetry [candidate] (14.347 ms) : 0, 14347
section appsec
BytebuddyAgent [baseline] (737.42 ms) : 0, 737420
BytebuddyAgent [candidate] (737.221 ms) : 0, 737221
GlobalTracer [baseline] (236.268 ms) : 0, 236268
GlobalTracer [candidate] (236.327 ms) : 0, 236327
AppSec [baseline] (176.103 ms) : 0, 176103
AppSec [candidate] (176.116 ms) : 0, 176116
Remote Config [baseline] (660.139 µs) : 0, 660
Remote Config [candidate] (657.795 µs) : 0, 658
Telemetry [baseline] (8.271 ms) : 0, 8271
Telemetry [candidate] (8.258 ms) : 0, 8258
IAST [baseline] (21.54 ms) : 0, 21540
IAST [candidate] (21.581 ms) : 0, 21581
section iast
BytebuddyAgent [baseline] (838.004 ms) : 0, 838004
BytebuddyAgent [candidate] (838.457 ms) : 0, 838457
GlobalTracer [baseline] (229.814 ms) : 0, 229814
GlobalTracer [candidate] (229.379 ms) : 0, 229379
AppSec [baseline] (56.134 ms) : 0, 56134
AppSec [candidate] (55.387 ms) : 0, 55387
Remote Config [baseline] (606.527 µs) : 0, 607
Remote Config [candidate] (609.804 µs) : 0, 610
Telemetry [baseline] (8.764 ms) : 0, 8764
Telemetry [candidate] (8.726 ms) : 0, 8726
IAST [baseline] (22.916 ms) : 0, 22916
IAST [candidate] (23.736 ms) : 0, 23736
section profiling
BytebuddyAgent [baseline] (709.053 ms) : 0, 709053
BytebuddyAgent [candidate] (708.673 ms) : 0, 708673
GlobalTracer [baseline] (349.01 ms) : 0, 349010
GlobalTracer [candidate] (351.569 ms) : 0, 351569
AppSec [baseline] (54.404 ms) : 0, 54404
AppSec [candidate] (53.552 ms) : 0, 53552
Remote Config [baseline] (722.085 µs) : 0, 722
Remote Config [candidate] (709.102 µs) : 0, 709
Telemetry [baseline] (8.883 ms) : 0, 8883
Telemetry [candidate] (8.902 ms) : 0, 8902
ProfilingAgent [baseline] (97.372 ms) : 0, 97372
ProfilingAgent [candidate] (96.355 ms) : 0, 96355
Profiling [baseline] (97.396 ms) : 0, 97396
Profiling [candidate] (96.379 ms) : 0, 96379
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~2185bf4662, baseline=1.48.0-SNAPSHOT~b999d0ff0b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.045 s) : 0, 1044737
Total [baseline] (8.657 s) : 0, 8657195
Agent [candidate] (1.038 s) : 0, 1037829
Total [candidate] (8.651 s) : 0, 8651226
section iast
Agent [baseline] (1.176 s) : 0, 1176097
Total [baseline] (9.247 s) : 0, 9246872
Agent [candidate] (1.179 s) : 0, 1179445
Total [candidate] (9.227 s) : 0, 9226807
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.177 s) : 0, 1176720
Total [baseline] (9.206 s) : 0, 9206227
Agent [candidate] (1.176 s) : 0, 1176077
Total [candidate] (9.201 s) : 0, 9201294
section iast_TELEMETRY_OFF
Agent [baseline] (1.169 s) : 0, 1169495
Total [baseline] (9.238 s) : 0, 9237551
Agent [candidate] (1.169 s) : 0, 1169428
Total [candidate] (9.239 s) : 0, 9238886
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.045 s -
Agent iast 1.176 s 131.36 ms (12.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.177 s 131.983 ms (12.6%)
Agent iast_TELEMETRY_OFF 1.169 s 124.758 ms (11.9%)
Total tracing 8.657 s -
Total iast 9.247 s 589.677 ms (6.8%)
Total iast_HARDCODED_SECRET_DISABLED 9.206 s 549.032 ms (6.3%)
Total iast_TELEMETRY_OFF 9.238 s 580.356 ms (6.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.038 s -
Agent iast 1.179 s 141.617 ms (13.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.176 s 138.249 ms (13.3%)
Agent iast_TELEMETRY_OFF 1.169 s 131.599 ms (12.7%)
Total tracing 8.651 s -
Total iast 9.227 s 575.581 ms (6.7%)
Total iast_HARDCODED_SECRET_DISABLED 9.201 s 550.068 ms (6.4%)
Total iast_TELEMETRY_OFF 9.239 s 587.66 ms (6.8%)
gantt
    title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~2185bf4662, baseline=1.48.0-SNAPSHOT~b999d0ff0b

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (718.809 ms) : 0, 718809
BytebuddyAgent [candidate] (716.237 ms) : 0, 716237
GlobalTracer [baseline] (240.618 ms) : 0, 240618
GlobalTracer [candidate] (238.795 ms) : 0, 238795
AppSec [baseline] (54.781 ms) : 0, 54781
AppSec [candidate] (54.642 ms) : 0, 54642
Remote Config [baseline] (694.877 µs) : 0, 695
Remote Config [candidate] (708.612 µs) : 0, 709
Telemetry [baseline] (13.668 ms) : 0, 13668
Telemetry [candidate] (11.518 ms) : 0, 11518
section iast
BytebuddyAgent [baseline] (841.236 ms) : 0, 841236
BytebuddyAgent [candidate] (844.426 ms) : 0, 844426
GlobalTracer [baseline] (230.49 ms) : 0, 230490
GlobalTracer [candidate] (230.452 ms) : 0, 230452
IAST [baseline] (22.916 ms) : 0, 22916
IAST [candidate] (23.12 ms) : 0, 23120
AppSec [baseline] (56.172 ms) : 0, 56172
AppSec [candidate] (56.041 ms) : 0, 56041
Remote Config [baseline] (620.5 µs) : 0, 620
Remote Config [candidate] (610.636 µs) : 0, 611
Telemetry [baseline] (8.782 ms) : 0, 8782
Telemetry [candidate] (8.713 ms) : 0, 8713
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (839.565 ms) : 0, 839565
BytebuddyAgent [candidate] (841.937 ms) : 0, 841937
GlobalTracer [baseline] (232.105 ms) : 0, 232105
GlobalTracer [candidate] (229.846 ms) : 0, 229846
IAST [baseline] (23.105 ms) : 0, 23105
IAST [candidate] (22.868 ms) : 0, 22868
AppSec [baseline] (56.541 ms) : 0, 56541
AppSec [candidate] (55.969 ms) : 0, 55969
Remote Config [baseline] (633.564 µs) : 0, 634
Remote Config [candidate] (603.392 µs) : 0, 603
Telemetry [baseline] (8.792 ms) : 0, 8792
Telemetry [candidate] (8.678 ms) : 0, 8678
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (834.593 ms) : 0, 834593
BytebuddyAgent [candidate] (835.76 ms) : 0, 835760
GlobalTracer [baseline] (230.861 ms) : 0, 230861
GlobalTracer [candidate] (229.866 ms) : 0, 229866
IAST [baseline] (22.636 ms) : 0, 22636
IAST [candidate] (22.376 ms) : 0, 22376
AppSec [baseline] (56.111 ms) : 0, 56111
AppSec [candidate] (56.28 ms) : 0, 56280
Remote Config [baseline] (628.467 µs) : 0, 628
Remote Config [candidate] (611.504 µs) : 0, 612
Telemetry [baseline] (8.693 ms) : 0, 8693
Telemetry [candidate] (8.541 ms) : 0, 8541
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-03-20T22:16:45 2025-03-20T22:24:29
git_branch master ygree/fix-npe-in-logging-event-instrumentation
git_commit_date 1742492849 1742507544
git_commit_sha b999d0f 2185bf4
release_version 1.48.0-SNAPSHOT~b999d0ff0b 1.48.0-SNAPSHOT~2185bf4662
start_time 2025-03-20T22:16:31 2025-03-20T22:24:15
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1742509867 1742509867
ci_job_id 858120601 858120601
ci_pipeline_id 59533325 59533325
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-vu7pnrb5-project-304-concurrent-0-zeqqc0am 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-vu7pnrb5-project-304-concurrent-0-zeqqc0am 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 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 13 metrics, 17 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~2185bf4662, baseline=1.48.0-SNAPSHOT~b999d0ff0b
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.365 ms) : 1346, 1385
.   : milestone, 1365,
appsec (1.723 ms) : 1700, 1747
.   : milestone, 1723,
appsec_no_iast (1.751 ms) : 1727, 1775
.   : milestone, 1751,
code_origins (1.643 ms) : 1616, 1669
.   : milestone, 1643,
iast (1.503 ms) : 1479, 1528
.   : milestone, 1503,
profiling (1.571 ms) : 1545, 1598
.   : milestone, 1571,
tracing (1.481 ms) : 1455, 1506
.   : milestone, 1481,
section candidate
no_agent (1.367 ms) : 1348, 1386
.   : milestone, 1367,
appsec (1.725 ms) : 1702, 1749
.   : milestone, 1725,
appsec_no_iast (1.756 ms) : 1732, 1780
.   : milestone, 1756,
code_origins (1.654 ms) : 1626, 1682
.   : milestone, 1654,
iast (1.526 ms) : 1501, 1551
.   : milestone, 1526,
profiling (1.527 ms) : 1504, 1550
.   : milestone, 1527,
tracing (1.479 ms) : 1453, 1505
.   : milestone, 1479,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.365 ms [1.346 ms, 1.385 ms] -
appsec 1.723 ms [1.7 ms, 1.747 ms] 358.105 µs (26.2%)
appsec_no_iast 1.751 ms [1.727 ms, 1.775 ms] 385.717 µs (28.3%)
code_origins 1.643 ms [1.616 ms, 1.669 ms] 277.372 µs (20.3%)
iast 1.503 ms [1.479 ms, 1.528 ms] 138.126 µs (10.1%)
profiling 1.571 ms [1.545 ms, 1.598 ms] 205.912 µs (15.1%)
tracing 1.481 ms [1.455 ms, 1.506 ms] 115.366 µs (8.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.367 ms [1.348 ms, 1.386 ms] -
appsec 1.725 ms [1.702 ms, 1.749 ms] 358.492 µs (26.2%)
appsec_no_iast 1.756 ms [1.732 ms, 1.78 ms] 389.074 µs (28.5%)
code_origins 1.654 ms [1.626 ms, 1.682 ms] 287.067 µs (21.0%)
iast 1.526 ms [1.501 ms, 1.551 ms] 159.045 µs (11.6%)
profiling 1.527 ms [1.504 ms, 1.55 ms] 159.81 µs (11.7%)
tracing 1.479 ms [1.453 ms, 1.505 ms] 111.938 µs (8.2%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~2185bf4662, baseline=1.48.0-SNAPSHOT~b999d0ff0b
    dateFormat X
    axisFormat %s
section baseline
no_agent (377.728 µs) : 358, 397
.   : milestone, 378,
iast (514.2 µs) : 492, 537
.   : milestone, 514,
iast_FULL (728.466 µs) : 707, 750
.   : milestone, 728,
iast_GLOBAL (560.187 µs) : 538, 582
.   : milestone, 560,
iast_HARDCODED_SECRET_DISABLED (513.186 µs) : 491, 535
.   : milestone, 513,
iast_INACTIVE (461.113 µs) : 439, 483
.   : milestone, 461,
iast_TELEMETRY_OFF (497.74 µs) : 476, 519
.   : milestone, 498,
tracing (463.281 µs) : 442, 485
.   : milestone, 463,
section candidate
no_agent (389.207 µs) : 369, 409
.   : milestone, 389,
iast (514.544 µs) : 493, 536
.   : milestone, 515,
iast_FULL (729.196 µs) : 707, 751
.   : milestone, 729,
iast_GLOBAL (561.526 µs) : 540, 583
.   : milestone, 562,
iast_HARDCODED_SECRET_DISABLED (514.947 µs) : 493, 537
.   : milestone, 515,
iast_INACTIVE (463.608 µs) : 442, 485
.   : milestone, 464,
iast_TELEMETRY_OFF (502.773 µs) : 481, 525
.   : milestone, 503,
tracing (456.285 µs) : 435, 477
.   : milestone, 456,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 377.728 µs [357.985 µs, 397.471 µs] -
iast 514.2 µs [491.749 µs, 536.65 µs] 136.472 µs (36.1%)
iast_FULL 728.466 µs [706.697 µs, 750.234 µs] 350.738 µs (92.9%)
iast_GLOBAL 560.187 µs [537.963 µs, 582.411 µs] 182.459 µs (48.3%)
iast_HARDCODED_SECRET_DISABLED 513.186 µs [491.429 µs, 534.942 µs] 135.458 µs (35.9%)
iast_INACTIVE 461.113 µs [439.442 µs, 482.784 µs] 83.385 µs (22.1%)
iast_TELEMETRY_OFF 497.74 µs [476.108 µs, 519.372 µs] 120.012 µs (31.8%)
tracing 463.281 µs [441.76 µs, 484.802 µs] 85.553 µs (22.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 389.207 µs [368.93 µs, 409.484 µs] -
iast 514.544 µs [492.847 µs, 536.241 µs] 125.337 µs (32.2%)
iast_FULL 729.196 µs [707.187 µs, 751.204 µs] 339.989 µs (87.4%)
iast_GLOBAL 561.526 µs [539.814 µs, 583.237 µs] 172.319 µs (44.3%)
iast_HARDCODED_SECRET_DISABLED 514.947 µs [493.071 µs, 536.824 µs] 125.74 µs (32.3%)
iast_INACTIVE 463.608 µs [442.287 µs, 484.93 µs] 74.401 µs (19.1%)
iast_TELEMETRY_OFF 502.773 µs [480.847 µs, 524.699 µs] 113.566 µs (29.2%)
tracing 456.285 µs [435.295 µs, 477.275 µs] 67.077 µs (17.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/fix-npe-in-logging-event-instrumentation
git_commit_date 1742492849 1742507544
git_commit_sha b999d0f 2185bf4
release_version 1.48.0-SNAPSHOT~b999d0ff0b 1.48.0-SNAPSHOT~2185bf4662
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1742510373 1742510373
ci_job_id 858120602 858120602
ci_pipeline_id 59533325 59533325
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-n1tuszbr-project-304-concurrent-1-thf57a6j 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-n1tuszbr-project-304-concurrent-1-thf57a6j 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

Summary

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

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~2185bf4662, baseline=1.48.0-SNAPSHOT~b999d0ff0b
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.448 s) : 15448000, 15448000
.   : milestone, 15448000,
appsec (15.094 s) : 15094000, 15094000
.   : milestone, 15094000,
iast (18.777 s) : 18777000, 18777000
.   : milestone, 18777000,
iast_GLOBAL (18.02 s) : 18020000, 18020000
.   : milestone, 18020000,
profiling (15.114 s) : 15114000, 15114000
.   : milestone, 15114000,
tracing (14.997 s) : 14997000, 14997000
.   : milestone, 14997000,
section candidate
no_agent (14.97 s) : 14970000, 14970000
.   : milestone, 14970000,
appsec (15.137 s) : 15137000, 15137000
.   : milestone, 15137000,
iast (18.541 s) : 18541000, 18541000
.   : milestone, 18541000,
iast_GLOBAL (18.099 s) : 18099000, 18099000
.   : milestone, 18099000,
profiling (15.069 s) : 15069000, 15069000
.   : milestone, 15069000,
tracing (14.879 s) : 14879000, 14879000
.   : milestone, 14879000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.448 s [15.448 s, 15.448 s] -
appsec 15.094 s [15.094 s, 15.094 s] -354.0 ms (-2.3%)
iast 18.777 s [18.777 s, 18.777 s] 3.329 s (21.5%)
iast_GLOBAL 18.02 s [18.02 s, 18.02 s] 2.572 s (16.6%)
profiling 15.114 s [15.114 s, 15.114 s] -334.0 ms (-2.2%)
tracing 14.997 s [14.997 s, 14.997 s] -451.0 ms (-2.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.97 s [14.97 s, 14.97 s] -
appsec 15.137 s [15.137 s, 15.137 s] 167.0 ms (1.1%)
iast 18.541 s [18.541 s, 18.541 s] 3.571 s (23.9%)
iast_GLOBAL 18.099 s [18.099 s, 18.099 s] 3.129 s (20.9%)
profiling 15.069 s [15.069 s, 15.069 s] 99.0 ms (0.7%)
tracing 14.879 s [14.879 s, 14.879 s] -91.0 ms (-0.6%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~2185bf4662, baseline=1.48.0-SNAPSHOT~b999d0ff0b
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.467 ms) : 1455, 1478
.   : milestone, 1467,
appsec (2.337 ms) : 2293, 2381
.   : milestone, 2337,
iast (2.118 ms) : 2062, 2173
.   : milestone, 2118,
iast_GLOBAL (2.17 ms) : 2113, 2227
.   : milestone, 2170,
profiling (1.979 ms) : 1934, 2024
.   : milestone, 1979,
tracing (1.945 ms) : 1903, 1987
.   : milestone, 1945,
section candidate
no_agent (1.469 ms) : 1457, 1480
.   : milestone, 1469,
appsec (2.345 ms) : 2301, 2389
.   : milestone, 2345,
iast (2.118 ms) : 2062, 2174
.   : milestone, 2118,
iast_GLOBAL (2.154 ms) : 2098, 2210
.   : milestone, 2154,
profiling (2.0 ms) : 1954, 2046
.   : milestone, 2000,
tracing (1.948 ms) : 1906, 1991
.   : milestone, 1948,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.467 ms [1.455 ms, 1.478 ms] -
appsec 2.337 ms [2.293 ms, 2.381 ms] 870.536 µs (59.4%)
iast 2.118 ms [2.062 ms, 2.173 ms] 651.2 µs (44.4%)
iast_GLOBAL 2.17 ms [2.113 ms, 2.227 ms] 703.364 µs (48.0%)
profiling 1.979 ms [1.934 ms, 2.024 ms] 512.539 µs (34.9%)
tracing 1.945 ms [1.903 ms, 1.987 ms] 478.526 µs (32.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.469 ms [1.457 ms, 1.48 ms] -
appsec 2.345 ms [2.301 ms, 2.389 ms] 876.253 µs (59.7%)
iast 2.118 ms [2.062 ms, 2.174 ms] 649.025 µs (44.2%)
iast_GLOBAL 2.154 ms [2.098 ms, 2.21 ms] 684.665 µs (46.6%)
profiling 2.0 ms [1.954 ms, 2.046 ms] 531.401 µs (36.2%)
tracing 1.948 ms [1.906 ms, 1.991 ms] 479.586 µs (32.6%)

@ygree ygree merged commit bc96ba1 into master Mar 21, 2025
268 of 277 checks passed
@ygree ygree deleted the ygree/fix-npe-in-logging-event-instrumentation branch March 21, 2025 00:02
@github-actions github-actions bot added this to the 1.48.0 milestone Mar 21, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Apr 11, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| org.flywaydb.flyway | plugin | misk/gradle/libs.versions.toml | gradle
| minor | `11.6.0` -> `11.7.0` |
|
[com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
| [com.squareup.okio:okio](https://github.com/square/okio) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | minor | `2.15.0` ->
`2.16.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |

---

### Release Notes

<details>
<summary>square/okio (com.squareup.okio:okio-fakefilesystem)</summary>

###
[`v3.11.0`](https://github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3110)

*2025-04-09*

-   Fix: Clear the deflater's byte array reference
-   New: Faster implementation of `String.decodeHex()` on Kotlin/JS.
- New: Declare `EXACTLY_ONCE` execution for blocks like `Closeable.use
{}` and `FileSystem.read {}`.
-   Upgrade: \[Kotlin 2.1.20]\[kotlin\_2\_1\_20].

</details>

<details>
<summary>autonomousapps/dependency-analysis-android-gradle-plugin
(com.autonomousapps.dependency-analysis)</summary>

###
[`v2.16.0`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-2160)

-   \[Feat]: support `com.android.test` projects.
-   \[Feat]: support typesafe project accessors with opt-in.

```kotlin
dependencyAnalysis {
  useTypesafeProjectAccessors(true) // false by default
}
```

</details>

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.48.1`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.1):
1.48.1

### Components

#### Tracer internal logging

- 🐛 Remove print line causing unnecessary logs
([#&#8203;8687](DataDog/dd-trace-java#8687) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

###
[`v1.48.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.0):
1.48.0

### Known Bugs

> \[!NOTE]
> If you are experiencing issues with spamming timeout logs, please
update to the [latest
version](https://github.com/DataDog/dd-trace-java/releases/latest) or
set
[JDK_SOCKET_ENABLED](https://github.com/DataDog/dd-trace-java/blob/33fc3c9a9b7cda3beda88b8b3e5224ae2b10764a/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java#L98)
to false.

### Components

#### Application Security Management (IAST)

- ✨ Fix vulnerability location org.jose4j.lang.HashUtil
([#&#8203;8610](DataDog/dd-trace-java#8610) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak randomness in oracle.ucp.util.OpaqueString
([#&#8203;8609](DataDog/dd-trace-java#8609) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak hash false positive in
oracle.security.o5logon.O5Logon
([#&#8203;8608](DataDog/dd-trace-java#8608) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Prevent before callsites targeting constructors in super calls
([#&#8203;8549](DataDog/dd-trace-java#8549) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### Application Security Management (WAF)

- ✨ Update login events public SDK to V2
([#&#8203;8620](DataDog/dd-trace-java#8620) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Improve detection of missing request end events
([#&#8203;8510](DataDog/dd-trace-java#8510) -
[@&#8203;smola](https://github.com/smola))
- 🧹 Remove remote configuration for API Security sampling rate
([#&#8203;8486](DataDog/dd-trace-java#8486) -
[@&#8203;smola](https://github.com/smola))
- ✨ Add setUser to user monitoring SDK
([#&#8203;8482](DataDog/dd-trace-java#8482) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add missing address for signup event
([#&#8203;8469](DataDog/dd-trace-java#8469) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Allow login events SDK to be used with appsec disabled
([#&#8203;8464](DataDog/dd-trace-java#8464) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ New API Security sampling algorithm
([#&#8203;8178](DataDog/dd-trace-java#8178) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Build & Tooling

- ✨ Add buffer size customizability to JDK UDS support
([#&#8203;8629](DataDog/dd-trace-java#8629) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Add JDK built-in support for UDS on Java 16+
([#&#8203;8314](DataDog/dd-trace-java#8314) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Configuration at Runtime

- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Continuous Integration Visibility

- 🐛 Prevent double reporting of Scalatest events when using SBT with
test forking
([#&#8203;8682](DataDog/dd-trace-java#8682) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Shutdown CI Visibility test event handlers before tracer
([#&#8203;8677](DataDog/dd-trace-java#8677) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Do not apply JUnit 4 instrumentation to MUnit runners
([#&#8203;8675](DataDog/dd-trace-java#8675),
[#&#8203;8683](DataDog/dd-trace-java#8683) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Remove error log when source path resolution fails on
isModified check
([#&#8203;8663](DataDog/dd-trace-java#8663) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement tests reordering for JUnit 4
([#&#8203;8650](DataDog/dd-trace-java#8650) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Set default Attempt to Fix retries if none provided from the
backend
([#&#8203;8615](DataDog/dd-trace-java#8615) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Allow to manually set PR info
([#&#8203;8566](DataDog/dd-trace-java#8566) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Test Optimization init when repo root cannot be determined
([#&#8203;8533](DataDog/dd-trace-java#8533) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add capabilities tagging
([#&#8203;8499](DataDog/dd-trace-java#8499),
[#&#8203;8540](DataDog/dd-trace-java#8540) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Crash tracking

- 🐛 Remove dependency on bash from crash/oome uploder scripts
([#&#8203;8652](DataDog/dd-trace-java#8652) -
[@&#8203;jbachorik](https://github.com/jbachorik))

#### Data Streams Monitoring

- ✨ e2e pipeline configuration when data jobs is enabled
([#&#8203;8553](DataDog/dd-trace-java#8553) -
[@&#8203;kr-igor](https://github.com/kr-igor))

#### Dynamic Instrumentation

- 🐛 Fix In-Product when config is empty
([#&#8203;8679](DataDog/dd-trace-java#8679) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add support for filtering shaded third-party libs
([#&#8203;8612](DataDog/dd-trace-java#8612) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add In-Product Enablement
([#&#8203;8587](DataDog/dd-trace-java#8587) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Reduce footprint of SourceFile tracking
([#&#8203;8524](DataDog/dd-trace-java#8524) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Optimize the SourceFile tracking
([#&#8203;8520](DataDog/dd-trace-java#8520) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### OpenTracing

- 🧹 Remove activeScope() use in OpenTracing shim
([#&#8203;8478](DataDog/dd-trace-java#8478) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Profiling

- ✨ Add profiler env check command to AgentCLI
([#&#8203;8671](DataDog/dd-trace-java#8671) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Bump ddprof to 1.23.0
([#&#8203;8668](DataDog/dd-trace-java#8668) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Fix a crash related to ElfParser::loadSymbolTable
([#&#8203;191](DataDog/dd-trace-java#191)) by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#192
- Unwind String.indexOf intrinsic on AArch64 by
[@&#8203;MattAlp](https://github.com/MattAlp) in
DataDog/java-profiler#193
- Fix Java 24 support by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#194
- A set of fixes related to clang, aarch64 and musl pecularities of
vmstructs stack unwinder by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#199

- 🐛 Remove process information from JFR recording
([#&#8203;8661](DataDog/dd-trace-java#8661) -
[@&#8203;r1viollet](https://github.com/r1viollet))

- 🐛 Make TempLocationManager USER aware
([#&#8203;8605](DataDog/dd-trace-java#8605) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Telemetry

- 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics
([#&#8203;8624](DataDog/dd-trace-java#8624) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Create metric: appsec.rasp.rule.skipped
([#&#8203;8618](DataDog/dd-trace-java#8618) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Testing

- 🧹 Simplify ssi tests one-pipeline
([#&#8203;8558](DataDog/dd-trace-java#8558) -
[@&#8203;robertomonteromiguel](https://github.com/robertomonteromiguel))
- ✨ Add smoke tests for java's concurrent API
([#&#8203;8438](DataDog/dd-trace-java#8438) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Trace context propagation

- ✨ Adding Support for `TRACE_PROPAGATION_BEHAVIOR_EXTRACT`
([#&#8203;8535](DataDog/dd-trace-java#8535) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer core

- 🐛 Ensure shaded helpers have unique names
([#&#8203;8559](DataDog/dd-trace-java#8559) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support common config sources for user-provided git info
([#&#8203;8547](DataDog/dd-trace-java#8547) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Make the default config sources more robust when a security
manager is installed
([#&#8203;8544](DataDog/dd-trace-java#8544) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support targeting services with configurations in stable
configuration file
([#&#8203;8526](DataDog/dd-trace-java#8526) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Add new parser for `DD_TAGS` and prioritizing `DD_SERVICE`
([#&#8203;8296](DataDog/dd-trace-java#8296) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer internal logging

- 🐛 Add missing debug log for the cloudPayloadTaggingServices config
([#&#8203;8600](DataDog/dd-trace-java#8600) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add the possibility to output the logs of the Java tracer
in JSON
([#&#8203;8083](DataDog/dd-trace-java#8083) -
[@&#8203;cecile75](https://github.com/cecile75))

#### Tracer public API

- ✨ Introducing `DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED` Config
([#&#8203;8536](DataDog/dd-trace-java#8536) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Config Consistency Round 2
([#&#8203;8489](DataDog/dd-trace-java#8489) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

####

- 🐛 Fix NPE in getMdcCopy of LoggingEventInstrumentation
([#&#8203;8599](DataDog/dd-trace-java#8599) -
[@&#8203;ygree](https://github.com/ygree))

#### Apache Spark instrumentation

- ✨ Instrument Runtime.exit() to finish spark application spans
([#&#8203;8572](DataDog/dd-trace-java#8572) -
[@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd))
- ✨ Configure OpenLineage if present in Spark instrumentation
([#&#8203;8541](DataDog/dd-trace-java#8541) -
[@&#8203;mobuchowski](https://github.com/mobuchowski))

#### Armeria Instrumentation

- ✨ Support armeria grpc 1.32.3
([#&#8203;8606](DataDog/dd-trace-java#8606) -
[@&#8203;github-actions](https://github.com/github-actions)\[bot])

#### AWS DynamoDB Instrumentation

- ✨ Create DynamoDB instrumentation + add span pointers for
`updateItem` and `deleteItem`
([#&#8203;8490](DataDog/dd-trace-java#8490) -
[@&#8203;nhulston](https://github.com/nhulston))

#### AWS SDK instrumentation

- ✨ Add DynamoDB in
DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES
([#&#8203;8595](DataDog/dd-trace-java#8595) -
[@&#8203;joeyzhao2018](https://github.com/joeyzhao2018))

#### Azure Functions instrumentation

- ✨ Enable tracer computed trace metrics by default for Azure
Functions
([#&#8203;8518](DataDog/dd-trace-java#8518) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))
- 💡 Add azure-functions instrumentation
([#&#8203;8432](DataDog/dd-trace-java#8432) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))

#### Core Java language instrumentation

- 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+
([#&#8203;8560](DataDog/dd-trace-java#8560) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Eclipse Vert.x instrumentation

- ✨ Add vertx postgresql client instrumentation
([#&#8203;8471](DataDog/dd-trace-java#8471) -
[@&#8203;vandonr](https://github.com/vandonr) - thanks for the
contribution!)

#### Kafka instrumentation

- ✨ Support and test kafka-clients 4
([#&#8203;8581](DataDog/dd-trace-java#8581) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Kotlin instrumentation

- ✨ Avoid disconnected traces when using Kotlin flowOn
([#&#8203;8651](DataDog/dd-trace-java#8651) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🧹 Migrate OtelContext wrapper to new internal Context API
([#&#8203;8645](DataDog/dd-trace-java#8645) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Spring instrumentation

- 🐛 Support CompletableFuture on spring webmvc controllers
([#&#8203;8659](DataDog/dd-trace-java#8659) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### WebSocket Instrumentation

- ✨ Instrument Jetty websocket pojo
([#&#8203;8562](DataDog/dd-trace-java#8562) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Instrument Java Websocket API (JSR356)
([#&#8203;8440](DataDog/dd-trace-java#8440) -
[@&#8203;amarziali](https://github.com/amarziali))

#### All other instrumentations

- ✨ Introduce cache for peer.hostname lookup
([#&#8203;8601](DataDog/dd-trace-java#8601) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support pekko http 1.1
([#&#8203;8532](DataDog/dd-trace-java#8532) -
[@&#8203;amarziali](https://github.com/amarziali))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: 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: 331314f71acaced3adc75ea5d7e855c248d593fc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants