summaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java')
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java22
1 files changed, 12 insertions, 10 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java
index b949edefb31..8fa658bf7fc 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java
@@ -22,9 +22,9 @@ import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.TimeUnit;
import static com.yahoo.container.jdisc.state.JsonUtil.sanitizeDouble;
@@ -61,6 +61,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
private final Timer timer;
private final SnapshotProvider snapshotProvider;
private final String applicationName;
+ private final String hostDimension;
@Inject
public MetricsPacketsHandler(StateMonitor monitor,
@@ -71,6 +72,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
this.timer = timer;
snapshotProvider = getSnapshotProviderOrThrow(snapshotProviders);
applicationName = config.application();
+ hostDimension = config.hostname();
}
@@ -173,16 +175,16 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
}
private void addDimensions(MetricDimensions metricDimensions, ObjectNode packet) {
- if (metricDimensions == null) return;
-
- Iterator<Map.Entry<String, String>> dimensionsIterator = metricDimensions.iterator();
- if (dimensionsIterator.hasNext()) {
- ObjectNode jsonDim = jsonMapper.createObjectNode();
- packet.set(DIMENSIONS_KEY, jsonDim);
- for (Map.Entry<String, String> dimensionEntry : metricDimensions) {
- jsonDim.put(dimensionEntry.getKey(), dimensionEntry.getValue());
- }
+ if (metricDimensions == null && hostDimension.isEmpty()) return;
+
+ ObjectNode jsonDim = jsonMapper.createObjectNode();
+ packet.set(DIMENSIONS_KEY, jsonDim);
+ Iterable<Map.Entry<String, String>> dimensionIterator = metricDimensions == null ? Set.of() : metricDimensions;
+ for (Map.Entry<String, String> dimensionEntry : dimensionIterator) {
+ jsonDim.put(dimensionEntry.getKey(), dimensionEntry.getValue());
}
+ if (!hostDimension.isEmpty() && !jsonDim.has("host"))
+ jsonDim.put("host", hostDimension);
}
private void addMetrics(MetricSet metricSet, ObjectNode packet) {