summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2022-10-21 00:33:59 +0200
committerGitHub <noreply@github.com>2022-10-21 00:33:59 +0200
commitdc5769508b3ad653edcb4431b9d0c25271c36778 (patch)
treebac52dd4d18b780949ca97cc6bd277dd1e7ec730 /config-model
parentdf755a72c9251e1725cf4e0d0fea05ce0dfef838 (diff)
parentc8761688fdb26538484b5a9bcd5ce53608a6ce8a (diff)
Merge pull request #24521 from vespa-engine/olaa/add-app-cluster-dimension
Add deploymentCluster dimension
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java11
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java1
2 files changed, 12 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java
index 03bdf4eb12a..12bce7a72a4 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java
@@ -14,8 +14,10 @@ import ai.vespa.metricsproxy.service.VespaServicesConfig;
import com.yahoo.config.model.api.ModelContext;
import com.yahoo.config.model.api.container.ContainerServiceType;
import com.yahoo.config.model.deploy.DeployState;
+import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.ClusterSpec;
+import com.yahoo.config.provision.Zone;
import com.yahoo.search.config.QrStartConfig;
import com.yahoo.vespa.model.HostResource;
import com.yahoo.vespa.model.PortAllocBridge;
@@ -47,6 +49,8 @@ public class MetricsProxyContainer extends Container implements
final boolean isHostedVespa;
private final Optional<ClusterMembership> clusterMembership;
private final MetricsProxyContainerCluster cluster;
+ private final ApplicationId applicationId;
+ private final Zone zone;
private final String jvmGCOptions;
public MetricsProxyContainer(MetricsProxyContainerCluster cluster, HostResource host, int index, DeployState deployState) {
@@ -54,6 +58,8 @@ public class MetricsProxyContainer extends Container implements
this.isHostedVespa = deployState.isHosted();
this.clusterMembership = host.spec().membership();
this.cluster = cluster;
+ this.applicationId = deployState.getApplicationPackage().getApplicationId();
+ this.zone = deployState.zone();
this.jvmGCOptions = deployState.getProperties().jvmGCOptions(clusterMembership.map(membership -> membership.cluster().type()));
setProp("clustertype", "admin");
setProp("index", String.valueOf(index));
@@ -139,6 +145,7 @@ public class MetricsProxyContainer extends Container implements
Map<String, String> dimensions = new LinkedHashMap<>();
if (isHostedVespa) {
getHostResource().spec().membership().map(ClusterMembership::cluster).ifPresent(cluster -> {
+ dimensions.put(PublicDimensions.DEPLOYMENT_CLUSTER, getDeploymentCluster(cluster));
dimensions.put(PublicDimensions.INTERNAL_CLUSTER_TYPE, cluster.type().name());
dimensions.put(PublicDimensions.INTERNAL_CLUSTER_ID, cluster.id().value());
cluster.group().ifPresent(group -> dimensions.put(PublicDimensions.GROUP_ID, group.toString()));
@@ -180,6 +187,10 @@ public class MetricsProxyContainer extends Container implements
addSimpleComponent(componentClass.getName(), null, METRICS_PROXY_BUNDLE_NAME);
}
+ private String getDeploymentCluster(ClusterSpec cluster) {
+ return String.join(".", applicationId.toFullString(), zone.environment().value(), zone.region().value(), cluster.id().value());
+ }
+
@Override
protected String defaultPreload() {
return "";
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java
index 5394b807861..32771832f86 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java
@@ -119,6 +119,7 @@ public class MetricsProxyContainerTest {
assertEquals("content", config.dimensions(PublicDimensions.INTERNAL_CLUSTER_TYPE));
assertEquals("my-content", config.dimensions(PublicDimensions.INTERNAL_CLUSTER_ID));
+ assertEquals("default.mock-application.default.prod.default.my-content", config.dimensions(PublicDimensions.DEPLOYMENT_CLUSTER));
}
@Test