From 16dd1ac5103255d7c8da213a57f86525d757ab58 Mon Sep 17 00:00:00 2001 From: Øyvind Grønnesby Date: Tue, 16 Jul 2019 14:25:44 +0200 Subject: Remove ClusterMetrics from Deployment and LockedApplication --- .../vespa/hosted/controller/LockedApplication.java | 9 +------- .../hosted/controller/application/Deployment.java | 24 +++++-------------- .../persistence/ApplicationSerializer.java | 27 +--------------------- .../persistence/ApplicationSerializerTest.java | 2 +- 4 files changed, 9 insertions(+), 53 deletions(-) (limited to 'controller-server') diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java index 1e032ab25ea..40ae754d051 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java @@ -162,8 +162,7 @@ public class LockedApplication { previousDeployment.clusterUtils(), previousDeployment.clusterInfo(), previousDeployment.metrics().with(warnings), - previousDeployment.activity(), - previousDeployment.clusterMetrics()); + previousDeployment.activity()); return with(newDeployment); } @@ -275,12 +274,6 @@ public class LockedApplication { metrics, pemDeployKey, rotations, rotationStatus, applicationCertificate); } - public LockedApplication with(ZoneId zoneId, List clusterMetrics) { - Deployment deployment = deployments.get(zoneId); - if (deployment == null) return this; // No longer deployed in this zone. - return with(deployment.withClusterMetrics(clusterMetrics)); - } - public LockedApplication withApplicationCertificate(Optional applicationCertificate) { return new LockedApplication(lock, id, createdAt, deploymentSpec, validationOverrides, deployments, deploymentJobs, change, outstandingChange, ownershipIssueId, owner, majorVersion, diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Deployment.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Deployment.java index 8345bea57c8..9ab31be96e7 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Deployment.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Deployment.java @@ -31,18 +31,16 @@ public class Deployment { private final Map clusterInfo; private final DeploymentMetrics metrics; private final DeploymentActivity activity; - private final List clusterMetrics; public Deployment(ZoneId zone, ApplicationVersion applicationVersion, Version version, Instant deployTime) { this(zone, applicationVersion, version, deployTime, Collections.emptyMap(), Collections.emptyMap(), - DeploymentMetrics.none, DeploymentActivity.none, Collections.emptyList()); + DeploymentMetrics.none, DeploymentActivity.none); } public Deployment(ZoneId zone, ApplicationVersion applicationVersion, Version version, Instant deployTime, Map clusterUtilization, Map clusterInfo, DeploymentMetrics metrics, - DeploymentActivity activity, - List clusterMetrics) { + DeploymentActivity activity) { this.zone = Objects.requireNonNull(zone, "zone cannot be null"); this.applicationVersion = Objects.requireNonNull(applicationVersion, "applicationVersion cannot be null"); this.version = Objects.requireNonNull(version, "version cannot be null"); @@ -51,7 +49,6 @@ public class Deployment { this.clusterInfo = ImmutableMap.copyOf(Objects.requireNonNull(clusterInfo, "clusterInfo cannot be null")); this.metrics = Objects.requireNonNull(metrics, "deploymentMetrics cannot be null"); this.activity = Objects.requireNonNull(activity, "activity cannot be null"); - this.clusterMetrics = Objects.requireNonNull(clusterMetrics, "cluster metrics cannot be null"); } /** Returns the zone this was deployed to */ @@ -84,33 +81,24 @@ public class Deployment { return clusterUtilization; } - public List clusterMetrics() { - return clusterMetrics; - } - public Deployment recordActivityAt(Instant instant) { return new Deployment(zone, applicationVersion, version, deployTime, clusterUtilization, clusterInfo, metrics, - activity.recordAt(instant, metrics), clusterMetrics); + activity.recordAt(instant, metrics)); } public Deployment withClusterUtils(Map clusterUtilization) { return new Deployment(zone, applicationVersion, version, deployTime, clusterUtilization, clusterInfo, metrics, - activity, clusterMetrics); + activity); } public Deployment withClusterInfo(Map newClusterInfo) { return new Deployment(zone, applicationVersion, version, deployTime, clusterUtilization, newClusterInfo, metrics, - activity, clusterMetrics); + activity); } public Deployment withMetrics(DeploymentMetrics metrics) { return new Deployment(zone, applicationVersion, version, deployTime, clusterUtilization, clusterInfo, metrics, - activity, clusterMetrics); - } - - public Deployment withClusterMetrics(List newClusterMetrics) { - return new Deployment(zone, applicationVersion, version, deployTime, clusterUtilization, clusterInfo, metrics, - activity, newClusterMetrics); + activity); } /** diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java index 74cea37f3a7..1d534f4c7f1 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java @@ -208,7 +208,6 @@ public class ApplicationSerializer { deployment.activity().lastWritten().ifPresent(instant -> object.setLong(lastWrittenField, instant.toEpochMilli())); deployment.activity().lastQueriesPerSecond().ifPresent(value -> object.setDouble(lastQueriesPerSecondField, value)); deployment.activity().lastWritesPerSecond().ifPresent(value -> object.setDouble(lastWritesPerSecondField, value)); - clusterMetricsToSlime(object.setObject(clusterMetricsField), deployment.clusterMetrics()); } private void deploymentMetricsToSlime(DeploymentMetrics metrics, Cursor object) { @@ -335,29 +334,6 @@ public class ApplicationSerializer { }); } - private void clusterMetricsToSlime(Cursor parent, List clusterMetricsList) { - Cursor metricsArray = parent.setArray("clusterMetrics"); - for (ClusterMetrics clusterMetrics : clusterMetricsList) { - Cursor cluster = metricsArray.addObject(); - cluster.setString("clusterId", clusterMetrics.getClusterId()); - cluster.setString("clusterType", clusterMetrics.getClusterType().name()); - Cursor metrics = cluster.setObject("metrics"); - clusterMetrics.getMetrics().entrySet().stream().forEach(entry -> metrics.setDouble(entry.getKey(), entry.getValue())); - } - } - - private List clusterMetricsFromSlime(Inspector inspector) { - List clusterMetricsList = new ArrayList<>(); - inspector.traverse((ArrayTraverser) (i, cluster) -> { - String clusterId = cluster.field("clusterId").asString(); - ClusterMetrics.ClusterType clusterType = ClusterMetrics.ClusterType.valueOf(cluster.field("clusterType").asString()); - ClusterMetrics clusterMetrics = new ClusterMetrics(clusterId, clusterType); - cluster.field("metrics").traverse((ObjectTraverser) (name, value) -> clusterMetrics.addMetric(name, value.asDouble())); - clusterMetricsList.add(clusterMetrics); - }); - return clusterMetricsList; - } - private void rotationsToSlime(List rotations, Cursor parent, String fieldName) { final var rotationsArray = parent.setArray(fieldName); rotations.forEach(rot -> rotationsArray.addString(rot.rotationId().asString())); @@ -418,8 +394,7 @@ public class ApplicationSerializer { DeploymentActivity.create(optionalInstant(deploymentObject.field(lastQueriedField)), optionalInstant(deploymentObject.field(lastWrittenField)), optionalDouble(deploymentObject.field(lastQueriesPerSecondField)), - optionalDouble(deploymentObject.field(lastWritesPerSecondField))), - clusterMetricsFromSlime(deploymentObject.field(clusterMetricsField))); + optionalDouble(deploymentObject.field(lastWritesPerSecondField)))); } private DeploymentMetrics deploymentMetricsFromSlime(Inspector object) { diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java index 8befff9a875..ea992b2da79 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java @@ -88,7 +88,7 @@ public class ApplicationSerializerTest { Optional.of(Instant.now().truncatedTo(ChronoUnit.MILLIS)), Map.of(DeploymentMetrics.Warning.all, 3)), DeploymentActivity.create(Optional.of(activityAt), Optional.of(activityAt), - OptionalDouble.of(200), OptionalDouble.of(10)), Collections.emptyList())); + OptionalDouble.of(200), OptionalDouble.of(10)))); OptionalLong projectId = OptionalLong.of(123L); List statusList = new ArrayList<>(); -- cgit v1.2.3