Polish "Zero-pad nanos in gRPC service config durations"

Use the short "<seconds>s" format when nanos are equal to 0. This
prevents extra padding for the most frequent use case.

See gh-51957
This commit is contained in:
Stéphane Nicoll
2026-10-07 16:04:17 +02:00
parent 6bba9fdef6
commit 5508957eca
@@ -20,7 +20,6 @@ import java.time.Duration;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
@@ -88,7 +87,8 @@ public record ServiceConfig(@Nullable List<LoadBalancingConfig> loadbalancing, @
}
static String durationString(Duration duration) {
return String.format(Locale.ROOT, "%d.%09ds", duration.getSeconds(), duration.getNano());
return (duration.getNano() == 0) ? "%ds".formatted(duration.getSeconds())
: "%d.%09ds".formatted(duration.getSeconds(), duration.getNano());
}
static String bytesString(DataSize dataSize) {