summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2021-03-03 22:17:13 +0100
committerGitHub <noreply@github.com>2021-03-03 22:17:13 +0100
commit3d63d651a198c203f130ee0b53e62f511520e3e3 (patch)
tree058b25b4f8dfef0edd7dc0483ce6d82382cbe677
parent26ba1a2c7e3882ff0649e9a6981887d4b7807f67 (diff)
parent3a117d75079f4f20839c6ecf6fe9eaed16aa2953 (diff)
Merge pull request #16774 from vespa-engine/revert-16771-revert-16753-revert-16745-bratseth/query-rate-autoscaling-metric
Revert "Revert "Revert "Add query.rate to the autoscaling metrics"""
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/AutoscalingMetrics.java3
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricSnapshot.java13
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsResponse.java8
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java33
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java9
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsDbTest.java9
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDbTest.java7
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java3
9 files changed, 29 insertions, 59 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/AutoscalingMetrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/AutoscalingMetrics.java
index 6bb3a62f234..347d0ebce6c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/AutoscalingMetrics.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/AutoscalingMetrics.java
@@ -20,8 +20,7 @@ public class AutoscalingMetrics {
"mem.util",
"disk.util",
"application_generation",
- "in_service",
- "queries.rate"));
+ "in_service"));
}
private static Set<Metric> metrics(String ... metrics) {
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricSnapshot.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricSnapshot.java
index 82812592809..d5072475cd9 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricSnapshot.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricSnapshot.java
@@ -18,11 +18,9 @@ public class MetricSnapshot implements Comparable<MetricSnapshot> {
private final long generation;
private final boolean inService;
private final boolean stable;
- private final double queryRate;
- public MetricSnapshot(Instant at, double cpu, double memory, double disk,
- long generation, boolean inService, boolean stable,
- double queryRate) {
+ public MetricSnapshot(Instant at, double cpu, double memory, double disk, long generation,
+ boolean inService, boolean stable) {
this.at = at;
this.cpu = cpu;
this.memory = memory;
@@ -30,7 +28,6 @@ public class MetricSnapshot implements Comparable<MetricSnapshot> {
this.generation = generation;
this.inService = inService;
this.stable = stable;
- this.queryRate = queryRate;
}
public Instant at() { return at; }
@@ -38,9 +35,6 @@ public class MetricSnapshot implements Comparable<MetricSnapshot> {
public double memory() { return memory; }
public double disk() { return disk; }
- /** Queries per second */
- public double queryRate() { return queryRate; }
-
/** The configuration generation at the time of this measurement, or -1 if not known */
public long generation() { return generation; }
@@ -59,8 +53,7 @@ public class MetricSnapshot implements Comparable<MetricSnapshot> {
" disk: " + disk +
" generation: " + generation +
" inService: " + inService +
- " stable: " + stable +
- " queryRate: " + queryRate;
+ " stable: " + stable;
}
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsResponse.java
index d6661b89536..341a2028f05 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsResponse.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsResponse.java
@@ -65,8 +65,7 @@ public class MetricsResponse {
Metric.disk.from(values),
(long)Metric.generation.from(values),
Metric.inService.from(values) > 0,
- clusterIsStable(node.get(), applicationNodes, nodeRepository),
- Metric.queryRate.from(values))));
+ clusterIsStable(node.get(), applicationNodes, nodeRepository))));
}
private boolean clusterIsStable(Node node, NodeList applicationNodes, NodeRepository nodeRepository) {
@@ -116,11 +115,6 @@ public class MetricsResponse {
public String metricResponseName() { return "in_service"; }
double convertValue(double metricValue) { return (float)metricValue; } // Really a boolean
double defaultValue() { return 1.0; }
- },
- queryRate { // queries per second
- public String metricResponseName() { return "queries.rate"; }
- double convertValue(double metricValue) { return (float)metricValue; }
- double defaultValue() { return 0.0; }
};
/** The name of this metric as emitted from its source */
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java
index 37e70e3539a..81401f9f743 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java
@@ -110,7 +110,6 @@ public class QuestMetricsDb extends AbstractComponent implements MetricsDb {
row.putLong(5, snapshot.getSecond().generation());
row.putBool(6, snapshot.getSecond().inService());
row.putBool(7, snapshot.getSecond().stable());
- row.putFloat(8, (float)snapshot.getSecond().queryRate());
row.append();
}
writer.commit();
@@ -184,17 +183,28 @@ public class QuestMetricsDb extends AbstractComponent implements MetricsDb {
private void ensureExists(String table) {
SqlExecutionContext context = newContext();
if (0 == engine.getStatus(context.getCairoSecurityContext(), new Path(), table)) { // table exists
- ensureTableIsUpdated(table, context);
+ ensureUpdated(table, context);
} else {
- createTable(table, context);
+ create(table, context);
}
}
- private void createTable(String table, SqlExecutionContext context) {
+ private void ensureUpdated(String table, SqlExecutionContext context) {
+ try (SqlCompiler compiler = new SqlCompiler(engine)) {
+ if (0 == engine.getStatus(context.getCairoSecurityContext(), new Path(), table)) {
+ ensureColumnExists("inService", "boolean", table, compiler, context); // TODO: Remove after December 2020
+ ensureColumnExists("stable", "boolean", table, compiler, context); // TODO: Remove after December 2020
+ }
+ } catch (SqlException e) {
+ repair(e);
+ }
+ }
+
+ private void create(String table, SqlExecutionContext context) {
try (SqlCompiler compiler = new SqlCompiler(engine)) {
compiler.compile("create table " + table +
" (hostname string, at timestamp, cpu_util float, mem_total_util float, disk_util float," +
- " application_generation long, inService boolean, stable boolean, queries_rate float)" +
+ " application_generation long, inService boolean, stable boolean)" +
" timestamp(at)" +
"PARTITION BY DAY;",
context);
@@ -206,16 +216,6 @@ public class QuestMetricsDb extends AbstractComponent implements MetricsDb {
}
}
- private void ensureTableIsUpdated(String table, SqlExecutionContext context) {
- try (SqlCompiler compiler = new SqlCompiler(engine)) {
- if (0 == engine.getStatus(context.getCairoSecurityContext(), new Path(), table)) {
- ensureColumnExists("queries_rate", "float", table, compiler, context); // TODO: Remove after March 2021
- }
- } catch (SqlException e) {
- repair(e);
- }
- }
-
private void ensureColumnExists(String column, String columnType,
String table, SqlCompiler compiler, SqlExecutionContext context) throws SqlException {
if (columnNamesOf(table, compiler, context).contains(column)) return;
@@ -272,8 +272,7 @@ public class QuestMetricsDb extends AbstractComponent implements MetricsDb {
record.getFloat(4),
record.getLong(5),
record.getBool(6),
- record.getBool(7),
- record.getFloat(8)));
+ record.getBool(7)));
}
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java
index 156542ef1d4..77c3a5209e2 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java
@@ -143,8 +143,7 @@ class AutoscalingTester {
disk,
0,
true,
- true,
- 0.0))));
+ true))));
}
}
}
@@ -175,8 +174,7 @@ class AutoscalingTester {
disk,
0,
true,
- true,
- 0.0))));
+ true))));
}
}
}
@@ -197,8 +195,7 @@ class AutoscalingTester {
disk,
generation,
inService,
- stable,
- 0.0))));
+ stable))));
}
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsDbTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsDbTest.java
index c1c94c7dd24..02d258313db 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsDbTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsDbTest.java
@@ -40,14 +40,7 @@ public class NodeMetricsDbTest {
MetricsDb db = MetricsDb.createTestInstance(tester.nodeRepository());
Collection<Pair<String, MetricSnapshot>> values = new ArrayList<>();
for (int i = 0; i < 40; i++) {
- values.add(new Pair<>(node0, new MetricSnapshot(clock.instant(),
- 0.9f,
- 0.6f,
- 0.6f,
- 0,
- true,
- false,
- 0.0)));
+ values.add(new Pair<>(node0, new MetricSnapshot(clock.instant(), 0.9f, 0.6f, 0.6f, 0, true, false)));
clock.advance(Duration.ofMinutes(120));
}
db.add(values);
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDbTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDbTest.java
index 70f9d581816..6090d2d5f34 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDbTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDbTest.java
@@ -54,7 +54,6 @@ public class QuestMetricsDbTest {
assertEquals(0.2, snapshot.memory(), delta);
assertEquals(0.4, snapshot.disk(), delta);
assertEquals(1, snapshot.generation(), delta);
- assertEquals(30, snapshot.queryRate(), delta);
// Read all from 2 hosts
List<NodeTimeseries> nodeTimeSeries2 = db.getNodeTimeseries(Duration.between(startTime, clock.instant()),
@@ -182,8 +181,7 @@ public class QuestMetricsDbTest {
i * 0.4,
i % 100,
true,
- true,
- 30.0)));
+ true)));
clock.advance(sampleRate);
}
return timeseries;
@@ -199,8 +197,7 @@ public class QuestMetricsDbTest {
i * 0.4,
i % 100,
true,
- false,
- 0.0)));
+ false)));
}
return timeseries;
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java
index 1b531fd3237..887ce158e09 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java
@@ -81,8 +81,7 @@ public class AutoscalingMaintainerTester {
disk,
generation,
true,
- true,
- 0.0))));
+ true))));
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java
index d5b7903b94c..78965f0b902 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java
@@ -131,8 +131,7 @@ public class ScalingSuggestionsMaintainerTest {
disk,
generation,
true,
- true,
- 0.0))));
+ true))));
}
}