From da89e601637028cf430fe2d38aa582c79d4f1f3a Mon Sep 17 00:00:00 2001 From: Andrea Marziali Date: Wed, 18 Dec 2024 17:52:24 +0100 Subject: [PATCH] apply suggestions --- .../remoteconfig/ServiceNameCollector.java | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/internal-api/src/main/java/datadog/trace/api/remoteconfig/ServiceNameCollector.java b/internal-api/src/main/java/datadog/trace/api/remoteconfig/ServiceNameCollector.java index d38a324d643..c4f78b22c58 100644 --- a/internal-api/src/main/java/datadog/trace/api/remoteconfig/ServiceNameCollector.java +++ b/internal-api/src/main/java/datadog/trace/api/remoteconfig/ServiceNameCollector.java @@ -4,10 +4,9 @@ import datadog.trace.api.Config; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Locale; import java.util.Set; +import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; import javax.annotation.Nullable; import org.slf4j.Logger; @@ -19,9 +18,6 @@ public class ServiceNameCollector { private static final int MAX_EXTRA_SERVICE = Config.get().getRemoteConfigMaxExtraServices(); - private static final String SERVICE_NAME_LOWERCASE = - Config.get().getServiceName().toLowerCase(Locale.ROOT); - // This is not final to allow mocking it on tests private static ServiceNameCollector INSTANCE = new ServiceNameCollector(); @@ -67,16 +63,10 @@ public List getServices() { if (services.isEmpty()) { return null; } - final Set uniques = new HashSet<>(services.size()); - // avoids reiterating again to convert a set to a list - final ArrayList ret = new ArrayList<>(services.size()); - for (String current : services.keySet()) { - String lowerCase = current.toLowerCase(Locale.ROOT); - if (!SERVICE_NAME_LOWERCASE.equals(lowerCase) && uniques.add(lowerCase)) { - ret.add(current); - } - } - return ret.isEmpty() ? null : ret; + final Set uniqueNames = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); + uniqueNames.addAll(services.keySet()); + uniqueNames.remove(Config.get().getServiceName()); + return uniqueNames.isEmpty() ? null : new ArrayList<>(uniqueNames); } public void clear() {