aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOla Aunronning <olaa@yahooinc.com>2023-08-30 14:54:45 +0200
committerOla Aunronning <olaa@yahooinc.com>2023-08-30 14:54:45 +0200
commitdabb180f4782e2031266e6bab19b1ec709351a1c (patch)
tree5fc7907a870b0018b93eff33603de92f3130d107
parent9901919395117c0f3034929b5b50259a03239688 (diff)
Remove unused 'uptime' metric. Always add host-life in MetricsPacketsHandler
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java20
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/MetricGatherer.java24
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java5
-rw-r--r--container-core/src/test/java/com/yahoo/container/jdisc/state/HostLifeGathererTest.java19
-rw-r--r--container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java4
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/NodeMetricGatherer.java6
6 files changed, 9 insertions, 69 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java
index 538397fad24..3da9bfa5008 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java
@@ -17,29 +17,11 @@ public class HostLifeGatherer {
private static final ObjectMapper jsonMapper = new ObjectMapper();
- private static final Path UPTIME_PATH = Path.of("/proc");
-
- public static JsonNode getHostLifePacket(FileWrapper fileWrapper) {
- long upTime;
- int statusCode = 0;
- String statusMessage = "OK";
-
- try {
- upTime = fileWrapper.getFileAgeInSeconds(UPTIME_PATH);
- } catch (IOException e) {
- upTime = 0;
- statusCode = 1;
- statusMessage = "Unable to read proc folder";
- }
-
-
+ public static JsonNode getHostLifePacket() {
ObjectNode jsonObject = jsonMapper.createObjectNode();
- jsonObject.put("status_code", statusCode);
- jsonObject.put("status_msg", statusMessage);
jsonObject.put("timestamp", Instant.now().getEpochSecond());
jsonObject.put("application", "host_life");
ObjectNode metrics = jsonMapper.createObjectNode();
- metrics.put("uptime", upTime);
metrics.put("alive", 1);
jsonObject.set("metrics", metrics);
ObjectNode dimensions = jsonMapper.createObjectNode();
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricGatherer.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricGatherer.java
deleted file mode 100644
index 103a4363ac2..00000000000
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricGatherer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.container.jdisc.state;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Gathers metrics regarding currently processing coredumps and host life.
- *
- * @author olaa
- */
-public class MetricGatherer {
-
- static List<JsonNode> getAdditionalMetrics() {
- FileWrapper fileWrapper = new FileWrapper();
- List<JsonNode> packetList = new ArrayList<>();
- if (System.getProperty("os.name").contains("nux"))
- packetList.add(HostLifeGatherer.getHostLifePacket(fileWrapper));
- return packetList;
- }
-
-}
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 b8beeb5c1d1..83136754c85 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
@@ -104,8 +104,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
var metricSetId = queryMap.get("metric-set");
var format = queryMap.get("format");
- // TODO: Remove "array-formatted"
- if ("array".equals(format) || queryMap.containsKey("array-formatted")) {
+ if ("array".equals(format)) {
return getMetricsArray(metricSetId);
}
if ("prometheus".equals(format)) {
@@ -126,7 +125,6 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
ArrayNode jsonArray = jsonMapper.createArrayNode();
getPacketsForSnapshot(getSnapshot(), metricSetId, applicationName, timer.currentTimeMillis())
.forEach(jsonArray::add);
- MetricGatherer.getAdditionalMetrics().forEach(jsonArray::add);
root.set("metrics", jsonArray);
return jsonToString(root)
.getBytes(StandardCharsets.UTF_8);
@@ -198,6 +196,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
packets.add(packet);
}
}
+ packets.add(HostLifeGatherer.getHostLifePacket());
return packets;
}
diff --git a/container-core/src/test/java/com/yahoo/container/jdisc/state/HostLifeGathererTest.java b/container-core/src/test/java/com/yahoo/container/jdisc/state/HostLifeGathererTest.java
index c394630cb40..28b4aff26fe 100644
--- a/container-core/src/test/java/com/yahoo/container/jdisc/state/HostLifeGathererTest.java
+++ b/container-core/src/test/java/com/yahoo/container/jdisc/state/HostLifeGathererTest.java
@@ -4,9 +4,8 @@ package com.yahoo.container.jdisc.state;
import com.fasterxml.jackson.databind.JsonNode;
import org.junit.jupiter.api.Test;
-import java.nio.file.Path;
-
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
@@ -16,22 +15,10 @@ public class HostLifeGathererTest {
@Test
void host_is_alive() {
- JsonNode packet = HostLifeGatherer.getHostLifePacket(new MockFileWrapper());
+ JsonNode packet = HostLifeGatherer.getHostLifePacket();
JsonNode metrics = packet.get("metrics");
assertEquals("host_life", packet.get("application").textValue());
- assertEquals(0, packet.get("status_code").intValue());
- assertEquals("OK", packet.get("status_msg").textValue());
-
- assertEquals(123L, metrics.get("uptime").longValue());
assertEquals(1, metrics.get("alive").intValue());
-
- }
-
- static class MockFileWrapper extends FileWrapper {
-
- @Override
- long getFileAgeInSeconds(Path path) {
- return 123;
- }
+ assertTrue(packet.get("dimensions").hasNonNull("vespaVersion"));
}
}
diff --git a/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java b/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java
index 1aa4ee93ab6..ead26a0a898 100644
--- a/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java
+++ b/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java
@@ -203,7 +203,7 @@ public class MetricsPacketsHandlerTest extends StateHandlerTestBase {
}
}
""";
- assertEquals(expectedResponse, response);
+ assertTrue(response.startsWith(expectedResponse));
// With filtering
response = requestAsString("http://localhost/metrics-packets?metric-set=infrastructure");
@@ -222,7 +222,7 @@ public class MetricsPacketsHandlerTest extends StateHandlerTestBase {
}
}
""";
- assertEquals(expectedResponse, response);
+ assertTrue(response.startsWith(expectedResponse));
}
private List<JsonNode> incrementTimeAndGetJsonPackets() throws Exception {
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/NodeMetricGatherer.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/NodeMetricGatherer.java
index 3da7aef0a12..9c8a49cfce8 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/NodeMetricGatherer.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/NodeMetricGatherer.java
@@ -42,13 +42,9 @@ public class NodeMetricGatherer {
}
public List<MetricsPacket> gatherMetrics() {
- FileWrapper fileWrapper = new FileWrapper();
List<MetricsPacket.Builder> metricPacketBuilders = new ArrayList<>();
- if (SystemPollerProvider.runningOnLinux()) {
- JsonNode packet = HostLifeGatherer.getHostLifePacket(fileWrapper);
- addObjectToBuilders(metricPacketBuilders, packet);
- }
+ addObjectToBuilders(metricPacketBuilders, HostLifeGatherer.getHostLifePacket());
return metricPacketBuilders.stream()
.map(metricPacketBuilder ->