summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-11-30 14:31:26 +0100
committerJon Bratseth <bratseth@gmail.com>2020-11-30 14:31:26 +0100
commit4765de9be3717b0dcdc08deac520b7fd7f4f9dca (patch)
tree18955ff7a4a3167b91107417ec4f5672c9849a38 /node-repository
parent7ad2fca1417f807ebd81a716a2fbfdc458397927 (diff)
Add temporary additional information
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java6
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java14
2 files changed, 19 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java
index 7e73b561cd0..023eb5860ee 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java
@@ -71,7 +71,11 @@ public class Autoscaler {
int measurementsPerNode = clusterTimeseries.measurementsPerNode();
if (measurementsPerNode < minimumMeasurementsPerNode(clusterType))
return Advice.none("Collecting more data before making new scaling decisions" +
- ": Has " + measurementsPerNode + " data points per node");
+ ": Has " + measurementsPerNode + " data points per node" +
+ "(all: " + clusterTimeseries.measurementCount +
+ ", without stale: " + clusterTimeseries.measurementCountWithoutStale +
+ ", without out of service: " + clusterTimeseries.measurementCountWithoutStaleOutOfService +
+ ", without unstable: " + clusterTimeseries.measurementCountWithoutStaleOutOfServiceUnstable);
int nodesMeasured = clusterTimeseries.nodesMeasured();
if (nodesMeasured != clusterNodes.size())
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java
index db45a364d18..1983162f121 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java
@@ -23,6 +23,11 @@ public class ClusterTimeseries {
private final List<Node> clusterNodes;
+ final int measurementCount;
+ final int measurementCountWithoutStale;
+ final int measurementCountWithoutStaleOutOfService;
+ final int measurementCountWithoutStaleOutOfServiceUnstable;
+
/** The measurements for all hosts in this snapshot */
private final List<NodeTimeseries> nodeTimeseries;
@@ -32,9 +37,18 @@ public class ClusterTimeseries {
var timeseries = db.getNodeTimeseries(nodeRepository.clock().instant().minus(Autoscaler.scalingWindow(clusterType)),
clusterNodes.stream().map(Node::hostname).collect(Collectors.toSet()));
Map<String, Instant> startTimePerNode = metricStartTimes(cluster, clusterNodes, timeseries, nodeRepository);
+
+ measurementCount = timeseries.stream().mapToInt(m -> m.size()).sum();
+
timeseries = filterStale(timeseries, startTimePerNode);
+ measurementCountWithoutStale = timeseries.stream().mapToInt(m -> m.size()).sum();
+
timeseries = filter(timeseries, snapshot -> snapshot.inService());
+ measurementCountWithoutStaleOutOfService = timeseries.stream().mapToInt(m -> m.size()).sum();
+
timeseries = filter(timeseries, snapshot -> snapshot.stable());
+ measurementCountWithoutStaleOutOfServiceUnstable = timeseries.stream().mapToInt(m -> m.size()).sum();
+
this.nodeTimeseries = timeseries;
}