aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com
diff options
context:
space:
mode:
authorArne H Juul <arnej27959@users.noreply.github.com>2024-06-09 12:42:50 +0200
committerGitHub <noreply@github.com>2024-06-09 12:42:50 +0200
commit88b171c56741014fcddb5479ac56f06da6a8b569 (patch)
tree8d3a6e68dec499e48fa89cc6067dfc16f733bc9e /config-model/src/main/java/com
parent2b1bcbde5b4ee7159f382d699c9a60d3a088e154 (diff)
parent397a10f8ab3e87bf0de7f4ff0608d16f9cc42770 (diff)
Merge pull request #31470 from vespa-engine/arnej/add-metric-renames
also use metricstransform processor to rename some metrics
Diffstat (limited to 'config-model/src/main/java/com')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/otel/OpenTelemetryConfigGenerator.java34
1 files changed, 31 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/otel/OpenTelemetryConfigGenerator.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/otel/OpenTelemetryConfigGenerator.java
index 3f7ca7b46a7..9875cf434aa 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/otel/OpenTelemetryConfigGenerator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/otel/OpenTelemetryConfigGenerator.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.model.admin.otel;
import ai.vespa.metricsproxy.metric.dimensions.PublicDimensions;
+import ai.vespa.metricsproxy.metric.model.prometheus.PrometheusUtil;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
@@ -11,6 +12,7 @@ import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.model.Service;
+import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer;
import java.io.ByteArrayOutputStream;
import java.nio.charset.StandardCharsets;
@@ -145,6 +147,30 @@ public class OpenTelemetryConfigGenerator {
g.writeFieldName("processors");
g.writeStartObject();
addResourceProcessor(g);
+ addRenameProcessor(g);
+ g.writeEndObject();
+ }
+ private void addRenameProcessor(JsonGenerator g) throws java.io.IOException {
+ g.writeFieldName("metricstransform/rename");
+ g.writeStartObject();
+ g.writeFieldName("transforms");
+ g.writeStartArray();
+ var metrics = MetricsConsumer.vespa9.metrics();
+ for (var metric : metrics.values()) {
+ if (! metric.name.equals(metric.outputName)) {
+ String oldName = PrometheusUtil.sanitize(metric.name);
+ String newName = PrometheusUtil.sanitize(metric.outputName);
+ addRenameAction(g, oldName, newName);
+ }
+ }
+ g.writeEndArray();
+ g.writeEndObject();
+ }
+ private void addRenameAction(JsonGenerator g, String oldName, String newName) throws java.io.IOException {
+ g.writeStartObject();
+ g.writeStringField("include", oldName);
+ g.writeStringField("action", "update");
+ g.writeStringField("new_name", newName);
g.writeEndObject();
}
private void addResourceProcessor(JsonGenerator g) throws java.io.IOException {
@@ -208,6 +234,7 @@ public class OpenTelemetryConfigGenerator {
}
g.writeFieldName("processors");
g.writeStartArray();
+ g.writeString("metricstransform/rename");
g.writeString("resource");
g.writeEndArray();
{
@@ -300,12 +327,13 @@ public class OpenTelemetryConfigGenerator {
dimvals.put("instanceType", svc.getServiceType()); // maybe "local_service_type", or remove
String cName = svc.getServicePropertyString("clustername", null);
if (cName != null) {
- // what about "clusterid" below, is it always the same?
- dimvals.put("clustername", cName);
+ // overridden by cluster membership below (if available)
+ dimvals.put(PublicDimensions.INTERNAL_CLUSTER_ID, cName);
}
String cType = svc.getServicePropertyString("clustertype", null);
if (cType != null) {
- dimvals.put("clustertype", cType);
+ // overridden by cluster membership below (if available)
+ dimvals.put(PublicDimensions.INTERNAL_CLUSTER_TYPE, cType);
}
var hostResource = svc.getHost();
if (hostResource != null) {