Skip to content

Commit e99fce7

Browse files
committed
compute basehash without allocating a stringbuilder
1 parent 25a3dc3 commit e99fce7

1 file changed

Lines changed: 6 additions & 10 deletions

File tree

internal-api/src/main/java/datadog/trace/api/BaseHash.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,15 @@ private static long calc(
4141
String primaryTag,
4242
CharSequence processTags,
4343
String containerTagsHash) {
44-
StringBuilder builder = new StringBuilder(64);
45-
builder.append(serviceName);
46-
builder.append(env);
47-
48-
if (primaryTag != null) {
49-
builder.append(primaryTag);
50-
}
44+
long hash = FNV64Hash.generateHash(serviceName.toString(), FNV64Hash.Version.v1);
45+
hash = FNV64Hash.continueHash(hash, env.toString(), FNV64Hash.Version.v1);
46+
if (primaryTag != null) hash = FNV64Hash.continueHash(hash, primaryTag, FNV64Hash.Version.v1);
5147
if (processTags != null) {
52-
builder.append(processTags);
48+
hash = FNV64Hash.continueHash(hash, processTags.toString(), FNV64Hash.Version.v1);
5349
if (containerTagsHash != null && !containerTagsHash.isEmpty()) {
54-
builder.append(containerTagsHash);
50+
hash = FNV64Hash.continueHash(hash, containerTagsHash, FNV64Hash.Version.v1);
5551
}
5652
}
57-
return FNV64Hash.generateHash(builder.toString(), FNV64Hash.Version.v1);
53+
return hash;
5854
}
5955
}

0 commit comments

Comments
 (0)