diff --git a/core/src/main/java/google/registry/request/RequestMetrics.java b/core/src/main/java/google/registry/request/RequestMetrics.java index 3d0069c74..78a2f2a2a 100644 --- a/core/src/main/java/google/registry/request/RequestMetrics.java +++ b/core/src/main/java/google/registry/request/RequestMetrics.java @@ -67,10 +67,16 @@ class RequestMetrics { private static String truncatePath(String path) { // We want to bucket RDAP requests by type to use less metric space, // e.g. "/rdap/domains" rather than "/rdap/domains/foo.tld" + if (path.startsWith("/rdap")) { List splitPath = Splitter.on("/").omitEmptyStrings().splitToList(path); return Streams.stream(Iterables.limit(splitPath, 2)) .collect(Collectors.joining("/", "/", "/")); + // Similarly, we put all web WHOIS requests under the same path because otherwise its + // cardinality is unbound, and it is possible to generate a huge amount of metrics with all + // the different paths. + } else if (path.startsWith("/whois")) { + return "/whois"; } return path; }