From d905c35254e8dd89521f50e5b3b1d157b9d00d2f Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Tue, 27 Apr 2021 15:27:21 -0500 Subject: [PATCH] base exception metrics on name only --- .../cql/errorhandling/NBCycleErrorHandler.java | 4 ++-- .../cql/errorhandling/NBCycleErrorHandler.java | 4 ++-- .../dsegraph/errorhandling/GraphErrorHandler.java | 4 ++-- .../nosqlbench/activitytype/jdbc/impl/JDBCAction.java | 2 +- .../engine/api/metrics/ExceptionCountMetrics.java | 10 +++++----- .../engine/api/metrics/ExceptionHistoMetrics.java | 10 +++++----- .../engine/api/metrics/ExceptionMeterMetrics.java | 10 +++++----- .../engine/api/metrics/ExceptionTimerMetrics.java | 10 +++++----- 8 files changed, 27 insertions(+), 27 deletions(-) diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/NBCycleErrorHandler.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/NBCycleErrorHandler.java index fc2549c9a..189fe6a2a 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/NBCycleErrorHandler.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/NBCycleErrorHandler.java @@ -80,10 +80,10 @@ public class NBCycleErrorHandler implements CycleErrorHandler, Counter> counters = new ConcurrentHashMap<>(); + private final ConcurrentHashMap counters = new ConcurrentHashMap<>(); private final ActivityDef activityDef; public ExceptionCountMetrics(ActivityDef activityDef) { this.activityDef = activityDef; } - public void count(Throwable e) { - Counter c = counters.get(e.getClass()); + public void count(String name) { + Counter c = counters.get(name); if (c == null) { synchronized (counters) { c = counters.computeIfAbsent( - e.getClass(), - k -> ActivityMetrics.counter(activityDef, "errorcounts." + e.getClass().getSimpleName()) + name, + k -> ActivityMetrics.counter(activityDef, "errorcounts." + name) ); } } diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionHistoMetrics.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionHistoMetrics.java index 20a8ca841..d29f9d0e1 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionHistoMetrics.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionHistoMetrics.java @@ -30,20 +30,20 @@ import java.util.concurrent.ConcurrentHashMap; * from each type of error you want to track. */ public class ExceptionHistoMetrics { - private final ConcurrentHashMap, Histogram> histos = new ConcurrentHashMap<>(); + private final ConcurrentHashMap histos = new ConcurrentHashMap<>(); private final ActivityDef activityDef; public ExceptionHistoMetrics(ActivityDef activityDef) { this.activityDef = activityDef; } - public void update(Throwable e, long magnitude) { - Histogram h = histos.get(e.getClass()); + public void update(String name, long magnitude) { + Histogram h = histos.get(name); if (h == null) { synchronized (histos) { h = histos.computeIfAbsent( - e.getClass(), - k -> ActivityMetrics.histogram(activityDef, "errorhistos." + e.getClass().getSimpleName()) + name, + k -> ActivityMetrics.histogram(activityDef, "errorhistos." + name) ); } } diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionMeterMetrics.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionMeterMetrics.java index 2d9940b2f..1c21593da 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionMeterMetrics.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionMeterMetrics.java @@ -28,20 +28,20 @@ import java.util.concurrent.ConcurrentHashMap; * Use this to provide exception metering in a uniform way. */ public class ExceptionMeterMetrics { - private final ConcurrentHashMap, Meter> meters = new ConcurrentHashMap<>(); + private final ConcurrentHashMap meters = new ConcurrentHashMap<>(); private final ActivityDef activityDef; public ExceptionMeterMetrics(ActivityDef activityDef) { this.activityDef = activityDef; } - public void mark(Throwable t) { - Meter c = meters.get(t.getClass()); + public void mark(String name) { + Meter c = meters.get(name); if (c == null) { synchronized (meters) { c = meters.computeIfAbsent( - t.getClass(), - k -> ActivityMetrics.meter(activityDef, "exceptions." + t.getClass().getSimpleName()) + name, + k -> ActivityMetrics.meter(activityDef, "exceptions." + name) ); } } diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionTimerMetrics.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionTimerMetrics.java index 9d7c7ddfd..4f2bfa0e5 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionTimerMetrics.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ExceptionTimerMetrics.java @@ -29,20 +29,20 @@ import java.util.concurrent.TimeUnit; * Use this to provide exception metering in a uniform way. */ public class ExceptionTimerMetrics { - private final ConcurrentHashMap, Timer> timers = new ConcurrentHashMap<>(); + private final ConcurrentHashMap timers = new ConcurrentHashMap<>(); private final ActivityDef activityDef; public ExceptionTimerMetrics(ActivityDef activityDef) { this.activityDef = activityDef; } - public void update(Throwable throwable, long nanosDuration) { - Timer timer = timers.get(throwable.getClass()); + public void update(String name, long nanosDuration) { + Timer timer = timers.get(name); if (timer == null) { synchronized (timers) { timer = timers.computeIfAbsent( - throwable.getClass(), - k -> ActivityMetrics.timer(activityDef, "exceptions." + throwable.getClass().getSimpleName()) + name, + k -> ActivityMetrics.timer(activityDef, "exceptions." + name) ); } }