You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2012/12/04 21:34:25 UTC
[2/7] git commit: add 95th and 99th percentile latency reporting to
Stress patch by jbellis; reviewed by brandonwilliams for CASSANDRA-5005
add 95th and 99th percentile latency reporting to Stress
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-5005
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b475602b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b475602b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b475602b
Branch: refs/heads/cassandra-1.2
Commit: b475602be82230ad3d20da8d0b56b99f47b9d192
Parents: ae9faf0
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sun Dec 2 04:38:59 2012 +0900
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue Dec 4 14:34:01 2012 -0600
----------------------------------------------------------------------
.../src/org/apache/cassandra/stress/Session.java | 12 ++++-----
.../org/apache/cassandra/stress/StressAction.java | 19 ++++++++------
.../cassandra/stress/operations/CounterAdder.java | 5 ++-
.../cassandra/stress/operations/CounterGetter.java | 10 ++++----
.../stress/operations/CqlCounterAdder.java | 5 ++-
.../stress/operations/CqlCounterGetter.java | 6 ++--
.../stress/operations/CqlIndexedRangeSlicer.java | 5 ++-
.../cassandra/stress/operations/CqlInserter.java | 5 ++-
.../stress/operations/CqlRangeSlicer.java | 5 ++-
.../cassandra/stress/operations/CqlReader.java | 5 ++-
.../stress/operations/IndexedRangeSlicer.java | 5 ++-
.../cassandra/stress/operations/Inserter.java | 5 ++-
.../cassandra/stress/operations/MultiGetter.java | 9 ++++---
.../cassandra/stress/operations/RangeSlicer.java | 9 ++++---
.../apache/cassandra/stress/operations/Reader.java | 9 ++++---
15 files changed, 63 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/Session.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/Session.java b/tools/stress/src/org/apache/cassandra/stress/Session.java
index a0c3617..804e4e8 100644
--- a/tools/stress/src/org/apache/cassandra/stress/Session.java
+++ b/tools/stress/src/org/apache/cassandra/stress/Session.java
@@ -25,6 +25,8 @@ import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
+import com.yammer.metrics.Metrics;
+import com.yammer.metrics.core.Histogram;
import org.apache.cassandra.cli.transport.FramedTransportFactory;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.EncryptionOptions;
@@ -56,9 +58,9 @@ public class Session implements Serializable
private static InetAddress localInetAddress;
- public final AtomicInteger operations;
- public final AtomicInteger keys;
- public final AtomicLong latency;
+ public final AtomicInteger operations = new AtomicInteger();
+ public final AtomicInteger keys = new AtomicInteger();
+ public final com.yammer.metrics.core.Timer latency = Metrics.newTimer(Session.class, "latency");
private static final String SSL_TRUSTSTORE = "truststore";
private static final String SSL_TRUSTSTORE_PW = "truststore-password";
@@ -436,10 +438,6 @@ public class Session implements Serializable
mean = numDifferentKeys / 2;
sigma = numDifferentKeys * STDev;
-
- operations = new AtomicInteger();
- keys = new AtomicInteger();
- latency = new AtomicLong();
}
private TTransportFactory validateAndSetTransportFactory(String transportFactory)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/StressAction.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/StressAction.java b/tools/stress/src/org/apache/cassandra/stress/StressAction.java
index b5a7e6e..27675d1 100644
--- a/tools/stress/src/org/apache/cassandra/stress/StressAction.java
+++ b/tools/stress/src/org/apache/cassandra/stress/StressAction.java
@@ -21,6 +21,7 @@ import java.io.PrintStream;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.SynchronousQueue;
+import com.yammer.metrics.stats.Snapshot;
import org.apache.cassandra.stress.operations.*;
import org.apache.cassandra.stress.util.CassandraClient;
import org.apache.cassandra.stress.util.Operation;
@@ -50,7 +51,8 @@ public class StressAction extends Thread
public void run()
{
- long latency, oldLatency;
+ Snapshot latency;
+ long oldLatency;
int epoch, total, oldTotal, keyCount, oldKeyCount;
// creating keyspace and column families
@@ -60,7 +62,7 @@ public class StressAction extends Thread
int threadCount = client.getThreads();
Consumer[] consumers = new Consumer[threadCount];
- output.println("total,interval_op_rate,interval_key_rate,avg_latency,elapsed_time");
+ output.println("total,interval_op_rate,interval_key_rate,latency/95th/99th,elapsed_time");
int itemsPerThread = client.getKeysPerThread();
int modulo = client.getNumKeys() % threadCount;
@@ -82,7 +84,6 @@ public class StressAction extends Thread
// initialization of the values
boolean terminate = false;
- latency = 0;
epoch = total = keyCount = 0;
int interval = client.getProgressInterval();
@@ -124,21 +125,23 @@ public class StressAction extends Thread
epoch = 0;
oldTotal = total;
- oldLatency = latency;
oldKeyCount = keyCount;
total = client.operations.get();
keyCount = client.keys.get();
- latency = client.latency.get();
+ latency = client.latency.getSnapshot();
int opDelta = total - oldTotal;
int keyDelta = keyCount - oldKeyCount;
- double latencyDelta = latency - oldLatency;
long currentTimeInSeconds = (System.currentTimeMillis() - testStartTime) / 1000;
- String formattedDelta = (opDelta > 0) ? Double.toString(latencyDelta / (opDelta * 1000)) : "NaN";
- output.println(String.format("%d,%d,%d,%s,%d", total, opDelta / interval, keyDelta / interval, formattedDelta, currentTimeInSeconds));
+ output.println(String.format("%d,%d,%d,%.1f,%.1f,%.1f,%d",
+ total,
+ opDelta / interval,
+ keyDelta / interval,
+ latency.getMedian(), latency.get95thPercentile(), latency.get999thPercentile(),
+ currentTimeInSeconds));
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/CounterAdder.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CounterAdder.java b/tools/stress/src/org/apache/cassandra/stress/operations/CounterAdder.java
index 0420154..ab6ae9d 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CounterAdder.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CounterAdder.java
@@ -17,6 +17,7 @@
*/
package org.apache.cassandra.stress.operations;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
import org.apache.cassandra.stress.util.Operation;
@@ -70,7 +71,7 @@ public class CounterAdder extends Operation
? getSuperColumnsMutationMap(superColumns)
: getColumnsMutationMap(columns));
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -103,7 +104,7 @@ public class CounterAdder extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
private Map<String, List<Mutation>> getSuperColumnsMutationMap(List<CounterSuperColumn> superColumns)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/CounterGetter.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CounterGetter.java b/tools/stress/src/org/apache/cassandra/stress/operations/CounterGetter.java
index a06298d..56ef243 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CounterGetter.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CounterGetter.java
@@ -17,6 +17,7 @@
*/
package org.apache.cassandra.stress.operations;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
import org.apache.cassandra.stress.util.Operation;
@@ -67,7 +68,7 @@ public class CounterGetter extends Operation
String superColumn = 'S' + Integer.toString(j);
ColumnParent parent = new ColumnParent("SuperCounter1").setSuper_column(superColumn.getBytes());
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -101,7 +102,7 @@ public class CounterGetter extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
}
@@ -112,7 +113,7 @@ public class CounterGetter extends Operation
byte[] key = generateKey();
ByteBuffer keyBuffer = ByteBuffer.wrap(key);
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -146,7 +147,6 @@ public class CounterGetter extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
-
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterAdder.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterAdder.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterAdder.java
index 3dfd33e..e1e4e9a 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterAdder.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterAdder.java
@@ -25,6 +25,7 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Collections;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.db.ColumnFamilyType;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
@@ -71,7 +72,7 @@ public class CqlCounterAdder extends Operation
String key = String.format("%0" + session.getTotalKeysLength() + "d", index);
String formattedQuery = null;
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -121,6 +122,6 @@ public class CqlCounterAdder extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterGetter.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterGetter.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterGetter.java
index 8b5a2bd..db99d0d 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterGetter.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlCounterGetter.java
@@ -25,6 +25,7 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Collections;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.db.ColumnFamilyType;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
@@ -70,7 +71,7 @@ public class CqlCounterGetter extends Operation
byte[] key = generateKey();
String formattedQuery = null;
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -125,7 +126,6 @@ public class CqlCounterGetter extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
-
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java
index 66e626a..5a18b30 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java
@@ -26,6 +26,7 @@ import java.nio.ByteBuffer;
import java.util.Collections;
import java.util.List;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.db.ColumnFamilyType;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
@@ -74,7 +75,7 @@ public class CqlIndexedRangeSlicer extends Operation
while (received < expectedPerValue)
{
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -132,7 +133,7 @@ public class CqlIndexedRangeSlicer extends Operation
session.operations.getAndIncrement();
session.keys.getAndAdd(results.rows.size());
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java
index aedf2de..5b5c22c 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java
@@ -26,6 +26,7 @@ import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.db.ColumnFamilyType;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
@@ -96,7 +97,7 @@ public class CqlInserter extends Operation
String formattedQuery = null;
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -147,6 +148,6 @@ public class CqlInserter extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/CqlRangeSlicer.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlRangeSlicer.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlRangeSlicer.java
index 5a59110..0e27f67 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlRangeSlicer.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlRangeSlicer.java
@@ -25,6 +25,7 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Collections;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.db.ColumnFamilyType;
@@ -62,7 +63,7 @@ public class CqlRangeSlicer extends Operation
String key = String.format("%0" + session.getTotalKeysLength() + "d", index);
String formattedQuery = null;
- long startTime = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -117,6 +118,6 @@ public class CqlRangeSlicer extends Operation
session.operations.getAndIncrement();
session.keys.getAndAdd(rowCount);
- session.latency.getAndAdd(System.currentTimeMillis() - startTime);
+ context.stop();
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java
index 5e3259d..a7f9a09 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java
@@ -26,6 +26,7 @@ import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.db.ColumnFamilyType;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
@@ -86,7 +87,7 @@ public class CqlReader extends Operation
String formattedQuery = null;
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -140,6 +141,6 @@ public class CqlReader extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/IndexedRangeSlicer.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/IndexedRangeSlicer.java b/tools/stress/src/org/apache/cassandra/stress/operations/IndexedRangeSlicer.java
index 8768de8..b7c72a2 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/IndexedRangeSlicer.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/IndexedRangeSlicer.java
@@ -17,6 +17,7 @@
*/
package org.apache.cassandra.stress.operations;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
import org.apache.cassandra.stress.util.Operation;
@@ -66,7 +67,7 @@ public class IndexedRangeSlicer extends Operation
session.getKeysPerCall());
List<KeySlice> results = null;
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -104,7 +105,7 @@ public class IndexedRangeSlicer extends Operation
session.operations.getAndIncrement();
session.keys.getAndAdd(results.size());
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/Inserter.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/Inserter.java b/tools/stress/src/org/apache/cassandra/stress/operations/Inserter.java
index 24c7eaa..cbf6b98 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/Inserter.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/Inserter.java
@@ -17,6 +17,7 @@
*/
package org.apache.cassandra.stress.operations;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
import org.apache.cassandra.stress.util.Operation;
@@ -73,7 +74,7 @@ public class Inserter extends Operation
: getColumnsMutationMap(columns);
Map<ByteBuffer, Map<String, List<Mutation>>> record = Collections.singletonMap(ByteBufferUtil.bytes(rawKey), row);
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -105,7 +106,7 @@ public class Inserter extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
private Map<String, List<Mutation>> getSuperColumnsMutationMap(List<SuperColumn> superColumns)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/MultiGetter.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/MultiGetter.java b/tools/stress/src/org/apache/cassandra/stress/operations/MultiGetter.java
index f569f66..12a39fb 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/MultiGetter.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/MultiGetter.java
@@ -17,6 +17,7 @@
*/
package org.apache.cassandra.stress.operations;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
import org.apache.cassandra.stress.util.Operation;
@@ -55,7 +56,7 @@ public class MultiGetter extends Operation
{
ColumnParent parent = new ColumnParent("Super1").setSuper_column(ByteBufferUtil.bytes("S" + j));
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -87,7 +88,7 @@ public class MultiGetter extends Operation
session.operations.getAndIncrement();
session.keys.getAndAdd(keys.size());
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
offset += session.getKeysPerCall();
}
@@ -98,7 +99,7 @@ public class MultiGetter extends Operation
List<ByteBuffer> keys = generateKeys(offset, offset + session.getKeysPerCall());
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -131,7 +132,7 @@ public class MultiGetter extends Operation
session.operations.getAndIncrement();
session.keys.getAndAdd(keys.size());
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
offset += session.getKeysPerCall();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/RangeSlicer.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/RangeSlicer.java b/tools/stress/src/org/apache/cassandra/stress/operations/RangeSlicer.java
index e462e30..f9ba115 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/RangeSlicer.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/RangeSlicer.java
@@ -17,6 +17,7 @@
*/
package org.apache.cassandra.stress.operations;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
import org.apache.cassandra.stress.util.Operation;
@@ -61,7 +62,7 @@ public class RangeSlicer extends Operation
String superColumnName = "S" + Integer.toString(i);
ColumnParent parent = new ColumnParent("Super1").setSuper_column(ByteBufferUtil.bytes(superColumnName));
- long startTime = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -90,7 +91,7 @@ public class RangeSlicer extends Operation
}
session.operations.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - startTime);
+ context.stop();
}
session.keys.getAndAdd(slices.size());
@@ -104,7 +105,7 @@ public class RangeSlicer extends Operation
List<KeySlice> slices = new ArrayList<KeySlice>();
KeyRange range = new KeyRange(count).setStart_key(start).setEnd_key(ByteBufferUtil.EMPTY_BYTE_BUFFER);
- long startTime = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -137,7 +138,7 @@ public class RangeSlicer extends Operation
session.operations.getAndIncrement();
session.keys.getAndAdd(slices.size());
- session.latency.getAndAdd(System.currentTimeMillis() - startTime);
+ context.stop();
}
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b475602b/tools/stress/src/org/apache/cassandra/stress/operations/Reader.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/Reader.java b/tools/stress/src/org/apache/cassandra/stress/operations/Reader.java
index 412ebdf..f75502a 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/Reader.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/Reader.java
@@ -17,6 +17,7 @@
*/
package org.apache.cassandra.stress.operations;
+import com.yammer.metrics.core.TimerContext;
import org.apache.cassandra.stress.Session;
import org.apache.cassandra.stress.util.CassandraClient;
import org.apache.cassandra.stress.util.Operation;
@@ -66,7 +67,7 @@ public class Reader extends Operation
String superColumn = 'S' + Integer.toString(j);
ColumnParent parent = new ColumnParent("Super1").setSuper_column(superColumn.getBytes(UTF_8));
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -100,7 +101,7 @@ public class Reader extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
}
@@ -111,7 +112,7 @@ public class Reader extends Operation
byte[] key = generateKey();
ByteBuffer keyBuffer = ByteBuffer.wrap(key);
- long start = System.currentTimeMillis();
+ TimerContext context = session.latency.time();
boolean success = false;
String exceptionMessage = null;
@@ -145,7 +146,7 @@ public class Reader extends Operation
session.operations.getAndIncrement();
session.keys.getAndIncrement();
- session.latency.getAndAdd(System.currentTimeMillis() - start);
+ context.stop();
}
private SliceRange getSliceRange()