diff options
Diffstat (limited to 'metrics-proxy/src/main/java')
6 files changed, 4 insertions, 60 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasHandler.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasHandler.java index eb635d8c641..ef23a5ad070 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasHandler.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasHandler.java @@ -52,7 +52,7 @@ public class YamasHandler extends HttpHandlerBase { NodeDimensions nodeDimensions) { super(executor); valuesFetcher = new ValuesFetcher(metricsManager, vespaServices, metricsConsumers); - this.nodeMetricGatherer = new NodeMetricGatherer(metricsManager, vespaServices, applicationDimensions, nodeDimensions); + this.nodeMetricGatherer = new NodeMetricGatherer(metricsManager, applicationDimensions, nodeDimensions); this.metricsConsumers = metricsConsumers; } diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java index 49f5036b3fd..6c94de49140 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java @@ -29,7 +29,7 @@ public class YamasResponse extends HttpResponse { @Override public void render(OutputStream outputStream) throws IOException { - YamasJsonUtil.toJson(metrics, outputStream, true); + YamasJsonUtil.toJson(metrics, outputStream, false); } } diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java index 13b2a8d859c..5086846293b 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java @@ -107,7 +107,7 @@ public class YamasJsonUtil { for (int i = 0; i < metrics.size() - 1; i++) { toJson(metrics.get(i), generator, addStatus); } - toJson(metrics.get(metrics.size() - 1), generator, true); + toJson(metrics.get(metrics.size() - 1), generator, addStatus); generator.writeEndArray(); generator.writeEndObject(); generator.close(); diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java index 5fe9af24c3d..c2d05a8636e 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java @@ -57,14 +57,6 @@ public class PrometheusUtil { sampleList.add(new Sample(metricName, labels, labelValues, metric.getValue().doubleValue(), packet.timestamp * 1000)); } } - // convert status message to 0,1 metric - var firstPacket = packets.get(0); - String statusMetricName = serviceName + "_status"; - // MetricsPacket status 0 means OK, but it's the opposite in Prometheus. - double statusMetricValue = (firstPacket.statusCode == 0) ? 1.0 : 0.0; - List<Sample> sampleList = singletonList(new Sample(statusMetricName, emptyList(), emptyList(), - statusMetricValue, firstPacket.timestamp * 1000)); - metricFamilySamples.add(new MetricFamilySamples(statusMetricName, Collector.Type.UNTYPED, "status of service", sampleList)); })); return new PrometheusModel(metricFamilySamples); 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 02785674103..3da7aef0a12 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 @@ -10,10 +10,8 @@ import ai.vespa.metricsproxy.metric.model.MetricId; import ai.vespa.metricsproxy.metric.model.MetricsPacket; import ai.vespa.metricsproxy.metric.model.ServiceId; import ai.vespa.metricsproxy.service.SystemPollerProvider; -import ai.vespa.metricsproxy.service.VespaServices; import com.fasterxml.jackson.databind.JsonNode; import com.yahoo.component.annotation.Inject; -import com.yahoo.container.jdisc.state.CoredumpGatherer; import com.yahoo.container.jdisc.state.FileWrapper; import com.yahoo.container.jdisc.state.HostLifeGatherer; @@ -21,9 +19,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; - -import static ai.vespa.metricsproxy.node.ServiceHealthGatherer.gatherServiceHealthMetrics; /** * Fetches miscellaneous system metrics for node, including @@ -35,15 +30,13 @@ import static ai.vespa.metricsproxy.node.ServiceHealthGatherer.gatherServiceHeal */ public class NodeMetricGatherer { - private final VespaServices vespaServices; private final ApplicationDimensions applicationDimensions; private final NodeDimensions nodeDimensions; private final MetricsManager metricsManager; @Inject - public NodeMetricGatherer(MetricsManager metricsManager, VespaServices vespaServices, ApplicationDimensions applicationDimensions, NodeDimensions nodeDimensions) { + public NodeMetricGatherer(MetricsManager metricsManager, ApplicationDimensions applicationDimensions, NodeDimensions nodeDimensions) { this.metricsManager = metricsManager; - this.vespaServices = vespaServices; this.applicationDimensions = applicationDimensions; this.nodeDimensions = nodeDimensions; } @@ -51,10 +44,7 @@ public class NodeMetricGatherer { public List<MetricsPacket> gatherMetrics() { FileWrapper fileWrapper = new FileWrapper(); List<MetricsPacket.Builder> metricPacketBuilders = new ArrayList<>(); - metricPacketBuilders.addAll(gatherServiceHealthMetrics(vespaServices)); - JsonNode coredumpPacket = CoredumpGatherer.gatherCoredumpMetrics(fileWrapper); - addObjectToBuilders(metricPacketBuilders, coredumpPacket); if (SystemPollerProvider.runningOnLinux()) { JsonNode packet = HostLifeGatherer.getHostLifePacket(fileWrapper); addObjectToBuilders(metricPacketBuilders, packet); @@ -71,8 +61,6 @@ public class NodeMetricGatherer { protected static void addObjectToBuilders(List<MetricsPacket.Builder> builders, JsonNode object) { MetricsPacket.Builder builder = new MetricsPacket.Builder(ServiceId.toServiceId(object.get("application").textValue())); builder.timestamp(object.get("timestamp").longValue()); - if (object.has("status_code")) builder.statusCode(object.get("status_code").intValue()); - if (object.has("status_msg")) builder.statusMessage(object.get("status_msg").textValue()); if (object.has("metrics")) { JsonNode metrics = object.get("metrics"); Iterator<?> keys = metrics.fieldNames(); diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/ServiceHealthGatherer.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/ServiceHealthGatherer.java deleted file mode 100644 index d09f2aff3e5..00000000000 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/ServiceHealthGatherer.java +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.metricsproxy.node; - -import ai.vespa.metricsproxy.metric.HealthMetric; -import ai.vespa.metricsproxy.metric.model.ConsumerId; -import ai.vespa.metricsproxy.metric.model.DimensionId; -import ai.vespa.metricsproxy.metric.model.MetricsPacket; -import ai.vespa.metricsproxy.service.VespaServices; - -import java.time.Instant; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -/** - * @author olaa - */ -public class ServiceHealthGatherer { - - protected static List<MetricsPacket.Builder> gatherServiceHealthMetrics(VespaServices vespaServices) { - return vespaServices.getVespaServices() - .stream() - .map(service -> { - HealthMetric healt = service.getHealth(); - return new MetricsPacket.Builder(service.getMonitoringName()) - .timestamp(Instant.now().getEpochSecond()) - .statusMessage(healt.getStatus().status) - .statusCode(healt.getStatus().code) - .putDimension(DimensionId.toDimensionId("instance"), service.getInstanceName()) - .putDimension(DimensionId.toDimensionId("metrictype"), "health") - .addConsumers(Set.of(ConsumerId.toConsumerId("Vespa"))); - }) - .toList(); - } - -} |