diff options
Diffstat (limited to 'vespaclient-java/src/main/java')
-rw-r--r-- | vespaclient-java/src/main/java/com/yahoo/vespafeeder/BenchmarkProgressPrinter.java | 44 | ||||
-rw-r--r-- | vespaclient-java/src/main/java/com/yahoo/vespafeeder/ProgressPrinter.java | 93 |
2 files changed, 30 insertions, 107 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 |