-
Notifications
You must be signed in to change notification settings - Fork 312
DSM optimizations - major refactoring to get rid of LinkedHashMap #9151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 48 metrics, 11 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.52.0-SNAPSHOT~a836ab6abf, baseline=1.52.0-SNAPSHOT~b6521fb91a
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.038 s) : 0, 1038144
Total [baseline] (8.649 s) : 0, 8649309
Agent [candidate] (1.039 s) : 0, 1039366
Total [candidate] (8.6 s) : 0, 8600395
section iast
Agent [baseline] (1.19 s) : 0, 1189864
Total [baseline] (9.328 s) : 0, 9328107
Agent [candidate] (1.18 s) : 0, 1179916
Total [candidate] (9.282 s) : 0, 9281994
gantt
title insecure-bank - break down per module: candidate=1.52.0-SNAPSHOT~a836ab6abf, baseline=1.52.0-SNAPSHOT~b6521fb91a
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.424 ms) : 0, 1424
crashtracking [candidate] (1.432 ms) : 0, 1432
BytebuddyAgent [baseline] (729.279 ms) : 0, 729279
BytebuddyAgent [candidate] (730.396 ms) : 0, 730396
GlobalTracer [baseline] (240.821 ms) : 0, 240821
GlobalTracer [candidate] (241.374 ms) : 0, 241374
AppSec [baseline] (30.666 ms) : 0, 30666
AppSec [candidate] (30.403 ms) : 0, 30403
Debugger [baseline] (6.051 ms) : 0, 6051
Debugger [candidate] (6.014 ms) : 0, 6014
Remote Config [baseline] (660.419 µs) : 0, 660
Remote Config [candidate] (650.194 µs) : 0, 650
Telemetry [baseline] (8.257 ms) : 0, 8257
Telemetry [candidate] (8.194 ms) : 0, 8194
section iast
crashtracking [baseline] (1.47 ms) : 0, 1470
crashtracking [candidate] (1.439 ms) : 0, 1439
BytebuddyAgent [baseline] (860.256 ms) : 0, 860256
BytebuddyAgent [candidate] (852.971 ms) : 0, 852971
GlobalTracer [baseline] (233.603 ms) : 0, 233603
GlobalTracer [candidate] (233.316 ms) : 0, 233316
IAST [baseline] (30.462 ms) : 0, 30462
IAST [candidate] (26.495 ms) : 0, 26495
AppSec [baseline] (27.028 ms) : 0, 27028
AppSec [candidate] (27.927 ms) : 0, 27927
Debugger [baseline] (7.385 ms) : 0, 7385
Debugger [candidate] (8.278 ms) : 0, 8278
Remote Config [baseline] (596.194 µs) : 0, 596
Remote Config [candidate] (575.767 µs) : 0, 576
Telemetry [baseline] (8.009 ms) : 0, 8009
Telemetry [candidate] (7.888 ms) : 0, 7888
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.52.0-SNAPSHOT~a836ab6abf, baseline=1.52.0-SNAPSHOT~b6521fb91a
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.038 s) : 0, 1037852
Total [baseline] (10.678 s) : 0, 10677789
Agent [candidate] (1.039 s) : 0, 1038804
Total [candidate] (10.547 s) : 0, 10547083
section appsec
Agent [baseline] (1.226 s) : 0, 1226021
Total [baseline] (10.814 s) : 0, 10814221
Agent [candidate] (1.216 s) : 0, 1216424
Total [candidate] (10.711 s) : 0, 10711477
section iast
Agent [baseline] (1.171 s) : 0, 1171384
Total [baseline] (10.822 s) : 0, 10821777
Agent [candidate] (1.173 s) : 0, 1173251
Total [candidate] (10.914 s) : 0, 10914003
section profiling
Agent [baseline] (1.182 s) : 0, 1182300
Total [baseline] (10.863 s) : 0, 10863169
Agent [candidate] (1.184 s) : 0, 1183926
Total [candidate] (10.779 s) : 0, 10778525
gantt
title petclinic - break down per module: candidate=1.52.0-SNAPSHOT~a836ab6abf, baseline=1.52.0-SNAPSHOT~b6521fb91a
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.433 ms) : 0, 1433
crashtracking [candidate] (1.428 ms) : 0, 1428
BytebuddyAgent [baseline] (729.295 ms) : 0, 729295
BytebuddyAgent [candidate] (729.968 ms) : 0, 729968
GlobalTracer [baseline] (240.984 ms) : 0, 240984
GlobalTracer [candidate] (241.138 ms) : 0, 241138
AppSec [baseline] (30.369 ms) : 0, 30369
AppSec [candidate] (30.441 ms) : 0, 30441
Debugger [baseline] (5.978 ms) : 0, 5978
Debugger [candidate] (6.0 ms) : 0, 6000
Remote Config [baseline] (643.635 µs) : 0, 644
Remote Config [candidate] (645.435 µs) : 0, 645
Telemetry [baseline] (8.18 ms) : 0, 8180
Telemetry [candidate] (8.256 ms) : 0, 8256
section appsec
crashtracking [baseline] (1.433 ms) : 0, 1433
crashtracking [candidate] (1.429 ms) : 0, 1429
BytebuddyAgent [baseline] (757.849 ms) : 0, 757849
BytebuddyAgent [candidate] (750.796 ms) : 0, 750796
GlobalTracer [baseline] (235.868 ms) : 0, 235868
GlobalTracer [candidate] (234.189 ms) : 0, 234189
IAST [baseline] (23.804 ms) : 0, 23804
IAST [candidate] (23.477 ms) : 0, 23477
AppSec [baseline] (168.298 ms) : 0, 168298
AppSec [candidate] (167.931 ms) : 0, 167931
Debugger [baseline] (8.649 ms) : 0, 8649
Debugger [candidate] (7.079 ms) : 0, 7079
Remote Config [baseline] (622.724 µs) : 0, 623
Remote Config [candidate] (605.101 µs) : 0, 605
Telemetry [baseline] (8.16 ms) : 0, 8160
Telemetry [candidate] (9.586 ms) : 0, 9586
section iast
crashtracking [baseline] (1.425 ms) : 0, 1425
crashtracking [candidate] (1.436 ms) : 0, 1436
BytebuddyAgent [baseline] (845.99 ms) : 0, 845990
BytebuddyAgent [candidate] (847.224 ms) : 0, 847224
GlobalTracer [baseline] (230.947 ms) : 0, 230947
GlobalTracer [candidate] (231.285 ms) : 0, 231285
IAST [baseline] (27.407 ms) : 0, 27407
IAST [candidate] (30.07 ms) : 0, 30070
AppSec [baseline] (28.745 ms) : 0, 28745
AppSec [candidate] (26.484 ms) : 0, 26484
Debugger [baseline] (7.461 ms) : 0, 7461
Debugger [candidate] (7.405 ms) : 0, 7405
Remote Config [baseline] (572.256 µs) : 0, 572
Remote Config [candidate] (580.579 µs) : 0, 581
Telemetry [baseline] (7.875 ms) : 0, 7875
Telemetry [candidate] (7.862 ms) : 0, 7862
section profiling
crashtracking [baseline] (1.395 ms) : 0, 1395
crashtracking [candidate] (1.404 ms) : 0, 1404
BytebuddyAgent [baseline] (759.056 ms) : 0, 759056
BytebuddyAgent [candidate] (759.266 ms) : 0, 759266
GlobalTracer [baseline] (220.033 ms) : 0, 220033
GlobalTracer [candidate] (220.629 ms) : 0, 220629
AppSec [baseline] (30.16 ms) : 0, 30160
AppSec [candidate] (30.246 ms) : 0, 30246
Debugger [baseline] (6.231 ms) : 0, 6231
Debugger [candidate] (6.279 ms) : 0, 6279
Remote Config [baseline] (682.034 µs) : 0, 682
Remote Config [candidate] (653.839 µs) : 0, 654
Telemetry [baseline] (11.705 ms) : 0, 11705
Telemetry [candidate] (14.014 ms) : 0, 14014
ProfilingAgent [baseline] (104.581 ms) : 0, 104581
ProfilingAgent [candidate] (103.141 ms) : 0, 103141
Profiling [baseline] (104.604 ms) : 0, 104604
Profiling [candidate] (103.164 ms) : 0, 103164
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 12 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~a836ab6abf, baseline=1.52.0-SNAPSHOT~b6521fb91a
dateFormat X
axisFormat %s
section baseline
no_agent (4.442 ms) : 4388, 4496
. : milestone, 4442,
iast (9.27 ms) : 9120, 9420
. : milestone, 9270,
iast_FULL (14.047 ms) : 13768, 14326
. : milestone, 14047,
iast_GLOBAL (10.363 ms) : 10177, 10548
. : milestone, 10363,
profiling (8.686 ms) : 8543, 8829
. : milestone, 8686,
tracing (7.603 ms) : 7488, 7717
. : milestone, 7603,
section candidate
no_agent (4.336 ms) : 4283, 4390
. : milestone, 4336,
iast (9.379 ms) : 9225, 9532
. : milestone, 9379,
iast_FULL (14.337 ms) : 14046, 14627
. : milestone, 14337,
iast_GLOBAL (10.39 ms) : 10210, 10570
. : milestone, 10390,
profiling (9.004 ms) : 8849, 9159
. : milestone, 9004,
tracing (7.696 ms) : 7579, 7813
. : milestone, 7696,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~a836ab6abf, baseline=1.52.0-SNAPSHOT~b6521fb91a
dateFormat X
axisFormat %s
section baseline
no_agent (37.273 ms) : 36974, 37572
. : milestone, 37273,
appsec (47.243 ms) : 46817, 47669
. : milestone, 47243,
code_origins (45.927 ms) : 45527, 46327
. : milestone, 45927,
iast (44.567 ms) : 44185, 44950
. : milestone, 44567,
profiling (48.407 ms) : 47964, 48849
. : milestone, 48407,
tracing (44.978 ms) : 44597, 45358
. : milestone, 44978,
section candidate
no_agent (36.789 ms) : 36490, 37089
. : milestone, 36789,
appsec (48.05 ms) : 47614, 48486
. : milestone, 48050,
code_origins (44.324 ms) : 43951, 44696
. : milestone, 44324,
iast (44.459 ms) : 44079, 44839
. : milestone, 44459,
profiling (47.579 ms) : 47156, 48003
. : milestone, 47579,
tracing (45.276 ms) : 44900, 45652
. : milestone, 45276,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~a836ab6abf, baseline=1.52.0-SNAPSHOT~b6521fb91a
dateFormat X
axisFormat %s
section baseline
no_agent (14.987 s) : 14987000, 14987000
. : milestone, 14987000,
appsec (14.845 s) : 14845000, 14845000
. : milestone, 14845000,
iast (18.455 s) : 18455000, 18455000
. : milestone, 18455000,
iast_GLOBAL (17.943 s) : 17943000, 17943000
. : milestone, 17943000,
profiling (15.408 s) : 15408000, 15408000
. : milestone, 15408000,
tracing (14.821 s) : 14821000, 14821000
. : milestone, 14821000,
section candidate
no_agent (14.911 s) : 14911000, 14911000
. : milestone, 14911000,
appsec (14.941 s) : 14941000, 14941000
. : milestone, 14941000,
iast (18.264 s) : 18264000, 18264000
. : milestone, 18264000,
iast_GLOBAL (17.878 s) : 17878000, 17878000
. : milestone, 17878000,
profiling (15.519 s) : 15519000, 15519000
. : milestone, 15519000,
tracing (14.979 s) : 14979000, 14979000
. : milestone, 14979000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~a836ab6abf, baseline=1.52.0-SNAPSHOT~b6521fb91a
dateFormat X
axisFormat %s
section baseline
no_agent (1.481 ms) : 1470, 1493
. : milestone, 1481,
appsec (3.649 ms) : 3431, 3868
. : milestone, 3649,
iast (2.194 ms) : 2131, 2257
. : milestone, 2194,
iast_GLOBAL (2.259 ms) : 2196, 2323
. : milestone, 2259,
profiling (2.054 ms) : 2003, 2104
. : milestone, 2054,
tracing (2.037 ms) : 1987, 2086
. : milestone, 2037,
section candidate
no_agent (1.483 ms) : 1471, 1495
. : milestone, 1483,
appsec (3.687 ms) : 3470, 3904
. : milestone, 3687,
iast (2.203 ms) : 2140, 2266
. : milestone, 2203,
iast_GLOBAL (2.242 ms) : 2180, 2305
. : milestone, 2242,
profiling (2.046 ms) : 1996, 2096
. : milestone, 2046,
tracing (2.021 ms) : 1973, 2070
. : milestone, 2021,
|
Kafka / producer-benchmarkParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics. See unchanged results
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
Kafka / consumer-benchmarkParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics. See unchanged results
|
result.put(DIRECTION_TAG, DIRECTION_OUT); | ||
result.put(TYPE_TAG, "grpc"); | ||
return DataStreamsContext.fromTags(result); | ||
return DataStreamsContext.fromTags( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would avoid builder idioms in the critical path. That's still extra allocation that we really don't need.
|
||
public DataStreamsTags(DataStreamsTagsBuilder builder) { | ||
this.builder = builder; | ||
this.size = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is introducing a capturing lambda. I think a regular loop would probably be better here.
processor.process(BUS_TAG, this.builder.bus); | ||
count += 1; | ||
} | ||
|
||
if (this.builder.direction == Direction.Inbound) { | ||
count += 1; | ||
processor.process(DIRECTION_TAG, DIRECTION_IN); | ||
} else if (this.builder.direction == Direction.Outbound) { | ||
count += 1; | ||
processor.process(DIRECTION_TAG, DIRECTION_OUT); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: Just a matter of taste, but probably count++;
Would be a better option (here and other similar places)?
+ "," | ||
+ ", kafkaClusterId='" | ||
+ this.builder.kafkaClusterId | ||
+ "," | ||
+ ", partition='" | ||
+ this.builder.partition | ||
+ "," | ||
+ ", hash=" | ||
+ hash | ||
+ "," | ||
+ ", aggregationHash=" | ||
+ aggregationHash | ||
+ "," | ||
+ ", size=" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this code will produce String
with TWO commas. Is that expected?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you are right... AI autosuggest :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice :), just FYI IDEA has toString()
method generation too,
result.put(TYPE_TAG, "grpc"); | ||
return result; | ||
private static final DataStreamsTags createServerPathwaySortedTags() { | ||
return new DataStreamsTagsBuilder() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can probably still keep these pretty clean without needing a builder. I've put suggestions throughout...
- createGrpcInbound() <-- bonus, that's cacheable
DataStreamsContext dsmContext = DataStreamsContext.fromTags(getTags(eventBusName)); | ||
DataStreamsTags tags = | ||
new DataStreamsTagsBuilder() | ||
.withDirection(DataStreamsTags.Direction.Outbound) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
createBusOutbound(eventBusName)
sortedTags.put(TagsProcessor.TOPIC_TAG, bucket); | ||
sortedTags.put(TagsProcessor.TYPE_TAG, "s3"); | ||
DataStreamsTags tags = | ||
new DataStreamsTagsBuilder() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
createS3Outbound(bucket, key)
sortedTags.put(TYPE_TAG, "kinesis"); | ||
DataStreamsTags tags = | ||
new DataStreamsTagsBuilder() | ||
.withType("kinesis") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
createKinesisInbound(streamArn)
|
||
return sortedTags; | ||
private DataStreamsTags getTags(String snsTopicName) { | ||
return new DataStreamsTagsBuilder() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
createSnsOutbound(snsTopicName)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you're in refactoring mode, can you have a look (made in another PR if it's easier) to complete the context refactoring?
In short, PathwayContext
should not be stored in span data model (DDSpanContext
).
Instead, it must be stored with Context
as DataStreamsContext
and AgentSpan
.
You may create a second Context
entry if the DataStreamsContext
holds different kind of data (or have a different lifecycle) than what PathwayContext
should hold.
I already done some refactoring (adding DataStreamsContext
, creating a dedicated DSM propagator) but it miss the last step of moving away PathwayContext
from span.
Would that be something you could have a look at? Would you like us to pair on this task? The end goal would be to decouple Tracing from DSM. So you can save even more resources.
if (traceConfig().isDataStreamsEnabled()) { | ||
DataStreamsContext dsmContext = DataStreamsContext.fromTags(getTags(eventBusName)); | ||
DataStreamsTags tags = | ||
DataStreamsTags.createWithBus("bus", DataStreamsTags.Direction.Outbound, eventBusName); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why pass "bus" as argument to withBus helper? Is there a case where the value isn't "bus"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the type is always bus
, no need to pass it here.
private long completeHash; | ||
private int nonNullSize; | ||
|
||
// hash tags |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should probably be final
Right now, strictly speaking this probably isn't thread safe
kafkaClusterId != null ? KAFKA_CLUSTER_ID_TAG + ":" + kafkaClusterId : null; | ||
this.partition = partition != null ? PARTITION_TAG + ":" + partition : null; | ||
|
||
// hashable tags are 0-4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, that should unroll and inline nicely
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a very nice improvement. Looks good to me.
) * DSM optimizations - major refactoring to get rid of LinkedHashMap * Refactored DSM tags for all integrations * Removed tests which no longer needed * Fixed some more tests * Fixed payload writer tests * Fixed http tests * Removed DataStreamsTagsBuilder, updated all integraions and tests * Spotless apply * Fixed more tests * Add base hash support and service name overrides * Fixed more tests * Spotless apply * Added tests for tags * Improved coverage * Removed unused imports * Fixed even more tests * Updated multiple tests * Fixed more tests * Spotless apply * Fixed even more tests * Fixed http tests, improved test coverage * Spotless apply * One more refactoring * Some fixes in tests * Improved test coverage * Spotless apply * Removed unused import * Fixed all tags * Fixed kafka tests
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [redis.clients:jedis](https://github.com/redis/jedis) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `6.0.0` -> `6.1.0` | | [com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.59.2` -> `2.60.0` | | [com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.58.2` -> `2.59.0` | | [com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.58.2` -> `2.59.0` | | [com.google.api:gax](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.68.2` -> `2.69.0` | | [com.squareup.wire](https://github.com/square/wire) | plugin | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-schema](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-runtime](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-reflector](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-moshi-adapter](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-grpc-client](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-bom](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.51.2` -> `1.52.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:regions](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | --- ### Release Notes <details> <summary>redis/jedis (redis.clients:jedis)</summary> ### [`v6.1.0`](https://github.com/redis/jedis/releases/tag/v6.1.0): 6.1.0 ### Changes #### 🚀 New Features - Add support for SVS-VAMANA vector indexing ([#​4222](redis/jedis#4222)) - Clarify why new stream entries aren't deleted with XDELEX ([#​4218](redis/jedis#4218)) - Add support for new stream commands ([#​4211](redis/jedis#4211)) - Add Support for New BITOP Operations in Redis 8.2 ([#​4188](redis/jedis#4188)) ([#​4190](redis/jedis#4190)) - Add binary stream support for XREAD and XREADGROUP ([#​3566](redis/jedis#3566)) ([#​4152](redis/jedis#4152)) - Run pipeline in current thread if all the keys on same node ([#​4149](redis/jedis#4149)) #### 🐛 Bug Fixes - Restore binary compatibility of SetParams ([#​4225](redis/jedis#4225)) - Fix memory leak in JedisClusterInfoCache - replica nodes not cleared ([#​4205](redis/jedis#4205)) - Fix:JedisCluster throws NullPointerException when maxAttempts is set to 0 ([#​4186](redis/jedis#4186)) #### 🧰 Maintenance - DOC-5471 time series doc examples ([#​4210](redis/jedis#4210)) - Bump jackson.version from 2.19.1 to 2.19.2 ([#​4208](redis/jedis#4208)) - Fix flaky test ClientCommandsTest.killSkipmeYesNo ([#​4206](redis/jedis#4206)) - Bump org.junit:junit-bom from 5.13.2 to 5.13.3 ([#​4198](redis/jedis#4198)) - Migrate publishing to Maven Central Portal ([#​4199](redis/jedis#4199)) - Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 ([#​4197](redis/jedis#4197)) - Bump org.junit:junit-bom from 5.13.1 to 5.13.2 ([#​4192](redis/jedis#4192)) - DOC-5227 added probabilistic data type examples ([#​4184](redis/jedis#4184)) - Bump jackson.version from 2.19.0 to 2.19.1 ([#​4180](redis/jedis#4180)) - Update test infra to use latest Redis ([#​4179](redis/jedis#4179)) - Bump org.junit:junit-bom from 5.13.0-RC1 to 5.13.1 ([#​4174](redis/jedis#4174)) - Bump org.json:json from [`2025010`](redis/jedis@20250107) to [`2025051`](redis/jedis@20250517) ([#​4171](redis/jedis#4171)) - Bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.4.4 to 5.5 ([#​4170](redis/jedis#4170)) - Fix flaky tests in DocumentTest ([#​3617](redis/jedis#3617)) - Add retryable command execution example ([#​3780](redis/jedis#3780)) - Bump jackson.version from 2.18.3 to 2.19.0 ([#​4160](redis/jedis#4160)) - Bump com.google.code.gson:gson from 2.12.1 to 2.13.1 ([#​4161](redis/jedis#4161)) #### Contributors We'd like to thank all the contributors who worked on this release! [@​219sansim](https://github.com/219sansim), [@​YoHanKi](https://github.com/YoHanKi), [@​andy-stark-redis](https://github.com/andy-stark-redis), [@​ggivo](https://github.com/ggivo), [@​jujn](https://github.com/jujn), [@​thachlp](https://github.com/thachlp), [@​uglide](https://github.com/uglide) and [@​xrayw](https://github.com/xrayw) </details> <details> <summary>googleapis/sdk-platform-java (com.google.api.grpc:proto-google-common-protos)</summary> ### [`v2.60.0`](https://github.com/googleapis/sdk-platform-java/blob/HEAD/CHANGELOG.md#2600-2025-06-23) ##### Features - handle auto pagination for BigQuery v2 ([#​3829](googleapis/sdk-platform-java#3829)) ([025c84c](googleapis/sdk-platform-java@025c84c)) ##### Dependencies - update google auth library dependencies to v1.37.1 ([#​3846](googleapis/sdk-platform-java#3846)) ([ea1d9e5](googleapis/sdk-platform-java@ea1d9e5)) - update google http client dependencies to v1.47.1 ([#​3848](googleapis/sdk-platform-java#3848)) ([a9a39d7](googleapis/sdk-platform-java@a9a39d7)) </details> <details> <summary>square/wire (com.squareup.wire)</summary> ### [`v5.3.6`](https://github.com/square/wire/blob/HEAD/CHANGELOG.md#Version-536) [Compare Source](square/wire@5.3.5...5.3.6) *2025-08-05* ##### CLI - New CLI option `--ignore_unused_roots_and_prunes` ([#​3354](square/wire#3354)) ##### JVM - Fix: Handle negative hexadecimal in default values ([#​3355](square/wire#3355)) - Optimization: Avoid copying of repeated and map types when mutableTypes are being used ([#​3352](square/wire#3352) by \[Rahul Ravikumar]\[tikurahul]) ##### Swift - Fix: Properly disambiguate OneOf enum if it has the same name as enclosing type ([#​3350](square/wire#3350) by \[Dimitris Koutsogiorgas]\[dnkoutso]) </details> <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.52.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.52.0): 1.52.0 ### Components #### Application Security Management (WAF) - ✨ Only report ASM\_DD, ASM\_DATA and ASM capabilities when AppSec is enabled ([#​9260](DataDog/dd-trace-java#9260) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Fix NPE in AppSecConfigServiceImpl ([#​9165](DataDog/dd-trace-java#9165) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 ([#​9160](DataDog/dd-trace-java#9160) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### Build & Tooling - ✨📖 Automatically register crashtracking via native extensions ([#​8851](DataDog/dd-trace-java#8851) - [@​MattAlp](https://github.com/MattAlp)) #### Configuration at Runtime - ✨ Create activation origin config for telemetry ([#​9064](DataDog/dd-trace-java#9064) - [@​sezen-datadog](https://github.com/sezen-datadog)) #### Continuous Integration Visibility - ✨ Update GitLab provided tags ([#​9275](DataDog/dd-trace-java#9275) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - 🐛 Fix base branch SHA usage in GitHub Actions ([#​9257](DataDog/dd-trace-java#9257) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Add `ci.job.id` tag ([#​9256](DataDog/dd-trace-java#9256) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Add new org to Weaver instrumentation ([#​9235](DataDog/dd-trace-java#9235) - [@​daniel-mohedano](https://github.com/daniel-mohedano) - thanks for the contribution!) - ✨ Improve Git commit info building ([#​9210](DataDog/dd-trace-java#9210) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Update Attempt to Fix to v5 ([#​9145](DataDog/dd-trace-java#9145) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) #### Crash tracking - ✨📖 Automatically register crashtracking via native extensions ([#​8851](DataDog/dd-trace-java#8851) - [@​MattAlp](https://github.com/MattAlp)) #### Data Streams Monitoring - ✨ Reduce DSM CPU overheard ([#​9151](DataDog/dd-trace-java#9151) - [@​kr-igor](https://github.com/kr-igor)) - ✨⚡ DSM optimizations for high throughput scenarios ([#​9137](DataDog/dd-trace-java#9137) - [@​kr-igor](https://github.com/kr-igor)) #### Database Monitoring - 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode ([#​9224](DataDog/dd-trace-java#9224) - [@​lu-zhengda](https://github.com/lu-zhengda)) #### Dynamic Instrumentation - 🐛 Add URI in string primitives ([#​9285](DataDog/dd-trace-java#9285) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Increase SourceFile tracking max queue size ([#​9271](DataDog/dd-trace-java#9271) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add capping on SourceFile tracking queue ([#​9245](DataDog/dd-trace-java#9245) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add third-party filtering in SourceFile tracking ([#​9205](DataDog/dd-trace-java#9205) - [@​jpbempel](https://github.com/jpbempel)) #### ML Observability (LLMObs) - ✨ Add methods to capture embedding and retrieval spans ([#​9297](DataDog/dd-trace-java#9297) - [@​nayeem-kamal](https://github.com/nayeem-kamal)) #### Metrics - ✨ Change primary client stats configuration key ([#​9196](DataDog/dd-trace-java#9196) - [@​amarziali](https://github.com/amarziali)) - ✨ Calculate client stats also if the span kind is eligible ([#​9157](DataDog/dd-trace-java#9157) - [@​amarziali](https://github.com/amarziali)) - ✨ Backpropagate peer tags ([#​9144](DataDog/dd-trace-java#9144) - [@​bric3](https://github.com/bric3)) - 🐛 Make client stats reliable in case of downgrade ([#​9136](DataDog/dd-trace-java#9136) - [@​amarziali](https://github.com/amarziali)) #### Platform components - 🐛 Fix VM options parsing from /proc/fs ([#​9255](DataDog/dd-trace-java#9255) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) #### Profiling - ✨ Switch profile compression to zstd default ([#​9293](DataDog/dd-trace-java#9293) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Bump ddprof to 1.29.0 ([#​9262](DataDog/dd-trace-java#9262) - [@​zhengyu123](https://github.com/zhengyu123)) - Potential memory leak and race with the JVMTI wallclock sampler by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#234 - Downport async-profiler no-allocation changes by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#245 - Adopt openjdk safefetch by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#246 - Safe fetch 64-bit value and pointer by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#247 - Rebase on Async-Profiler 4.1 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#252 - Patch upstream stackWalker.cpp not to fail on unaligned access by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#218 - Remap thread id to avoid bitmap contention by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#229 - Improve performance using Unsafe to activate/deactivate thread filter by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#230 - Unify context propagation by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#231 - 🐛 Fix the profiler stackdepth setting propagation in recent (22+) Java versions ([#​9130](DataDog/dd-trace-java#9130) - [@​jbachorik](https://github.com/jbachorik)) #### Realtime User Monitoring - ✨ Wrap servlet original PrintWriter on rum injector ([#​9146](DataDog/dd-trace-java#9146) - [@​amarziali](https://github.com/amarziali)) #### Telemetry - ✨ Create activation origin config for telemetry ([#​9064](DataDog/dd-trace-java#9064) - [@​sezen-datadog](https://github.com/sezen-datadog)) #### Tracer core - ✨⚡ Reduce span construction overhead by switching to optimized TagMap ([#​8589](DataDog/dd-trace-java#8589) - [@​dougqh](https://github.com/dougqh)) - 🐛 Match Hands Off Config selectors on process\_arguments value ([#​9201](DataDog/dd-trace-java#9201) - [@​paullegranddc](https://github.com/paullegranddc)) - ✨ Move JSON generation to sender thread to improve startup time. ([#​9197](DataDog/dd-trace-java#9197) - [@​AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD)) - ✨ Improve agent to avoid loading global config on main thread ([#​9190](DataDog/dd-trace-java#9190) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - ✨ add injection metadata fields to telemetry forwarder ([#​9185](DataDog/dd-trace-java#9185) - [@​sydney-tung](https://github.com/sydney-tung)) - 🐛 Avoid race conditions on feature discovery during Writer creation ([#​9173](DataDog/dd-trace-java#9173) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Surface potential root cause when agent initialization errors ([#​9170](DataDog/dd-trace-java#9170) - [@​AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD)) - 💡 Support adding W3C baggage as span tags ([#​9169](DataDog/dd-trace-java#9169) - [@​rachelyangdog](https://github.com/rachelyangdog)) - ✨⚡ Align our default classloader excludes with OTel ([#​9161](DataDog/dd-trace-java#9161) - [@​mcculls](https://github.com/mcculls)) - ✨ Backpropagate container tags hash coming from the info endpoint ([#​9156](DataDog/dd-trace-java#9156) - [@​amarziali](https://github.com/amarziali)) - 🐛 Avoid race conditions and multiple agent discovery feature states ([#​9135](DataDog/dd-trace-java#9135) - [@​amarziali](https://github.com/amarziali)) ### Instrumentations #### AWS SDK instrumentation - ✨ Enhance Service Representation for Serverless ([#​9203](DataDog/dd-trace-java#9203) - [@​zarirhamza](https://github.com/zarirhamza)) #### gRPC instrumentation - 🐛 Add check to prevent injection of repeated GRPC headers ([#​9246](DataDog/dd-trace-java#9246) - [@​mhlidd](https://github.com/mhlidd)) #### JDBC instrumentation - 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode ([#​9224](DataDog/dd-trace-java#9224) - [@​lu-zhengda](https://github.com/lu-zhengda)) #### Play Framework instrumentation - 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 ([#​9160](DataDog/dd-trace-java#9160) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) </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**: Enabled. ♻ **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: 9da36329ffa552291a640381780b608ef6513e29
This change is aimed to reduce DSM overhead by using a lightweight object instead of linked maps.
Introduced
DataStreamsTags
which are now used instead ofLinkedHashMap
.Updated all integrations and tests.
My tests show ~20% throughput increase with a significant latency decrease without increasing CPU load. (left side is v1.51.1, right side is this branch)

