Skip to content

Commit df51f63

Browse files
feat(api): Remove Strings.join API in favor of JDK String.join (#7974)
1 parent 270a82d commit df51f63

File tree

21 files changed

+46
-119
lines changed

21 files changed

+46
-119
lines changed

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/git/tree/GitClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ public Path createPackFiles(List<String> objectHashes)
484484
return executeCommand(
485485
Command.PACK_OBJECTS,
486486
() -> {
487-
byte[] input = Strings.join("\n", objectHashes).getBytes(Charset.defaultCharset());
487+
byte[] input = String.join("\n", objectHashes).getBytes(Charset.defaultCharset());
488488

489489
Path tempDirectory = createTempDirectory();
490490
String basename = Strings.random(8);

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import datadog.trace.context.TraceScope;
66
import datadog.trace.util.AgentThreadFactory;
77
import datadog.trace.util.AgentThreadFactory.AgentThread;
8-
import datadog.trace.util.Strings;
98
import java.io.ByteArrayInputStream;
109
import java.io.ByteArrayOutputStream;
1110
import java.io.File;
@@ -124,7 +123,7 @@ private <T> T executeCommand(
124123
throw new ShellCommandFailedException(
125124
exitValue,
126125
"Command '"
127-
+ Strings.join(" ", command)
126+
+ String.join(" ", command)
128127
+ "' failed with exit code "
129128
+ exitValue
130129
+ ": "
@@ -147,7 +146,7 @@ private <T> T executeCommand(
147146
terminate(p);
148147
throw new TimeoutException(
149148
"Timeout while waiting for '"
150-
+ Strings.join(" ", command)
149+
+ String.join(" ", command)
151150
+ "'; "
152151
+ IOUtils.readFully(errorStreamConsumer.read(), Charset.defaultCharset()));
153152
}

dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/HelperInjector.java

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

33
import static datadog.trace.bootstrap.AgentClassLoading.INJECTING_HELPERS;
44

5-
import datadog.trace.util.Strings;
65
import java.io.IOException;
76
import java.lang.ref.WeakReference;
87
import java.security.CodeSource;
@@ -101,7 +100,7 @@ public DynamicType.Builder<?> transform(
101100
if (classLoader == null) {
102101
throw new UnsupportedOperationException(
103102
"Cannot inject helper classes onto boot-class-path; move "
104-
+ Strings.join(",", helperClassNames)
103+
+ String.join(",", helperClassNames)
105104
+ " to agent-bootstrap");
106105
}
107106

@@ -112,7 +111,7 @@ public DynamicType.Builder<?> transform(
112111
"Injecting helper classes - instrumentation.class={} instrumentation.target.classloader={} instrumentation.helper_classes=[{}]",
113112
requestingName,
114113
classLoader,
115-
Strings.join(",", helperClassNames));
114+
String.join(",", helperClassNames));
116115
}
117116

118117
final Map<String, byte[]> classnameToBytes = getHelperMap();

dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/InstrumenterState.java

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

33
import datadog.trace.api.cache.DDCache;
44
import datadog.trace.api.cache.DDCaches;
5-
import datadog.trace.util.Strings;
65
import java.util.Arrays;
76
import java.util.concurrent.atomic.AtomicLongArray;
87
import org.slf4j.Logger;
@@ -130,7 +129,7 @@ public static void blockInstrumentation(int instrumentationId) {
130129
public static String describe(int instrumentationId) {
131130
if (instrumentationId >= 0 && instrumentationId < instrumentationNames.length) {
132131
return "instrumentation.names=["
133-
+ Strings.join(",", instrumentationNames[instrumentationId])
132+
+ String.join(",", instrumentationNames[instrumentationId])
134133
+ "] instrumentation.class="
135134
+ instrumentationClasses[instrumentationId];
136135
} else {

dd-java-agent/appsec/src/main/java/com/datadog/appsec/AppSecSystem.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import datadog.trace.api.telemetry.ProductChange;
2424
import datadog.trace.api.telemetry.ProductChangeCollector;
2525
import datadog.trace.bootstrap.ActiveSubsystems;
26-
import datadog.trace.util.Strings;
2726
import java.util.Collections;
2827
import java.util.HashMap;
2928
import java.util.List;
@@ -104,7 +103,7 @@ private static void doStart(SubscriptionService gw, SharedCommunicationObjects s
104103

105104
STARTED.set(true);
106105

107-
String startedAppSecModules = Strings.join(", ", STARTED_MODULES_INFO.values());
106+
String startedAppSecModules = String.join(", ", STARTED_MODULES_INFO.values());
108107
if (appSecEnabledConfig == ProductActivation.FULLY_ENABLED) {
109108
log.info("AppSec is {} with {}", appSecEnabledConfig, startedAppSecModules);
110109
} else {

dd-java-agent/instrumentation/elasticsearch/transport-2/src/main/java/datadog/trace/instrumentation/elasticsearch2/TransportActionListener.java

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

55
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
66
import datadog.trace.bootstrap.instrumentation.api.Tags;
7-
import datadog.trace.util.Strings;
87
import org.elasticsearch.action.ActionListener;
98
import org.elasticsearch.action.ActionRequest;
109
import org.elasticsearch.action.ActionResponse;
@@ -32,12 +31,12 @@ private void onRequest(final ActionRequest request) {
3231
if (request instanceof IndicesRequest) {
3332
final IndicesRequest req = (IndicesRequest) request;
3433
if (req.indices() != null) {
35-
span.setTag("elasticsearch.request.indices", Strings.join(",", req.indices()));
34+
span.setTag("elasticsearch.request.indices", String.join(",", req.indices()));
3635
}
3736
}
3837
if (request instanceof SearchRequest) {
3938
final SearchRequest req = (SearchRequest) request;
40-
span.setTag("elasticsearch.request.search.types", Strings.join(",", req.types()));
39+
span.setTag("elasticsearch.request.search.types", String.join(",", req.types()));
4140
}
4241
if (request instanceof DocumentRequest) {
4342
final DocumentRequest req = (DocumentRequest) request;

dd-java-agent/instrumentation/elasticsearch/transport-5.3/src/main/java/datadog/trace/instrumentation/elasticsearch5_3/TransportActionListener.java

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

55
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
66
import datadog.trace.bootstrap.instrumentation.api.Tags;
7-
import datadog.trace.util.Strings;
87
import org.elasticsearch.action.ActionListener;
98
import org.elasticsearch.action.ActionRequest;
109
import org.elasticsearch.action.ActionResponse;
@@ -34,12 +33,12 @@ private void onRequest(final ActionRequest request) {
3433
if (request instanceof IndicesRequest) {
3534
final IndicesRequest req = (IndicesRequest) request;
3635
if (req.indices() != null) {
37-
span.setTag("elasticsearch.request.indices", Strings.join(",", req.indices()));
36+
span.setTag("elasticsearch.request.indices", String.join(",", req.indices()));
3837
}
3938
}
4039
if (request instanceof SearchRequest) {
4140
final SearchRequest req = (SearchRequest) request;
42-
span.setTag("elasticsearch.request.search.types", Strings.join(",", req.types()));
41+
span.setTag("elasticsearch.request.search.types", String.join(",", req.types()));
4342
}
4443
if (request instanceof DocWriteRequest) {
4544
final DocWriteRequest req = (DocWriteRequest) request;

dd-java-agent/instrumentation/elasticsearch/transport-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/TransportActionListener.java

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

55
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
66
import datadog.trace.bootstrap.instrumentation.api.Tags;
7-
import datadog.trace.util.Strings;
87
import org.elasticsearch.action.ActionListener;
98
import org.elasticsearch.action.ActionRequest;
109
import org.elasticsearch.action.ActionResponse;
@@ -37,12 +36,12 @@ private void onRequest(final ActionRequest request) {
3736
if (request instanceof IndicesRequest) {
3837
final IndicesRequest req = (IndicesRequest) request;
3938
if (req.indices() != null) {
40-
span.setTag("elasticsearch.request.indices", Strings.join(",", req.indices()));
39+
span.setTag("elasticsearch.request.indices", String.join(",", req.indices()));
4140
}
4241
}
4342
if (request instanceof SearchRequest) {
4443
final SearchRequest req = (SearchRequest) request;
45-
span.setTag("elasticsearch.request.search.types", Strings.join(",", req.types()));
44+
span.setTag("elasticsearch.request.search.types", String.join(",", req.types()));
4645
}
4746
if (request instanceof DocumentRequest) {
4847
final DocumentRequest req = (DocumentRequest) request;

dd-java-agent/instrumentation/elasticsearch/transport-6/src/main/java/datadog/trace/instrumentation/elasticsearch6/TransportActionListener.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static datadog.trace.instrumentation.elasticsearch.ElasticsearchTransportClientDecorator.DECORATE;
44

55
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
6-
import datadog.trace.util.Strings;
76
import org.elasticsearch.action.ActionListener;
87
import org.elasticsearch.action.ActionRequest;
98
import org.elasticsearch.action.ActionResponse;
@@ -37,12 +36,12 @@ private void onRequest(final ActionRequest request) {
3736
if (request instanceof IndicesRequest) {
3837
final IndicesRequest req = (IndicesRequest) request;
3938
if (req.indices() != null) {
40-
span.setTag("elasticsearch.request.indices", Strings.join(",", req.indices()));
39+
span.setTag("elasticsearch.request.indices", String.join(",", req.indices()));
4140
}
4241
}
4342
if (request instanceof SearchRequest) {
4443
final SearchRequest req = (SearchRequest) request;
45-
span.setTag("elasticsearch.request.search.types", Strings.join(",", req.types()));
44+
span.setTag("elasticsearch.request.search.types", String.join(",", req.types()));
4645
}
4746
if (request instanceof DocWriteRequest) {
4847
final DocWriteRequest req = (DocWriteRequest) request;

dd-java-agent/instrumentation/elasticsearch/transport-7.3/src/main/java/datadog/trace/instrumentation/elasticsearch7_3/TransportActionListener.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static datadog.trace.instrumentation.elasticsearch.ElasticsearchTransportClientDecorator.DECORATE;
44

55
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
6-
import datadog.trace.util.Strings;
76
import org.elasticsearch.action.ActionListener;
87
import org.elasticsearch.action.ActionRequest;
98
import org.elasticsearch.action.ActionResponse;
@@ -34,12 +33,12 @@ private void onRequest(final ActionRequest request) {
3433
if (request instanceof IndicesRequest) {
3534
final IndicesRequest req = (IndicesRequest) request;
3635
if (req.indices() != null) {
37-
span.setTag("elasticsearch.request.indices", Strings.join(",", req.indices()));
36+
span.setTag("elasticsearch.request.indices", String.join(",", req.indices()));
3837
}
3938
}
4039
if (request instanceof SearchRequest) {
4140
final SearchRequest req = (SearchRequest) request;
42-
span.setTag("elasticsearch.request.search.types", Strings.join(",", req.types()));
41+
span.setTag("elasticsearch.request.search.types", String.join(",", req.types()));
4342
}
4443
if (request instanceof DocWriteRequest) {
4544
final DocWriteRequest req = (DocWriteRequest) request;

dd-java-agent/instrumentation/hazelcast-3.6/src/main/java/datadog/trace/instrumentation/hazelcast36/DistributedObjectDecorator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import datadog.trace.bootstrap.instrumentation.api.InternalSpanTypes;
1616
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
1717
import datadog.trace.bootstrap.instrumentation.decorator.ClientDecorator;
18-
import datadog.trace.util.Strings;
1918
import java.util.function.Function;
2019

2120
/** Decorate Hazelcast distributed object span's with relevant contextual information. */
@@ -84,7 +83,7 @@ public AgentSpan onServiceExecution(
8483
QUALIFIED_NAME_CACHE.computeIfAbsent(
8584
Pair.of(object.getServiceName(), object.getName()), COMPUTE_QUALIFIED_NAME);
8685

87-
span.setResourceName(UTF8BytesString.create(Strings.join(".", objectName, methodName)));
86+
span.setResourceName(UTF8BytesString.create(String.join(".", objectName, methodName)));
8887

8988
span.setTag(HAZELCAST_SERVICE, object.getServiceName());
9089
span.setTag(HAZELCAST_OPERATION, methodName);

dd-java-agent/instrumentation/hazelcast-3.9/src/main/java/datadog/trace/instrumentation/hazelcast39/ClientInvocationDecorator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import datadog.trace.bootstrap.instrumentation.api.InternalSpanTypes;
1414
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
1515
import datadog.trace.bootstrap.instrumentation.decorator.ClientDecorator;
16-
import datadog.trace.util.Strings;
1716

1817
/** Decorate Hazelcast client invocations with relevant contextual information. */
1918
public class ClientInvocationDecorator extends ClientDecorator {
@@ -51,7 +50,7 @@ public AgentSpan onServiceExecution(
5150
long correlationId) {
5251

5352
if (objectName != null) {
54-
span.setResourceName(UTF8BytesString.create(Strings.join(" ", operationName, objectName)));
53+
span.setResourceName(UTF8BytesString.create(String.join(" ", operationName, objectName)));
5554
span.setTag(HAZELCAST_NAME, objectName);
5655
} else {
5756
span.setResourceName(UTF8BytesString.create(operationName));

dd-java-agent/instrumentation/hazelcast-4.0/src/main/java/datadog/trace/instrumentation/hazelcast4/HazelcastDecorator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import datadog.trace.bootstrap.instrumentation.api.InternalSpanTypes;
1313
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
1414
import datadog.trace.bootstrap.instrumentation.decorator.ClientDecorator;
15-
import datadog.trace.util.Strings;
1615

1716
/** Decorate Hazelcast distributed object span's with relevant contextual information. */
1817
public class HazelcastDecorator extends ClientDecorator {
@@ -51,7 +50,7 @@ public AgentSpan onServiceExecution(
5150

5251
if (objectName != null) {
5352
span.setResourceName(
54-
UTF8BytesString.create(Strings.join(" ", operationName, objectName.toString())));
53+
UTF8BytesString.create(String.join(" ", operationName, objectName.toString())));
5554
span.setTag(HAZELCAST_NAME, objectName.toString());
5655
} else {
5756
span.setResourceName(UTF8BytesString.create(operationName));

dd-java-agent/instrumentation/opensearch/transport/src/main/java/datadog/trace/instrumentation/opensearch/TransportActionListener.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static datadog.trace.instrumentation.opensearch.OpensearchTransportClientDecorator.DECORATE;
44

55
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
6-
import datadog.trace.util.Strings;
76
import org.opensearch.action.ActionListener;
87
import org.opensearch.action.ActionRequest;
98
import org.opensearch.action.ActionResponse;
@@ -32,7 +31,7 @@ private void onRequest(final ActionRequest request) {
3231
if (request instanceof IndicesRequest) {
3332
final IndicesRequest req = (IndicesRequest) request;
3433
if (req.indices() != null) {
35-
span.setTag("opensearch.request.indices", Strings.join(",", req.indices()));
34+
span.setTag("opensearch.request.indices", String.join(",", req.indices()));
3635
}
3736
}
3837
if (request instanceof DocWriteRequest) {

dd-java-agent/instrumentation/redisson/redisson-2.0.0/src/main/java/datadog/trace/instrumentation/redisson/RedissonInstrumentation.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
1515
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
1616
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
17-
import datadog.trace.util.Strings;
1817
import java.util.ArrayList;
1918
import java.util.List;
2019
import net.bytebuddy.asm.Advice;
@@ -100,7 +99,7 @@ public static AgentScope onEnter(
10099
for (CommandData<?, ?> commandData : command.getCommands()) {
101100
commandResourceNames.add(commandData.getCommand().getName());
102101
}
103-
DECORATE.onStatement(span, Strings.join(";", commandResourceNames));
102+
DECORATE.onStatement(span, String.join(";", commandResourceNames));
104103
command.getPromise().addListener(new SpanFinishListener(AgentTracer.captureSpan(span)));
105104
return activateSpan(span);
106105
}

dd-java-agent/instrumentation/redisson/redisson-2.3.0/src/main/java/datadog/trace/instrumentation/redisson23/RedissonInstrumentation.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
1414
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
1515
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
16-
import datadog.trace.util.Strings;
1716
import java.util.ArrayList;
1817
import java.util.List;
1918
import net.bytebuddy.asm.Advice;
@@ -101,7 +100,7 @@ public static AgentScope onEnter(
101100
for (CommandData<?, ?> commandData : command.getCommands()) {
102101
commandResourceNames.add(commandData.getCommand().getName());
103102
}
104-
RedissonClientDecorator.DECORATE.onStatement(span, Strings.join(";", commandResourceNames));
103+
RedissonClientDecorator.DECORATE.onStatement(span, String.join(";", commandResourceNames));
105104
((RFuture<?>) command.getPromise())
106105
.addListener(new SpanFinishListener(AgentTracer.captureSpan(span)));
107106
return activateSpan(span);

dd-java-agent/instrumentation/redisson/redisson-3.10.3/src/main/java/datadog/trace/instrumentation/redisson30/RedissonInstrumentation.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
1414
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
1515
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
16-
import datadog.trace.util.Strings;
1716
import java.util.ArrayList;
1817
import java.util.List;
1918
import java.util.concurrent.CompletionStage;
@@ -111,7 +110,7 @@ public static AgentScope onEnter(
111110
for (CommandData<?, ?> commandData : command.getCommands()) {
112111
commandResourceNames.add(commandData.getCommand().getName());
113112
}
114-
RedissonClientDecorator.DECORATE.onStatement(span, Strings.join(";", commandResourceNames));
113+
RedissonClientDecorator.DECORATE.onStatement(span, String.join(";", commandResourceNames));
115114
promise.whenComplete(new SpanFinishListener(AgentTracer.captureSpan(span)));
116115
return activateSpan(span);
117116
}

dd-trace-core/src/main/java/datadog/trace/core/flare/TracerFlareService.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import datadog.trace.logging.LogLevel;
1414
import datadog.trace.util.AgentTaskScheduler;
1515
import datadog.trace.util.AgentTaskScheduler.Scheduled;
16-
import datadog.trace.util.Strings;
1716
import java.io.ByteArrayOutputStream;
1817
import java.io.IOException;
1918
import java.lang.management.ManagementFactory;
@@ -239,8 +238,7 @@ private void addConfig(ZipOutputStream zip) throws IOException {
239238
private void addRuntime(ZipOutputStream zip) throws IOException {
240239
try {
241240
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
242-
TracerFlare.addText(
243-
zip, "jvm_args.txt", Strings.join(" ", runtimeMXBean.getInputArguments()));
241+
TracerFlare.addText(zip, "jvm_args.txt", String.join(" ", runtimeMXBean.getInputArguments()));
244242
TracerFlare.addText(zip, "classpath.txt", runtimeMXBean.getClassPath());
245243
TracerFlare.addText(zip, "library_path.txt", runtimeMXBean.getLibraryPath());
246244
if (runtimeMXBean.isBootClassPathSupported()) {

internal-api/src/main/java/datadog/trace/api/naming/v1/CloudNamingV1.java

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

33
import datadog.trace.api.naming.NamingSchema;
44
import datadog.trace.api.naming.SpanNaming;
5-
import datadog.trace.util.Strings;
65
import java.util.Locale;
76
import javax.annotation.Nonnull;
87
import javax.annotation.Nullable;
@@ -34,7 +33,7 @@ public String operationForRequest(
3433
return SpanNaming.instance().namingSchema().messaging().outboundOperation("sns");
3534
default:
3635
final String lowercaseService = cloudService.toLowerCase(Locale.ROOT);
37-
return Strings.join(".", provider, lowercaseService, "request"); // aws.s3.request
36+
return String.join(".", provider, lowercaseService, "request"); // aws.s3.request
3837
}
3938
}
4039

0 commit comments

Comments
 (0)