Skip to content

Commit bb01c7d

Browse files
committed
feat(ci-visibility): Migrate to JSON component
1 parent 68ceae1 commit bb01c7d

File tree

9 files changed

+24
-18
lines changed

9 files changed

+24
-18
lines changed

dd-java-agent/agent-ci-visibility/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ dependencies {
2929
implementation group: 'org.jacoco', name: 'org.jacoco.report', version: '0.8.12'
3030

3131
implementation project(':communication')
32+
implementation project(':components:json')
3233
implementation project(':internal-api')
3334
implementation project(':internal-api:internal-api-9')
3435

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/BuildkiteInfo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package datadog.trace.civisibility.ci;
22

3+
import static datadog.json.JsonMapper.toJson;
34
import static datadog.trace.api.git.GitUtils.filterSensitiveInfo;
45
import static datadog.trace.api.git.GitUtils.normalizeBranch;
56
import static datadog.trace.api.git.GitUtils.normalizeTag;
67
import static datadog.trace.civisibility.utils.FileUtils.expandTilde;
7-
import static datadog.trace.util.Strings.toJson;
88

99
import datadog.trace.api.civisibility.telemetry.tag.Provider;
1010
import datadog.trace.api.git.CommitInfo;

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CITagsProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package datadog.trace.civisibility.ci;
22

3-
import static datadog.trace.util.Strings.toJson;
3+
import static datadog.json.JsonMapper.toJson;
44

55
import datadog.trace.api.DDTags;
66
import datadog.trace.api.git.GitInfo;

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/JenkinsInfo.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package datadog.trace.civisibility.ci;
22

3+
import static datadog.json.JsonMapper.toJson;
34
import static datadog.trace.api.git.GitUtils.filterSensitiveInfo;
45
import static datadog.trace.api.git.GitUtils.isTagReference;
56
import static datadog.trace.api.git.GitUtils.normalizeBranch;
@@ -10,11 +11,8 @@
1011
import datadog.trace.api.git.CommitInfo;
1112
import datadog.trace.api.git.GitInfo;
1213
import datadog.trace.civisibility.ci.env.CiEnvironment;
13-
import datadog.trace.util.Strings;
1414
import de.thetaphi.forbiddenapis.SuppressForbidden;
15-
import java.util.Arrays;
1615
import java.util.HashMap;
17-
import java.util.List;
1816
import java.util.Locale;
1917
import java.util.Map;
2018

@@ -75,8 +73,7 @@ private String buildCiNodeLabels() {
7573
if (labels == null || labels.isEmpty()) {
7674
return labels;
7775
}
78-
List<String> labelsList = Arrays.asList(labels.split(" "));
79-
return Strings.toJson(labelsList);
76+
return toJson(labels.split(" "));
8077
}
8178

8279
private String buildGitRepositoryUrl() {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/TestImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package datadog.trace.civisibility.domain;
22

3+
import static datadog.json.JsonMapper.toJson;
34
import static datadog.trace.api.civisibility.CIConstants.CI_VISIBILITY_INSTRUMENTATION_NAME;
45
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
5-
import static datadog.trace.util.Strings.toJson;
66

77
import datadog.trace.api.Config;
88
import datadog.trace.api.DDTraceId;

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/TestSuiteImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package datadog.trace.civisibility.domain;
22

3+
import static datadog.json.JsonMapper.toJson;
34
import static datadog.trace.api.civisibility.CIConstants.CI_VISIBILITY_INSTRUMENTATION_NAME;
45
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
5-
import static datadog.trace.util.Strings.toJson;
66

77
import datadog.trace.api.Config;
88
import datadog.trace.api.civisibility.DDTestSuite;

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/events/TestEventsHandlerImpl.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package datadog.trace.civisibility.events;
22

3-
import static datadog.trace.util.Strings.toJson;
4-
3+
import datadog.json.JsonWriter;
54
import datadog.trace.api.DisableTestTrace;
65
import datadog.trace.api.civisibility.DDTest;
76
import datadog.trace.api.civisibility.DDTestSuite;
@@ -21,7 +20,6 @@
2120
import datadog.trace.civisibility.domain.TestSuiteImpl;
2221
import java.lang.reflect.Method;
2322
import java.util.Collection;
24-
import java.util.Collections;
2523
import javax.annotation.Nonnull;
2624
import javax.annotation.Nullable;
2725
import org.objectweb.asm.Type;
@@ -76,13 +74,23 @@ public void onTestSuiteStart(
7674
}
7775
}
7876
if (categories != null && !categories.isEmpty()) {
79-
testSuite.setTag(
80-
Tags.TEST_TRAITS, toJson(Collections.singletonMap("category", toJson(categories)), true));
77+
testSuite.setTag(Tags.TEST_TRAITS, getTestTraits(categories));
8178
}
8279

8380
inProgressTestSuites.put(descriptor, testSuite);
8481
}
8582

83+
private String getTestTraits(Collection<String> categories) {
84+
try (JsonWriter writer = new JsonWriter()) {
85+
writer.beginObject().name("category").beginArray();
86+
for (String category : categories) {
87+
writer.value(category);
88+
}
89+
writer.endArray().endObject();
90+
return writer.toString();
91+
}
92+
}
93+
8694
@Override
8795
public void onTestSuiteFinish(SuiteKey descriptor) {
8896
if (skipTrace(descriptor.getClass())) {
@@ -160,8 +168,7 @@ public void onTestStart(
160168
test.setTag(Tags.TEST_SOURCE_METHOD, testMethodName + Type.getMethodDescriptor(testMethod));
161169
}
162170
if (categories != null && !categories.isEmpty()) {
163-
String json = toJson(Collections.singletonMap("category", toJson(categories)), true);
164-
test.setTag(Tags.TEST_TRAITS, json);
171+
test.setTag(Tags.TEST_TRAITS, getTestTraits(categories));
165172

166173
for (String category : categories) {
167174
if (category.endsWith(InstrumentationBridge.ITR_UNSKIPPABLE_TAG)) {

dd-trace-core/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ dependencies {
6161
api project(':dd-trace-api')
6262
api project(':communication')
6363
api project(':internal-api')
64+
implementation project(':components:json')
6465
implementation project(':utils:container-utils')
6566
implementation project(':utils:socket-utils')
6667
// for span exception debugging

dd-trace-core/src/main/java/datadog/trace/civisibility/writer/ddintake/CiTestCycleMapperV1.java

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

33
import static datadog.communication.http.OkHttpUtils.gzippedMsgpackRequestBodyOf;
44
import static datadog.communication.http.OkHttpUtils.msgpackRequestBodyOf;
5+
import static datadog.json.JsonMapper.toJson;
56

67
import datadog.communication.serialization.GrowableBuffer;
78
import datadog.communication.serialization.Writable;
@@ -20,7 +21,6 @@
2021
import datadog.trace.core.CoreSpan;
2122
import datadog.trace.core.Metadata;
2223
import datadog.trace.core.MetadataConsumer;
23-
import datadog.trace.util.Strings;
2424
import java.io.IOException;
2525
import java.nio.ByteBuffer;
2626
import java.nio.channels.WritableByteChannel;
@@ -357,7 +357,7 @@ public void accept(Metadata metadata) {
357357
if (!(value instanceof Iterable)) {
358358
writable.writeObjectString(value, null);
359359
} else {
360-
String serializedValue = Strings.toJson((Iterable<String>) value);
360+
String serializedValue = toJson((Collection<String>) value);
361361
writable.writeString(serializedValue, null);
362362
}
363363
}

0 commit comments

Comments
 (0)