diff options
author | gjoranv <gjoranv@gmail.com> | 2022-10-21 00:33:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-21 00:33:59 +0200 |
commit | dc5769508b3ad653edcb4431b9d0c25271c36778 (patch) | |
tree | bac52dd4d18b780949ca97cc6bd277dd1e7ec730 /config-model | |
parent | df755a72c9251e1725cf4e0d0fea05ce0dfef838 (diff) | |
parent | c8761688fdb26538484b5a9bcd5ce53608a6ce8a (diff) |
Merge pull request #24521 from vespa-engine/olaa/add-app-cluster-dimension
Add deploymentCluster dimension
Diffstat (limited to 'config-model')
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 |