From ee18c9bc42cda0ce922bc0dfd942314e296e3d39 Mon Sep 17 00:00:00 2001 From: Douglas Q Hawkins Date: Wed, 22 Jan 2025 09:40:15 -0500 Subject: [PATCH 1/2] Moving null path computation into static Moving repeated null path computation into static variable. This change provides a 3% improvement on span creation benchmarks. --- .../src/main/java/datadog/trace/api/git/GitInfoProvider.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal-api/src/main/java/datadog/trace/api/git/GitInfoProvider.java b/internal-api/src/main/java/datadog/trace/api/git/GitInfoProvider.java index 86e0f41381c..18673184ea9 100644 --- a/internal-api/src/main/java/datadog/trace/api/git/GitInfoProvider.java +++ b/internal-api/src/main/java/datadog/trace/api/git/GitInfoProvider.java @@ -23,6 +23,8 @@ public class GitInfoProvider { INSTANCE = new GitInfoProvider(); INSTANCE.registerGitInfoBuilder(new UserSuppliedGitInfoBuilder()); } + + static final String NULL_PATH_STRING = Paths.get("").toAbsolutePath().toString(); private volatile Collection builders = Collections.emptyList(); @@ -42,7 +44,7 @@ public GitInfo getGitInfo() { public GitInfo getGitInfo(@Nullable String repositoryPath) { if (repositoryPath == null) { - repositoryPath = Paths.get("").toAbsolutePath().toString(); + repositoryPath = NULL_PATH_STRING; } return gitInfoCache.computeIfAbsent(repositoryPath, this::buildGitInfo); } From 11ff5237c9ddd95d121ec7f84566f679bda241c9 Mon Sep 17 00:00:00 2001 From: Douglas Q Hawkins Date: Wed, 22 Jan 2025 09:46:02 -0500 Subject: [PATCH 2/2] spotless --- .../src/main/java/datadog/trace/api/git/GitInfoProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal-api/src/main/java/datadog/trace/api/git/GitInfoProvider.java b/internal-api/src/main/java/datadog/trace/api/git/GitInfoProvider.java index 18673184ea9..02f95eedbb5 100644 --- a/internal-api/src/main/java/datadog/trace/api/git/GitInfoProvider.java +++ b/internal-api/src/main/java/datadog/trace/api/git/GitInfoProvider.java @@ -23,7 +23,7 @@ public class GitInfoProvider { INSTANCE = new GitInfoProvider(); INSTANCE.registerGitInfoBuilder(new UserSuppliedGitInfoBuilder()); } - + static final String NULL_PATH_STRING = Paths.get("").toAbsolutePath().toString(); private volatile Collection builders = Collections.emptyList();