Skip to content
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

Prevent possible NPE calculating Kafka record header size #8292

Merged
merged 1 commit into from
Jan 28, 2025

Conversation

ygree
Copy link
Contributor

@ygree ygree commented Jan 27, 2025

What Does This Do

Prevents possible NPE

java.lang.NullPointerException: Cannot read the array length because the return value oforg.apache.kafka.common.header.Header.value()” is null
  at datadog.trace.instrumentation.kafka_common.Utils.computePayloadSizeBytes(Utils.java:17)
  at datadog.trace.instrumentation.kafka_clients38.TracingIterator.startNewRecordSpan(TracingIterator.java:107)
  at datadog.trace.instrumentation.kafka_clients38.TracingIterator.next(TracingIterator.java:69)
  at datadog.trace.instrumentation.kafka_clients38.TracingIterator.next(TracingIterator.java:30)
  at (redacted: 6 frames)
  at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)
  at java.base/java.lang.Thread.run(Unknown Source)

Motivation

When a Kafka record header has a null value, it fails to silently create a span

Additional Notes

Contributor Checklist

Jira ticket: DSMS-25

@ygree ygree added type: bug inst: kafka Kafka instrumentation labels Jan 27, 2025
@ygree ygree self-assigned this Jan 27, 2025
@ygree ygree requested a review from a team as a code owner January 27, 2025 23:05
@pr-commenter
Copy link

pr-commenter bot commented Jan 27, 2025

Kafka / producer-benchmark

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/fix-npe-computePayloadSizeBytes
git_commit_date 1738000910 1738018592
git_commit_sha 8c6ec67 94a3a5b
See matching parameters
Baseline Candidate
ci_job_date 1738020148 1738020148
ci_job_id 782716828 782716828
ci_pipeline_id 54142464 54142464
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
jdkVersion 11.0.25 11.0.25
jmhVersion 1.36 1.36
jvm /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/java-11-openjdk-amd64/bin/java
jvmArgs -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/go/src/github.com/DataDog/apm-reliability/dd-trace-java/platform/src/producer-benchmark/build/tmp/jmh -Duser.country=US -Duser.language=en -Duser.variant -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/go/src/github.com/DataDog/apm-reliability/dd-trace-java/platform/src/producer-benchmark/build/tmp/jmh -Duser.country=US -Duser.language=en -Duser.variant
vmName OpenJDK 64-Bit Server VM OpenJDK 64-Bit Server VM
vmVersion 11.0.25+9-post-Ubuntu-1ubuntu122.04 11.0.25+9-post-Ubuntu-1ubuntu122.04

Summary

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

See unchanged results
scenario Δ mean throughput
scenario:not-instrumented/KafkaProduceBenchmark.benchProduce same
scenario:only-tracing-dsm-disabled-benchmarks/KafkaProduceBenchmark.benchProduce same
scenario:only-tracing-dsm-enabled-benchmarks/KafkaProduceBenchmark.benchProduce same

@pr-commenter
Copy link

pr-commenter bot commented Jan 27, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/fix-npe-computePayloadSizeBytes
git_commit_date 1738000910 1738018592
git_commit_sha 8c6ec67 94a3a5b
release_version 1.46.0-SNAPSHOT~8c6ec67749 1.46.0-SNAPSHOT~94a3a5b304
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1738021402 1738021402
ci_job_id 782716824 782716824
ci_pipeline_id 54142464 54142464
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-8wlcx2s5-project-304-concurrent-0-h7k2wp4r 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-8wlcx2s5-project-304-concurrent-0-h7k2wp4r 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 0 performance improvements and 0 performance regressions! Performance is the same for 61 metrics, 2 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~94a3a5b304, baseline=1.46.0-SNAPSHOT~8c6ec67749

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.041 s) : 0, 1041400
Total [baseline] (10.42 s) : 0, 10419750
Agent [candidate] (1.039 s) : 0, 1038739
Total [candidate] (10.457 s) : 0, 10456834
section appsec
Agent [baseline] (1.181 s) : 0, 1181046
Total [baseline] (10.735 s) : 0, 10735406
Agent [candidate] (1.181 s) : 0, 1181121
Total [candidate] (10.77 s) : 0, 10770097
section iast
Agent [baseline] (1.171 s) : 0, 1170508
Total [baseline] (10.905 s) : 0, 10904943
Agent [candidate] (1.176 s) : 0, 1176159
Total [candidate] (10.945 s) : 0, 10945277
section profiling
Agent [baseline] (1.274 s) : 0, 1274361
Total [baseline] (10.912 s) : 0, 10911925
Agent [candidate] (1.26 s) : 0, 1259942
Total [candidate] (10.831 s) : 0, 10830819
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.041 s -
Agent appsec 1.181 s 139.647 ms (13.4%)
Agent iast 1.171 s 129.108 ms (12.4%)
Agent profiling 1.274 s 232.962 ms (22.4%)
Total tracing 10.42 s -
Total appsec 10.735 s 315.657 ms (3.0%)
Total iast 10.905 s 485.193 ms (4.7%)
Total profiling 10.912 s 492.175 ms (4.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.039 s -
Agent appsec 1.181 s 142.382 ms (13.7%)
Agent iast 1.176 s 137.419 ms (13.2%)
Agent profiling 1.26 s 221.203 ms (21.3%)
Total tracing 10.457 s -
Total appsec 10.77 s 313.263 ms (3.0%)
Total iast 10.945 s 488.443 ms (4.7%)
Total profiling 10.831 s 373.985 ms (3.6%)
gantt
    title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~94a3a5b304, baseline=1.46.0-SNAPSHOT~8c6ec67749

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.599 ms) : 0, 715599
BytebuddyAgent [candidate] (713.71 ms) : 0, 713710
GlobalTracer [baseline] (240.314 ms) : 0, 240314
GlobalTracer [candidate] (240.176 ms) : 0, 240176
AppSec [baseline] (55.825 ms) : 0, 55825
AppSec [candidate] (55.748 ms) : 0, 55748
Remote Config [baseline] (724.209 µs) : 0, 724
Remote Config [candidate] (723.691 µs) : 0, 724
Telemetry [baseline] (13.689 ms) : 0, 13689
Telemetry [candidate] (13.069 ms) : 0, 13069
section appsec
BytebuddyAgent [baseline] (732.857 ms) : 0, 732857
BytebuddyAgent [candidate] (733.293 ms) : 0, 733293
GlobalTracer [baseline] (237.427 ms) : 0, 237427
GlobalTracer [candidate] (237.263 ms) : 0, 237263
AppSec [baseline] (176.848 ms) : 0, 176848
AppSec [candidate] (176.772 ms) : 0, 176772
Remote Config [baseline] (660.471 µs) : 0, 660
Remote Config [candidate] (654.706 µs) : 0, 655
Telemetry [baseline] (8.245 ms) : 0, 8245
Telemetry [candidate] (8.202 ms) : 0, 8202
IAST [baseline] (19.392 ms) : 0, 19392
IAST [candidate] (19.265 ms) : 0, 19265
section iast
BytebuddyAgent [baseline] (834.912 ms) : 0, 834912
BytebuddyAgent [candidate] (839.076 ms) : 0, 839076
GlobalTracer [baseline] (231.231 ms) : 0, 231231
GlobalTracer [candidate] (232.097 ms) : 0, 232097
AppSec [baseline] (58.31 ms) : 0, 58310
AppSec [candidate] (58.651 ms) : 0, 58651
Remote Config [baseline] (654.467 µs) : 0, 654
Remote Config [candidate] (657.136 µs) : 0, 657
Telemetry [baseline] (8.712 ms) : 0, 8712
Telemetry [candidate] (8.827 ms) : 0, 8827
IAST [baseline] (21.391 ms) : 0, 21391
IAST [candidate] (21.452 ms) : 0, 21452
section profiling
ProfilingAgent [baseline] (97.308 ms) : 0, 97308
ProfilingAgent [candidate] (96.458 ms) : 0, 96458
BytebuddyAgent [baseline] (714.829 ms) : 0, 714829
BytebuddyAgent [candidate] (705.642 ms) : 0, 705642
GlobalTracer [baseline] (353.957 ms) : 0, 353957
GlobalTracer [candidate] (351.352 ms) : 0, 351352
AppSec [baseline] (55.869 ms) : 0, 55869
AppSec [candidate] (54.509 ms) : 0, 54509
Remote Config [baseline] (727.375 µs) : 0, 727
Remote Config [candidate] (721.927 µs) : 0, 722
Telemetry [baseline] (9.106 ms) : 0, 9106
Telemetry [candidate] (8.974 ms) : 0, 8974
Profiling [baseline] (97.332 ms) : 0, 97332
Profiling [candidate] (96.482 ms) : 0, 96482
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~94a3a5b304, baseline=1.46.0-SNAPSHOT~8c6ec67749

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.037 s) : 0, 1036566
Total [baseline] (8.623 s) : 0, 8623120
Agent [candidate] (1.049 s) : 0, 1049018
Total [candidate] (8.64 s) : 0, 8640233
section iast
Agent [baseline] (1.171 s) : 0, 1170756
Total [baseline] (9.281 s) : 0, 9280594
Agent [candidate] (1.179 s) : 0, 1179352
Total [candidate] (9.258 s) : 0, 9257547
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.168 s) : 0, 1168012
Total [baseline] (9.168 s) : 0, 9167548
Agent [candidate] (1.173 s) : 0, 1173152
Total [candidate] (9.164 s) : 0, 9164425
section iast_TELEMETRY_OFF
Agent [baseline] (1.162 s) : 0, 1162301
Total [baseline] (9.224 s) : 0, 9224344
Agent [candidate] (1.164 s) : 0, 1163678
Total [candidate] (9.203 s) : 0, 9202623
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.037 s -
Agent iast 1.171 s 134.19 ms (12.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.168 s 131.445 ms (12.7%)
Agent iast_TELEMETRY_OFF 1.162 s 125.735 ms (12.1%)
Total tracing 8.623 s -
Total iast 9.281 s 657.475 ms (7.6%)
Total iast_HARDCODED_SECRET_DISABLED 9.168 s 544.429 ms (6.3%)
Total iast_TELEMETRY_OFF 9.224 s 601.224 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.049 s -
Agent iast 1.179 s 130.335 ms (12.4%)
Agent iast_HARDCODED_SECRET_DISABLED 1.173 s 124.134 ms (11.8%)
Agent iast_TELEMETRY_OFF 1.164 s 114.66 ms (10.9%)
Total tracing 8.64 s -
Total iast 9.258 s 617.315 ms (7.1%)
Total iast_HARDCODED_SECRET_DISABLED 9.164 s 524.193 ms (6.1%)
Total iast_TELEMETRY_OFF 9.203 s 562.39 ms (6.5%)
gantt
    title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~94a3a5b304, baseline=1.46.0-SNAPSHOT~8c6ec67749

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.139 ms) : 0, 714139
BytebuddyAgent [candidate] (723.097 ms) : 0, 723097
GlobalTracer [baseline] (239.258 ms) : 0, 239258
GlobalTracer [candidate] (242.497 ms) : 0, 242497
AppSec [baseline] (55.097 ms) : 0, 55097
AppSec [candidate] (55.714 ms) : 0, 55714
Remote Config [baseline] (704.417 µs) : 0, 704
Remote Config [candidate] (728.064 µs) : 0, 728
Telemetry [baseline] (12.18 ms) : 0, 12180
Telemetry [candidate] (11.648 ms) : 0, 11648
section iast
BytebuddyAgent [baseline] (833.939 ms) : 0, 833939
BytebuddyAgent [candidate] (841.45 ms) : 0, 841450
GlobalTracer [baseline] (232.202 ms) : 0, 232202
GlobalTracer [candidate] (232.817 ms) : 0, 232817
AppSec [baseline] (58.71 ms) : 0, 58710
AppSec [candidate] (58.528 ms) : 0, 58528
IAST [baseline] (21.314 ms) : 0, 21314
IAST [candidate] (21.484 ms) : 0, 21484
Remote Config [baseline] (654.338 µs) : 0, 654
Remote Config [candidate] (652.7 µs) : 0, 653
Telemetry [baseline] (8.679 ms) : 0, 8679
Telemetry [candidate] (8.796 ms) : 0, 8796
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (833.588 ms) : 0, 833588
BytebuddyAgent [candidate] (837.738 ms) : 0, 837738
GlobalTracer [baseline] (230.095 ms) : 0, 230095
GlobalTracer [candidate] (230.98 ms) : 0, 230980
AppSec [baseline] (58.277 ms) : 0, 58277
AppSec [candidate] (58.213 ms) : 0, 58213
IAST [baseline] (21.422 ms) : 0, 21422
IAST [candidate] (21.29 ms) : 0, 21290
Remote Config [baseline] (650.557 µs) : 0, 651
Remote Config [candidate] (656.469 µs) : 0, 656
Telemetry [baseline] (8.706 ms) : 0, 8706
Telemetry [candidate] (8.71 ms) : 0, 8710
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (828.58 ms) : 0, 828580
BytebuddyAgent [candidate] (829.71 ms) : 0, 829710
GlobalTracer [baseline] (229.822 ms) : 0, 229822
GlobalTracer [candidate] (230.652 ms) : 0, 230652
AppSec [baseline] (58.488 ms) : 0, 58488
AppSec [candidate] (57.927 ms) : 0, 57927
IAST [baseline] (20.922 ms) : 0, 20922
IAST [candidate] (20.869 ms) : 0, 20869
Remote Config [baseline] (647.303 µs) : 0, 647
Remote Config [candidate] (643.486 µs) : 0, 643
Telemetry [baseline] (8.585 ms) : 0, 8585
Telemetry [candidate] (8.652 ms) : 0, 8652
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-27T23:15:26 2025-01-27T23:22:32
git_branch master ygree/fix-npe-computePayloadSizeBytes
git_commit_date 1738000910 1738018592
git_commit_sha 8c6ec67 94a3a5b
release_version 1.46.0-SNAPSHOT~8c6ec67749 1.46.0-SNAPSHOT~94a3a5b304
start_time 2025-01-27T23:15:12 2025-01-27T23:22:18
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1738020510 1738020510
ci_job_id 782716825 782716825
ci_pipeline_id 54142464 54142464
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-fgow3nxt-project-304-concurrent-1-m5zzdgw6 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-fgow3nxt-project-304-concurrent-1-m5zzdgw6 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, 16 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~94a3a5b304, baseline=1.46.0-SNAPSHOT~8c6ec67749
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.371 ms) : 1351, 1390
.   : milestone, 1371,
appsec (1.749 ms) : 1725, 1773
.   : milestone, 1749,
appsec_no_iast (1.785 ms) : 1759, 1810
.   : milestone, 1785,
iast (1.511 ms) : 1487, 1534
.   : milestone, 1511,
profiling (1.541 ms) : 1516, 1566
.   : milestone, 1541,
tracing (1.496 ms) : 1471, 1521
.   : milestone, 1496,
section candidate
no_agent (1.365 ms) : 1344, 1386
.   : milestone, 1365,
appsec (1.753 ms) : 1727, 1778
.   : milestone, 1753,
appsec_no_iast (1.747 ms) : 1723, 1772
.   : milestone, 1747,
iast (1.514 ms) : 1490, 1537
.   : milestone, 1514,
profiling (1.506 ms) : 1483, 1529
.   : milestone, 1506,
tracing (1.473 ms) : 1448, 1498
.   : milestone, 1473,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.371 ms [1.351 ms, 1.39 ms] -
appsec 1.749 ms [1.725 ms, 1.773 ms] 378.268 µs (27.6%)
appsec_no_iast 1.785 ms [1.759 ms, 1.81 ms] 413.705 µs (30.2%)
iast 1.511 ms [1.487 ms, 1.534 ms] 139.696 µs (10.2%)
profiling 1.541 ms [1.516 ms, 1.566 ms] 170.373 µs (12.4%)
tracing 1.496 ms [1.471 ms, 1.521 ms] 125.421 µs (9.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.365 ms [1.344 ms, 1.386 ms] -
appsec 1.753 ms [1.727 ms, 1.778 ms] 387.681 µs (28.4%)
appsec_no_iast 1.747 ms [1.723 ms, 1.772 ms] 382.138 µs (28.0%)
iast 1.514 ms [1.49 ms, 1.537 ms] 148.492 µs (10.9%)
profiling 1.506 ms [1.483 ms, 1.529 ms] 141.071 µs (10.3%)
tracing 1.473 ms [1.448 ms, 1.498 ms] 107.949 µs (7.9%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~94a3a5b304, baseline=1.46.0-SNAPSHOT~8c6ec67749
    dateFormat X
    axisFormat %s
section baseline
no_agent (381.452 µs) : 362, 401
.   : milestone, 381,
iast (515.415 µs) : 492, 539
.   : milestone, 515,
iast_FULL (746.242 µs) : 723, 769
.   : milestone, 746,
iast_GLOBAL (561.703 µs) : 540, 584
.   : milestone, 562,
iast_HARDCODED_SECRET_DISABLED (518.301 µs) : 496, 541
.   : milestone, 518,
iast_INACTIVE (463.713 µs) : 442, 486
.   : milestone, 464,
iast_TELEMETRY_OFF (497.199 µs) : 474, 521
.   : milestone, 497,
tracing (458.452 µs) : 437, 479
.   : milestone, 458,
section candidate
no_agent (384.481 µs) : 365, 404
.   : milestone, 384,
iast (511.587 µs) : 488, 535
.   : milestone, 512,
iast_FULL (741.483 µs) : 718, 765
.   : milestone, 741,
iast_GLOBAL (557.713 µs) : 535, 580
.   : milestone, 558,
iast_HARDCODED_SECRET_DISABLED (511.011 µs) : 488, 534
.   : milestone, 511,
iast_INACTIVE (458.127 µs) : 437, 479
.   : milestone, 458,
iast_TELEMETRY_OFF (505.046 µs) : 481, 529
.   : milestone, 505,
tracing (455.857 µs) : 435, 477
.   : milestone, 456,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 381.452 µs [361.964 µs, 400.94 µs] -
iast 515.415 µs [492.147 µs, 538.683 µs] 133.963 µs (35.1%)
iast_FULL 746.242 µs [723.19 µs, 769.295 µs] 364.791 µs (95.6%)
iast_GLOBAL 561.703 µs [539.565 µs, 583.842 µs] 180.252 µs (47.3%)
iast_HARDCODED_SECRET_DISABLED 518.301 µs [495.515 µs, 541.087 µs] 136.849 µs (35.9%)
iast_INACTIVE 463.713 µs [441.846 µs, 485.58 µs] 82.261 µs (21.6%)
iast_TELEMETRY_OFF 497.199 µs [473.886 µs, 520.511 µs] 115.747 µs (30.3%)
tracing 458.452 µs [437.413 µs, 479.49 µs] 77.0 µs (20.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 384.481 µs [364.737 µs, 404.226 µs] -
iast 511.587 µs [488.231 µs, 534.943 µs] 127.106 µs (33.1%)
iast_FULL 741.483 µs [718.209 µs, 764.758 µs] 357.002 µs (92.9%)
iast_GLOBAL 557.713 µs [535.058 µs, 580.367 µs] 173.232 µs (45.1%)
iast_HARDCODED_SECRET_DISABLED 511.011 µs [488.479 µs, 533.543 µs] 126.53 µs (32.9%)
iast_INACTIVE 458.127 µs [437.041 µs, 479.212 µs] 73.645 µs (19.2%)
iast_TELEMETRY_OFF 505.046 µs [481.282 µs, 528.81 µs] 120.565 µs (31.4%)
tracing 455.857 µs [435.01 µs, 476.705 µs] 71.376 µs (18.6%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/fix-npe-computePayloadSizeBytes
git_commit_date 1738000910 1738018592
git_commit_sha 8c6ec67 94a3a5b
release_version 1.46.0-SNAPSHOT~8c6ec67749 1.46.0-SNAPSHOT~94a3a5b304
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1738021094 1738021094
ci_job_id 782716826 782716826
ci_pipeline_id 54142464 54142464
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-8wlcx2s5-project-304-concurrent-1-i5efua1o 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-8wlcx2s5-project-304-concurrent-1-i5efua1o 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 appsec appsec

Summary

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

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~94a3a5b304, baseline=1.46.0-SNAPSHOT~8c6ec67749
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.477 ms) : 1465, 1488
.   : milestone, 1477,
appsec (2.368 ms) : 2324, 2411
.   : milestone, 2368,
iast (2.118 ms) : 2062, 2173
.   : milestone, 2118,
iast_GLOBAL (2.167 ms) : 2112, 2222
.   : milestone, 2167,
profiling (1.966 ms) : 1923, 2009
.   : milestone, 1966,
tracing (1.951 ms) : 1909, 1993
.   : milestone, 1951,
section candidate
no_agent (1.477 ms) : 1466, 1489
.   : milestone, 1477,
appsec (2.377 ms) : 2333, 2420
.   : milestone, 2377,
iast (2.117 ms) : 2062, 2172
.   : milestone, 2117,
iast_GLOBAL (2.161 ms) : 2105, 2216
.   : milestone, 2161,
profiling (1.991 ms) : 1946, 2035
.   : milestone, 1991,
tracing (1.954 ms) : 1912, 1997
.   : milestone, 1954,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.465 ms, 1.488 ms] -
appsec 2.368 ms [2.324 ms, 2.411 ms] 891.169 µs (60.4%)
iast 2.118 ms [2.062 ms, 2.173 ms] 641.179 µs (43.4%)
iast_GLOBAL 2.167 ms [2.112 ms, 2.222 ms] 690.637 µs (46.8%)
profiling 1.966 ms [1.923 ms, 2.009 ms] 489.305 µs (33.1%)
tracing 1.951 ms [1.909 ms, 1.993 ms] 474.484 µs (32.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.466 ms, 1.489 ms] -
appsec 2.377 ms [2.333 ms, 2.42 ms] 899.533 µs (60.9%)
iast 2.117 ms [2.062 ms, 2.172 ms] 639.852 µs (43.3%)
iast_GLOBAL 2.161 ms [2.105 ms, 2.216 ms] 683.559 µs (46.3%)
profiling 1.991 ms [1.946 ms, 2.035 ms] 513.323 µs (34.7%)
tracing 1.954 ms [1.912 ms, 1.997 ms] 477.037 µs (32.3%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~94a3a5b304, baseline=1.46.0-SNAPSHOT~8c6ec67749
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.871 s) : 14871000, 14871000
.   : milestone, 14871000,
appsec (15.024 s) : 15024000, 15024000
.   : milestone, 15024000,
iast (18.761 s) : 18761000, 18761000
.   : milestone, 18761000,
iast_GLOBAL (17.876 s) : 17876000, 17876000
.   : milestone, 17876000,
profiling (15.215 s) : 15215000, 15215000
.   : milestone, 15215000,
tracing (14.857 s) : 14857000, 14857000
.   : milestone, 14857000,
section candidate
no_agent (15.004 s) : 15004000, 15004000
.   : milestone, 15004000,
appsec (14.858 s) : 14858000, 14858000
.   : milestone, 14858000,
iast (18.485 s) : 18485000, 18485000
.   : milestone, 18485000,
iast_GLOBAL (18.129 s) : 18129000, 18129000
.   : milestone, 18129000,
profiling (15.164 s) : 15164000, 15164000
.   : milestone, 15164000,
tracing (15.059 s) : 15059000, 15059000
.   : milestone, 15059000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.871 s [14.871 s, 14.871 s] -
appsec 15.024 s [15.024 s, 15.024 s] 153.0 ms (1.0%)
iast 18.761 s [18.761 s, 18.761 s] 3.89 s (26.2%)
iast_GLOBAL 17.876 s [17.876 s, 17.876 s] 3.005 s (20.2%)
profiling 15.215 s [15.215 s, 15.215 s] 344.0 ms (2.3%)
tracing 14.857 s [14.857 s, 14.857 s] -14.0 ms (-0.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.004 s [15.004 s, 15.004 s] -
appsec 14.858 s [14.858 s, 14.858 s] -146.0 ms (-1.0%)
iast 18.485 s [18.485 s, 18.485 s] 3.481 s (23.2%)
iast_GLOBAL 18.129 s [18.129 s, 18.129 s] 3.125 s (20.8%)
profiling 15.164 s [15.164 s, 15.164 s] 160.0 ms (1.1%)
tracing 15.059 s [15.059 s, 15.059 s] 55.0 ms (0.4%)

@pr-commenter
Copy link

pr-commenter bot commented Jan 27, 2025

Kafka / consumer-benchmark

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/fix-npe-computePayloadSizeBytes
git_commit_date 1738000910 1738018592
git_commit_sha 8c6ec67 94a3a5b
See matching parameters
Baseline Candidate
ci_job_date 1738020182 1738020182
ci_job_id 782716829 782716829
ci_pipeline_id 54142464 54142464
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
jdkVersion 11.0.25 11.0.25
jmhVersion 1.36 1.36
jvm /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/java-11-openjdk-amd64/bin/java
jvmArgs -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/go/src/github.com/DataDog/apm-reliability/dd-trace-java/platform/src/consumer-benchmark/build/tmp/jmh -Duser.country=US -Duser.language=en -Duser.variant -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/go/src/github.com/DataDog/apm-reliability/dd-trace-java/platform/src/consumer-benchmark/build/tmp/jmh -Duser.country=US -Duser.language=en -Duser.variant
vmName OpenJDK 64-Bit Server VM OpenJDK 64-Bit Server VM
vmVersion 11.0.25+9-post-Ubuntu-1ubuntu122.04 11.0.25+9-post-Ubuntu-1ubuntu122.04

Summary

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

scenario Δ mean throughput
scenario:only-tracing-dsm-disabled-benchmarks/KafkaConsumerBenchmark.benchConsume better
[+4719.646op/s; +13515.195op/s] or [+1.537%; +4.402%]
See unchanged results
scenario Δ mean throughput
scenario:not-instrumented/KafkaConsumerBenchmark.benchConsume same
scenario:only-tracing-dsm-enabled-benchmarks/KafkaConsumerBenchmark.benchConsume same

@ygree ygree enabled auto-merge (squash) January 28, 2025 00:11
@ygree ygree merged commit e379305 into master Jan 28, 2025
199 of 200 checks passed
@ygree ygree deleted the ygree/fix-npe-computePayloadSizeBytes branch January 28, 2025 07:40
@github-actions github-actions bot added this to the 1.46.0 milestone Jan 28, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 31, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.25.4` -> `2.26.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |

---

### Release Notes

<details>
<summary>googleapis/java-datastore
(com.google.cloud:google-cloud-datastore)</summary>

###
[`v2.26.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2260-2025-01-29)

##### Features

- Add firestoreInDatastoreMode for datastore emulator
([#&#8203;1698](googleapis/java-datastore#1698))
([50f106d](googleapis/java-datastore@50f106d))

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.42.0
([#&#8203;1725](googleapis/java-datastore#1725))
([1cbaf22](googleapis/java-datastore@1cbaf22))

</details>

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

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

##### Breaking Changes

> \[!WARNING]
> jnr-unixsocket is now an external dependency of dd-trace-ot and must
be included when deploying dd-trace-ot.

> \[!NOTE]
> The API `TracerScope.setAsync(boolean)`, used to manually control
asynchronous span propagation, does no more apply to the scope instance
but to the active span scope.

##### Components

##### Application Security Management (IAST)

- 🐛 Fix String.replace instrumentation for IAST
([#&#8203;8281](DataDog/dd-trace-java#8281) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Exclude false positive weak randomness
([#&#8203;8232](DataDog/dd-trace-java#8232) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Add security control metrics
([#&#8203;8175](DataDog/dd-trace-java#8175) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Increase IAST propagation to StringBuffer setLength
([#&#8203;8128](DataDog/dd-trace-java#8128) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Add IAST taint tracking for DB values
([#&#8203;8072](DataDog/dd-trace-java#8072) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Application Security Management (WAF)

- 🐛 Prevents a NPE when there is no subscriber for user events
([#&#8203;8258](DataDog/dd-trace-java#8258) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Ensure cached subscriptions are cleared on reconfiguration via
RC ([#&#8203;8229](DataDog/dd-trace-java#8229)
-
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Create span tag: \_dd.appsec.rasp.timeout
([#&#8203;8269](DataDog/dd-trace-java#8269) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Build & Tooling

- 🐛 Ensure shaded helpers have unique names when injected into
class-loaders
([#&#8203;8192](DataDog/dd-trace-java#8192) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Configuration at Runtime

- 🐛 Remove filtering of `DD_SERVICE` and `DD_ENV` from the tracer
([#&#8203;8176](DataDog/dd-trace-java#8176) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Continuous Integration Visibility

- 🧹 Generalize TestRetryPolicy to TestExecutionPolicy
([#&#8203;8302](DataDog/dd-trace-java#8302) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Parallelize CI Visibility settings requests
([#&#8203;8299](DataDog/dd-trace-java#8299) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize test retry logic
([#&#8203;8289](DataDog/dd-trace-java#8289) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize tests skipping logic
([#&#8203;8288](DataDog/dd-trace-java#8288) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Remove skip and shouldBeSkipped methods from TestEventsHandler
in favor of isSkippable
([#&#8203;8286](DataDog/dd-trace-java#8286) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Optimize Git repository information computation
([#&#8203;8270](DataDog/dd-trace-java#8270) -
[@&#8203;dougqh](https://github.com/dougqh))
- ✨ Always request known tests from the backend
([#&#8203;8268](DataDog/dd-trace-java#8268) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Fix NPE when trying to get retry analyzer in Test NG
([#&#8203;8253](DataDog/dd-trace-java#8253) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Set test framework and test framework version tags atomically
([#&#8203;8252](DataDog/dd-trace-java#8252) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add debug logging to Android Gradle module layout logic
([#&#8203;8251](DataDog/dd-trace-java#8251) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix source and destination folders computation for Android
Gradle projects
([#&#8203;8190](DataDog/dd-trace-java#8190) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add basic Scala Weaver sbt support
([#&#8203;8189](DataDog/dd-trace-java#8189) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement impacted tests detection
([#&#8203;8188](DataDog/dd-trace-java#8188) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

##### Data Streams Monitoring

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Database Monitoring

- Add peer service tag in dbm sql commenter
([#&#8203;7913](DataDog/dd-trace-java#7913) -
[@&#8203;jordan-wong](https://github.com/jordan-wong))

##### Dynamic Instrumentation

- ✨ Add support for SymDB to scan directories
([#&#8203;8306](DataDog/dd-trace-java#8306) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add SymDB report for any jar scanning failures
([#&#8203;8300](DataDog/dd-trace-java#8300) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Use two budgets depending on type
([#&#8203;8283](DataDog/dd-trace-java#8283) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Institute a 10 snapshot per probe per trace budget
([#&#8203;8277](DataDog/dd-trace-java#8277) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Avoid double snapshots for Exception Replay
([#&#8203;8273](DataDog/dd-trace-java#8273) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Simplify code origins. Separate out snapshot generation.
([#&#8203;8263](DataDog/dd-trace-java#8263) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add Exception probe custom instrumentation
([#&#8203;8230](DataDog/dd-trace-java#8230) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Enhance log probes to honor debug session tags
([#&#8203;8215](DataDog/dd-trace-java#8215) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Don't redact env tokens from debugger probe snapshots
([#&#8203;8211](DataDog/dd-trace-java#8211) -
[@&#8203;watson](https://github.com/watson))
- ✨⚡ Move Trace/SpanId capture at commit time
([#&#8203;8184](DataDog/dd-trace-java#8184) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Capture values at entry for method probe
([#&#8203;8169](DataDog/dd-trace-java#8169) -
[@&#8203;jpbempel](https://github.com/jpbempel))

##### JMX fetch

- 🐛 Mute JMXFetch Shutdown in progress error
([#&#8203;8068](DataDog/dd-trace-java#8068) -
[@&#8203;ygree](https://github.com/ygree))

##### OpenTracing

- ⚠️🧹 Make jnr-unixsocket an explicit dependency of
dd-trace-ot
([#&#8203;8307](DataDog/dd-trace-java#8307) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Profiling

- 🐛 Avoid unsupported API call for creating folders on windows
([#&#8203;8304](DataDog/dd-trace-java#8304) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Tag profiles for serverless
([#&#8203;8279](DataDog/dd-trace-java#8279) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ add queue type and length to queue events
([#&#8203;8242](DataDog/dd-trace-java#8242) -
[@&#8203;richardstartin](https://github.com/richardstartin))
- 🐛 TempLocationManager Fixes and Improvements
([#&#8203;8191](DataDog/dd-trace-java#8191) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Bump ddprof to 1.18.0
([#&#8203;8173](DataDog/dd-trace-java#8173) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Report profiler initialization and configuration errors to
telemetry
([#&#8203;8171](DataDog/dd-trace-java#8171) -
[@&#8203;jbachorik](https://github.com/jbachorik))

##### Telemetry

- ✨ Add pending traces report in tracer flares
([#&#8203;8053](DataDog/dd-trace-java#8053) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Testing

- ✨ Test http server requests in parallel
([#&#8203;8222](DataDog/dd-trace-java#8222) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Trace context propagation

- ✨ Add non default propagator registration
([#&#8203;8310](DataDog/dd-trace-java#8310) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Tracer core

- ✨ Probe for existence of IBMSASL or ACCP security providers
([#&#8203;8276](DataDog/dd-trace-java#8276) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨⚡ Overhead improvement to agent feedback based sampling
([#&#8203;8265](DataDog/dd-trace-java#8265) -
[@&#8203;dougqh](https://github.com/dougqh))
- 🧹 Move async propagation API from scope to tracer
([#&#8203;8231](DataDog/dd-trace-java#8231) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Introduce context propagation API
([#&#8203;8161](DataDog/dd-trace-java#8161) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🧪 Use env-entry to add tags per webapp deployment
([#&#8203;8138](DataDog/dd-trace-java#8138) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce context helpers API
([#&#8203;8134](DataDog/dd-trace-java#8134) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Support IPv6 values for `DD_AGENT_HOST` and
`DD_TRACE_AGENT_URL`
([#&#8203;7984](DataDog/dd-trace-java#7984) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Instrumentations

##### Apache HttpComponents

- 🐛 Properly finish spans and support latest apache httpclient5
([#&#8203;8272](DataDog/dd-trace-java#8272) -
[@&#8203;amarziali](https://github.com/amarziali))

##### AWS Lambda instrumentation

- 🐛 Properly capture lambda payloads for all handler types.
([#&#8203;8264](DataDog/dd-trace-java#8264) -
[@&#8203;purple4reina](https://github.com/purple4reina))

##### AWS S3 instrumentation

- 💡 Create S3 instrumentation + add span pointers
([#&#8203;8075](DataDog/dd-trace-java#8075) -
[@&#8203;nhulston](https://github.com/nhulston))

##### AWS SDK instrumentation

- 🐛 Revert "Add avoid double instrumenting lambda non-streaming
handlers."
([#&#8203;8247](DataDog/dd-trace-java#8247) -
[@&#8203;nhulston](https://github.com/nhulston))

##### Cassandra

- ✨ Allow extracting keyspace from statement result
([#&#8203;8239](DataDog/dd-trace-java#8239) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Core Java language instrumentation

- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Eclipse Vert.x instrumentation

- 🐛 Fix vertx worker propagation and error handling
([#&#8203;8237](DataDog/dd-trace-java#8237) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support vertx 5
([#&#8203;8220](DataDog/dd-trace-java#8220) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

##### Kafka instrumentation

- 🐛 Prevent possible NPE calculating Kafka record header size
([#&#8203;8292](DataDog/dd-trace-java#8292) -
[@&#8203;ygree](https://github.com/ygree))

##### Mule instrumentation

- 🐛 Fix crash using Mule with JPMS
([#&#8203;8187](DataDog/dd-trace-java#8187) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Protocol Buffer instrumentation

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Spring instrumentation

- 🐛 Preserve getQualifier from spring scheduling runnables
([#&#8203;8293](DataDog/dd-trace-java#8293) -
[@&#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**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: bb09d47e4eed77a003f630273b4d0a84003eb899
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inst: kafka Kafka instrumentation type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants