Skip to content

Commit cf6a92d

Browse files
authored
Merge branch 'master' into mcculls/otlp-traces-config
2 parents ba3c7f0 + d4ecd3d commit cf6a92d

32 files changed

Lines changed: 336 additions & 196 deletions

File tree

build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ plugins {
1111
id("dd-trace-java.config-inversion-linter")
1212
id("dd-trace-java.ci-jobs")
1313

14-
id("com.diffplug.spotless") version "8.2.1"
14+
id("com.diffplug.spotless") version "8.4.0"
1515
id("me.champeau.gradle.japicmp") version "0.4.3"
1616
id("com.github.spotbugs") version "6.4.8"
1717
id("de.thetaphi.forbiddenapis") version "3.10"
@@ -39,6 +39,7 @@ with(extensions["spotlessPredeclare"] as SpotlessExtension) {
3939
removeUnusedImports()
4040

4141
googleJavaFormat("1.34.1")
42+
tableTestFormatter("1.1.1")
4243
}
4344
groovyGradle {
4445
greclipse()

buildSrc/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ plugins {
22
`java-gradle-plugin`
33
`kotlin-dsl`
44
`jvm-test-suite`
5-
id("com.diffplug.spotless") version "8.2.1"
5+
id("com.diffplug.spotless") version "8.4.0"
66
}
77

88
// The buildSrc still needs to target Java 8 as build time instrumentation and muzzle plugin

buildSrc/call-site-instrumentation-plugin/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
java
3-
id("com.diffplug.spotless") version "8.2.1"
3+
id("com.diffplug.spotless") version "8.4.0"
44
id("com.gradleup.shadow") version "8.3.9"
55
}
66

components/json/src/test/java/datadog/json/JsonMapperTest.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,12 @@ void testMappingToMapFromNonObjectJson(String json) {
9494
}
9595

9696
@TableTest({
97-
"Scenario | Input | Expected ",
98-
"null input | | '[]' ",
99-
"empty list | [] | '[]' ",
100-
"single value | [value1] | '[\"value1\"]' ",
101-
"two values | [value1, value2] | '[\"value1\",\"value2\"]' ",
102-
"quoted values | [va\"lu\"e1, value2] | '[\"va\\\"lu\\\"e1\",\"value2\"]' "
97+
"Scenario | Input | Expected ",
98+
"null input | | '[]' ",
99+
"empty list | [] | '[]' ",
100+
"single value | [value1] | '[\"value1\"]' ",
101+
"two values | [value1, value2] | '[\"value1\",\"value2\"]' ",
102+
"quoted values | [va\"lu\"e1, value2] | '[\"va\\\"lu\\\"e1\",\"value2\"]'"
103103
})
104104
@ParameterizedTest(name = "test mapping iterable to JSON array: {0}")
105105
void testMappingIterableToJsonArray(List<String> input, String expected) throws IOException {
@@ -137,14 +137,14 @@ void testMappingToListFromEmptyJsonObject(String json) throws IOException {
137137
}
138138

139139
@TableTest({
140-
"Scenario | input | expected ",
141-
" null value | | '' ",
142-
" empty string | '' | '' ",
143-
" \\b | '\b' | '\"\\b\"' ",
144-
" \\t | '\t' | '\"\\t\"' ",
145-
" \\f | '\f' | '\"\\f\"' ",
146-
" a | 'a' | '\"a\"' ",
147-
" / | '/' | '\"\\/\"' ",
140+
"Scenario | input | expected ",
141+
"null value | | '' ",
142+
"empty string | '' | '' ",
143+
"\\b | '\b' | '\"\\b\"'",
144+
"\\t | '\t' | '\"\\t\"'",
145+
"\\f | '\f' | '\"\\f\"'",
146+
"a | 'a' | '\"a\"' ",
147+
"/ | '/' | '\"\\/\"'"
148148
})
149149
@ParameterizedTest(name = "test mapping to JSON string: {0}")
150150
@MethodSource("testMappingToJsonStringArguments")

dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelHistogramSketch.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
package datadog.trace.bootstrap.otel.metrics.data;
22

33
import datadog.metrics.api.Histogram;
4+
import datadog.metrics.api.HistogramWithSum;
45
import java.util.List;
56

67
final class OtelHistogramSketch extends OtelAggregator {
7-
private final Histogram histogram;
8-
private volatile double totalSum;
8+
private final HistogramWithSum histogram;
99

1010
OtelHistogramSketch(List<Double> bucketBoundaries) {
11-
this.histogram = Histogram.newHistogram(bucketBoundaries);
11+
this.histogram = Histogram.newHistogramWithSum(bucketBoundaries);
1212
}
1313

1414
@Override
1515
void doRecordDouble(double value) {
1616
synchronized (histogram) {
1717
histogram.accept(value);
18-
totalSum += value;
1918
}
2019
}
2120

@@ -34,10 +33,9 @@ OtelPoint doCollect(boolean reset) {
3433
count = histogram.getCount();
3534
binBoundaries = histogram.getBinBoundaries();
3635
binCounts = histogram.getBinCounts();
37-
sum = totalSum;
36+
sum = histogram.getSum();
3837
if (reset) {
3938
histogram.clear();
40-
totalSum = 0;
4139
}
4240
}
4341
return new OtelHistogramPoint(count, binBoundaries, binCounts, sum);

dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/SparkAggregatedTaskMetrics.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.fasterxml.jackson.core.JsonGenerator;
44
import datadog.metrics.api.Histogram;
5+
import datadog.metrics.api.HistogramWithSum;
56
import datadog.trace.api.Config;
67
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
78
import java.io.IOException;
@@ -67,7 +68,7 @@ class SparkAggregatedTaskMetrics {
6768
private Histogram diskBytesSpilledHistogram;
6869

6970
// Used for Spark SQL Plan metrics ONLY, don't put in regular span for now
70-
private Map<Long, Histogram> externalAccumulableHistograms;
71+
private Map<Long, HistogramWithSum> externalAccumulableHistograms;
7172

7273
public SparkAggregatedTaskMetrics() {}
7374

@@ -148,10 +149,11 @@ public void addTaskMetrics(
148149

149150
externalAccumulators.forEach(
150151
acc -> {
151-
Histogram hist = externalAccumulableHistograms.get(acc.id());
152+
HistogramWithSum hist = externalAccumulableHistograms.get(acc.id());
152153
if (hist == null) {
153154
hist =
154-
Histogram.newHistogram(HISTOGRAM_RELATIVE_ACCURACY, HISTOGRAM_MAX_NUM_BINS);
155+
Histogram.newHistogramWithSum(
156+
HISTOGRAM_RELATIVE_ACCURACY, HISTOGRAM_MAX_NUM_BINS);
155157
}
156158

157159
try {
@@ -315,7 +317,7 @@ private Histogram lazyHistogramAccept(Histogram hist, double value) {
315317
// Used to put external accum metrics to JSON for Spark SQL plans
316318
public void externalAccumToJson(JsonGenerator generator, SQLMetricInfo info) throws IOException {
317319
if (externalAccumulableHistograms != null) {
318-
Histogram hist = externalAccumulableHistograms.get(info.accumulatorId());
320+
HistogramWithSum hist = externalAccumulableHistograms.get(info.accumulatorId());
319321
String name = info.name();
320322

321323
if (name != null && hist != null) {

dd-java-agent/instrumentation/weaver-0.9/gradle.lockfile

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ cafe.cryptography:ed25519-elisabeth:0.1.0=buildTimeInstrumentationPlugin,latestD
66
ch.qos.logback:logback-classic:1.2.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
77
ch.qos.logback:logback-core:1.2.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
88
co.fs2:fs2-core_3:3.10.2=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
9-
co.fs2:fs2-core_3:3.12.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
9+
co.fs2:fs2-core_3:3.13.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
1010
com.blogspot.mydailyjava:weak-lock-free:0.17=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
1111
com.datadoghq.okhttp3:okhttp:3.12.15=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
1212
com.datadoghq.okio:okio:1.17.6=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
@@ -26,7 +26,6 @@ com.eed3si9n:sjson-new-scalajson_2.13:0.10.1=zinc
2626
com.fasterxml.jackson.core:jackson-annotations:2.20=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
2727
com.fasterxml.jackson.core:jackson-core:2.20.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
2828
com.fasterxml.jackson.core:jackson-databind:2.20.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
29-
com.fasterxml.jackson:jackson-bom:2.20.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
3029
com.github.javaparser:javaparser-core:3.25.6=codenarc
3130
com.github.jnr:jffi:1.3.14=buildTimeInstrumentationPlugin,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,weaver084TestRuntimeClasspath
3231
com.github.jnr:jnr-a64asm:1.0.0=buildTimeInstrumentationPlugin,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,weaver084TestRuntimeClasspath
@@ -181,7 +180,8 @@ org.scala-sbt:zinc-core_2.13:1.10.4=zinc
181180
org.scala-sbt:zinc-persist-core-assembly:1.10.4=zinc
182181
org.scala-sbt:zinc-persist_2.13:1.10.4=zinc
183182
org.scala-sbt:zinc_2.13:1.10.4=zinc
184-
org.scodec:scodec-bits_3:1.1.38=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
183+
org.scodec:scodec-bits_3:1.1.38=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
184+
org.scodec:scodec-bits_3:1.2.4=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
185185
org.skyscreamer:jsonassert:1.5.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
186186
org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
187187
org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
@@ -194,25 +194,27 @@ org.slf4j:slf4j-simple:2.0.17=spotbugsSlf4j
194194
org.snakeyaml:snakeyaml-engine:2.9=buildTimeInstrumentationPlugin,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,weaver084TestRuntimeClasspath
195195
org.spockframework:spock-bom:2.4-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
196196
org.spockframework:spock-core:2.4-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
197+
org.tabletest:tabletest-junit:1.2.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
198+
org.tabletest:tabletest-parser:1.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
197199
org.typelevel:cats-core_3:2.10.0=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
198-
org.typelevel:cats-core_3:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
200+
org.typelevel:cats-core_3:2.13.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
199201
org.typelevel:cats-effect-kernel_3:3.5.4=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
200-
org.typelevel:cats-effect-kernel_3:3.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
202+
org.typelevel:cats-effect-kernel_3:3.7.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
201203
org.typelevel:cats-effect-std_3:3.5.4=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
202-
org.typelevel:cats-effect-std_3:3.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
204+
org.typelevel:cats-effect-std_3:3.7.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
203205
org.typelevel:cats-effect_3:3.5.4=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
204-
org.typelevel:cats-effect_3:3.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
206+
org.typelevel:cats-effect_3:3.7.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
205207
org.typelevel:cats-kernel_3:2.10.0=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
206-
org.typelevel:cats-kernel_3:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
207-
org.typelevel:cats-mtl_3:1.3.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
208+
org.typelevel:cats-kernel_3:2.13.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
209+
org.typelevel:cats-mtl_3:1.6.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
208210
org.typelevel:scalac-compat-annotation_3:0.1.4=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
209-
org.typelevel:weaver-cats-core_3:0.11.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
211+
org.typelevel:weaver-cats-core_3:0.12.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
210212
org.typelevel:weaver-cats-core_3:0.9.0=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
211-
org.typelevel:weaver-cats_3:0.11.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
213+
org.typelevel:weaver-cats_3:0.12.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
212214
org.typelevel:weaver-cats_3:0.9.0=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
213-
org.typelevel:weaver-core_3:0.11.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
215+
org.typelevel:weaver-core_3:0.12.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
214216
org.typelevel:weaver-core_3:0.9.0=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
215-
org.typelevel:weaver-framework_3:0.11.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
217+
org.typelevel:weaver-framework_3:0.12.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
216218
org.typelevel:weaver-framework_3:0.9.0=compileClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath
217219
org.xmlresolver:xmlresolver:5.3.3=spotbugs
218220
org.xmlunit:xmlunit-core:2.10.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath,weaver084TestCompileClasspath,weaver084TestRuntimeClasspath

dd-java-agent/instrumentation/weaver-0.9/src/latestDepTest/resources/test-failed-pure/events.ftl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"env" : "none",
4747
"error.message" : ${content_meta_error_message},
4848
"error.stack" : ${content_meta_error_stack},
49-
"error.type" : "weaver.ExpectationFailed",
49+
"error.type" : "java.lang.RuntimeException",
5050
"language" : "jvm",
5151
"library_version" : ${content_meta_library_version},
5252
"runtime-id" : ${content_meta_runtime_id},

dd-java-agent/instrumentation/weaver-0.9/src/latestDepTest/resources/test-failed/events.ftl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"env" : "none",
4747
"error.message" : ${content_meta_error_message},
4848
"error.stack" : ${content_meta_error_stack},
49-
"error.type" : "weaver.ExpectationFailed",
49+
"error.type" : "java.lang.RuntimeException",
5050
"language" : "jvm",
5151
"library_version" : ${content_meta_library_version},
5252
"runtime-id" : ${content_meta_runtime_id},

dd-java-agent/instrumentation/weaver-0.9/src/main/java/datadog/trace/instrumentation/weaver/DatadogWeaverReporter.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -120,20 +120,17 @@ public static void onTestFinished(TestFinished event, TaskDef taskDef) {
120120
if (testOutcome.result() != null) {
121121
// Failed outcomes
122122
if (WeaverUtils.isResultFailure(testOutcome.result())) {
123-
Throwable throwable =
124-
WeaverUtils.unwrap(
125-
WeaverUtils.METHOD_HANDLES.invoke(
126-
WeaverUtils.GET_FAILURE_SOURCE_HANDLE, testOutcome.result()),
127-
Throwable.class);
123+
Object source =
124+
WeaverUtils.METHOD_HANDLES.invoke(
125+
WeaverUtils.GET_FAILURE_SOURCE_HANDLE, testOutcome.result());
126+
Throwable throwable = WeaverUtils.toThrowable(source);
128127
TEST_EVENTS_HANDLER.onTestFailure(testDescriptor, throwable);
129128
} else if (testOutcome.result() instanceof Result.Failures) {
130129
Result.Failures result = (Result.Failures) testOutcome.result();
131130
Object headFailure = result.failures().head();
132-
Throwable throwable =
133-
WeaverUtils.unwrap(
134-
WeaverUtils.METHOD_HANDLES.invoke(
135-
WeaverUtils.GET_FAILURE_SOURCE_HANDLE, headFailure),
136-
Throwable.class);
131+
Object source =
132+
WeaverUtils.METHOD_HANDLES.invoke(WeaverUtils.GET_FAILURE_SOURCE_HANDLE, headFailure);
133+
Throwable throwable = WeaverUtils.toThrowable(source);
137134
TEST_EVENTS_HANDLER.onTestFailure(testDescriptor, throwable);
138135
} else if (testOutcome.result() instanceof Result.Exception) {
139136
Result.Exception result = (Result.Exception) testOutcome.result();

0 commit comments

Comments
 (0)