aboutsummaryrefslogtreecommitdiffstats
path: root/vespaclient-java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-04-23 09:53:50 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-04-23 09:53:50 +0200
commit4c39893e8d5d3ecf13b22f9da3d33c875aef4a6a (patch)
treeec4913b727a817efb62e573c313aa23bc91be3fd /vespaclient-java
parent4c4afce3ab48fdfca83f0a3217d0fe18431e68a7 (diff)
Remove dependency to unmaintained metrics library and stuff only used for /feed api.
Diffstat (limited to 'vespaclient-java')
-rw-r--r--vespaclient-java/src/main/java/com/yahoo/vespafeeder/BenchmarkProgressPrinter.java44
-rw-r--r--vespaclient-java/src/main/java/com/yahoo/vespafeeder/ProgressPrinter.java93
-rw-r--r--vespaclient-java/src/test/java/com/yahoo/vespafeeder/BenchmarkProgressPrinterTest.java2
3 files changed, 31 insertions, 108 deletions
diff --git a/vespaclient-java/src/main/java/com/yahoo/vespafeeder/BenchmarkProgressPrinter.java b/vespaclient-java/src/main/java/com/yahoo/vespafeeder/BenchmarkProgressPrinter.java
index 80c7ccb113f..66934b35adc 100644
--- a/vespaclient-java/src/main/java/com/yahoo/vespafeeder/BenchmarkProgressPrinter.java
+++ b/vespaclient-java/src/main/java/com/yahoo/vespafeeder/BenchmarkProgressPrinter.java
@@ -4,9 +4,6 @@ package com.yahoo.vespafeeder;
import com.yahoo.clientmetrics.MessageTypeMetricSet;
import com.yahoo.clientmetrics.RouteMetricSet;
import com.yahoo.concurrent.Timer;
-import com.yahoo.metrics.Metric;
-import com.yahoo.metrics.MetricSet;
-import com.yahoo.metrics.MetricVisitor;
import java.io.PrintStream;
@@ -24,51 +21,22 @@ public class BenchmarkProgressPrinter implements RouteMetricSet.ProgressCallback
this.startTime = timer.milliTime();
}
- class PrintVisitor extends MetricVisitor {
- private final PrintStream out;
-
- PrintVisitor(PrintStream out) {
- this.out = out;
- }
-
- @Override
- public boolean visitMetricSet(MetricSet set, boolean autoGenerated) {
- if (set instanceof MessageTypeMetricSet && set.getName().equals("total")) {
- Metric m = set.getMetric("latency");
- Metric count = set.getMetric("count");
- Metric err = set.getMetric("errors.total");
-
- long okCount = 0, errCount = 0, minLatency = 0, maxLatency = 0, avgLatency = 0;
-
- if (m != null) {
- minLatency = m.getLongValue("min");
- maxLatency = m.getLongValue("max");
- avgLatency = m.getLongValue("average");
- }
- if (count != null) {
- okCount = count.getLongValue("count");
- }
-
- if (err != null) {
- errCount = err.getLongValue("count");
- }
- long timeUsed = timer.milliTime() - startTime;
- out.println(timeUsed + ", " + okCount + ", " + errCount + ", " + minLatency + ", " + maxLatency + ", " + avgLatency);
- }
- return true;
+ private void printMetrics(PrintStream out, RouteMetricSet metrics) {
+ for (MessageTypeMetricSet m : metrics.getMetrics().values()) {
+ long timeUsed = timer.milliTime() - startTime;
+ out.println(timeUsed + ", " + m.count + ", " + m.errorCount + ", " + m.latency_min + ", " + m.latency_max + ", " + m.latency_total/Long.max(1L, m.count));
}
}
@Override
public void onProgress(RouteMetricSet metrics) {
- //metrics.visit(new PrintVisitor(output), false);
}
@Override
public void done(RouteMetricSet metrics) {
try {
- output.println("# Time used, num ok, num error, min latency, max latency, average latency");
- metrics.visit(new PrintVisitor(output), false);
+ output.println("# Time used, num ok, num error, min latency, max latency, average latency");
+ printMetrics(output, metrics);
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/vespaclient-java/src/main/java/com/yahoo/vespafeeder/ProgressPrinter.java b/vespaclient-java/src/main/java/com/yahoo/vespafeeder/ProgressPrinter.java
index 3b1ab38737d..84fe1691e4b 100644
--- a/vespaclient-java/src/main/java/com/yahoo/vespafeeder/ProgressPrinter.java
+++ b/vespaclient-java/src/main/java/com/yahoo/vespafeeder/ProgressPrinter.java
@@ -4,12 +4,7 @@ package com.yahoo.vespafeeder;
import com.yahoo.clientmetrics.MessageTypeMetricSet;
import com.yahoo.clientmetrics.RouteMetricSet;
import com.yahoo.concurrent.Timer;
-import com.yahoo.metrics.Metric;
-import com.yahoo.metrics.MetricSet;
-import com.yahoo.metrics.MetricVisitor;
-import com.yahoo.metrics.SumMetric;
-import java.io.IOException;
import java.io.PrintStream;
import java.math.RoundingMode;
import java.text.NumberFormat;
@@ -24,8 +19,16 @@ public class ProgressPrinter implements RouteMetricSet.ProgressCallback {
private long lastVerboseProgress = 0;
final Timer timer;
final PrintStream output;
+ final NumberFormat format;
public ProgressPrinter(Timer timer, PrintStream output) {
+ format = NumberFormat.getNumberInstance(Locale.US);
+ format.setMaximumFractionDigits(2);
+ format.setMinimumFractionDigits(2);
+ format.setMinimumIntegerDigits(1);
+ format.setParseIntegerOnly(false);
+ format.setRoundingMode(RoundingMode.HALF_UP);
+ format.setGroupingUsed(false);
this.timer = timer;
this.output = output;
@@ -34,58 +37,15 @@ public class ProgressPrinter implements RouteMetricSet.ProgressCallback {
lastVerboseProgress = startTime;
}
- class PrintVisitor extends MetricVisitor {
- final PrintStream out;
- final NumberFormat format;
-
- PrintVisitor(PrintStream out) {
- this.out = out;
- format = NumberFormat.getNumberInstance(Locale.US);
- format.setMaximumFractionDigits(2);
- format.setMinimumFractionDigits(2);
- format.setMinimumIntegerDigits(1);
- format.setParseIntegerOnly(false);
- format.setRoundingMode(RoundingMode.HALF_UP);
- format.setGroupingUsed(false);
- }
-
- @Override
- public boolean visitMetricSet(MetricSet set, boolean autoGenerated) {
- if (set instanceof MessageTypeMetricSet && !set.getName().equals("total")) {
- Metric m = set.getMetric("latency");
- Metric count = set.getMetric("count");
- Metric err = set.getMetric("errors.total");
-
- long okCount = 0, errCount = 0, ignored = 0;
- long minLatency = 0, maxLatency = 0, avgLatency = 0;
-
- if (m != null) {
- minLatency = m.getLongValue("min");
- maxLatency = m.getLongValue("max");
- avgLatency = m.getLongValue("average");
- }
- if (count != null) {
- okCount = count.getLongValue("count");
- }
- Metric ignoredMetric = set.getMetric("ignored");
- if (ignoredMetric != null) {
- ignored = ignoredMetric.getLongValue("count");
- }
-
- if (err != null) {
- errCount = err.getLongValue("count");
- }
-
- long timeSinceStart = timer.milliTime() - startTime;
-
- out.println(((MessageTypeMetricSet)set).getMessageName() + ":\t" +
- "ok: " + okCount +
- " msgs/sec: " + format.format((double)okCount * 1000 / timeSinceStart) +
- " failed: " + errCount +
- " ignored: " + ignored +
- " latency(min, max, avg): " + minLatency + ", " + maxLatency + ", " + avgLatency);
- }
- return true;
+ private void printMetrics(PrintStream out, RouteMetricSet metrics) {
+ for (MessageTypeMetricSet m : metrics.getMetrics().values()) {
+ long timeSinceStart = timer.milliTime() - startTime;
+ out.println(m.getMessageName() + ":\t" +
+ "ok: " + m.count +
+ " msgs/sec: " + format.format((double)m.count * 1000 / timeSinceStart) +
+ " failed: " + m.errorCount +
+ " ignored: " + m.ignored +
+ " latency(min, max, avg): " + m.latency_min + ", " + m.latency_max + ", " + m.latency_total/Long.max(1L, m.count));
}
}
@@ -98,25 +58,20 @@ public class ProgressPrinter implements RouteMetricSet.ProgressCallback {
return dashes;
}
- public synchronized void renderStatusText(RouteMetricSet metrics, PrintStream stream) throws IOException {
- String headline = "Messages sent to vespa (route " + metrics.getName() + ") :";
+ public synchronized void renderStatusText(RouteMetricSet metrics, PrintStream stream) {
+ String headline = "Messages sent to vespa (route " + metrics.getRoute() + ") :";
stream.println(headline);
stream.println(getDashes(headline.length()));
- metrics.visit(new PrintVisitor(stream), false);
+ printMetrics(stream, metrics);
}
public long getOkMessageCount(RouteMetricSet metrics) {
- SumMetric sum = (SumMetric)metrics.getMetric("total");
-
- MetricSet ms = (MetricSet)sum.generateSum();
- if (ms != null) {
- Metric latency = ms.getMetric("latency");
- if (latency != null) {
- return latency.getLongValue("count");
- }
+ long count = 0;
+ for (MessageTypeMetricSet m : metrics.getMetrics().values()) {
+ count += m.count;
}
- return 0;
+ return count;
}
@Override
diff --git a/vespaclient-java/src/test/java/com/yahoo/vespafeeder/BenchmarkProgressPrinterTest.java b/vespaclient-java/src/test/java/com/yahoo/vespafeeder/BenchmarkProgressPrinterTest.java
index 69372e5b1f7..5545ffb7bd7 100644
--- a/vespaclient-java/src/test/java/com/yahoo/vespafeeder/BenchmarkProgressPrinterTest.java
+++ b/vespaclient-java/src/test/java/com/yahoo/vespafeeder/BenchmarkProgressPrinterTest.java
@@ -71,7 +71,7 @@ public class BenchmarkProgressPrinterTest {
String val = output.toString().split("\n")[1];
- String correctPattern = "62000,\\s*3,\\s*2,\\s*\\d+,\\s*\\d+,\\s*\\d+$";
+ String correctPattern = "62000, \\d+, \\d+, \\d+, \\d+, \\d+$";
assertTrue("Value '" + val + "' does not match pattern '" + correctPattern + "'", val.matches(correctPattern));
}