You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by be...@apache.org on 2014/07/07 19:34:32 UTC
[09/23] Introduce CQL support for stress tool
http://git-wip-us.apache.org/repos/asf/cassandra/blob/75364296/tools/stress/src/org/apache/cassandra/stress/util/SmartThriftClient.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/util/SmartThriftClient.java b/tools/stress/src/org/apache/cassandra/stress/util/SmartThriftClient.java
index 2782a05..7ede496 100644
--- a/tools/stress/src/org/apache/cassandra/stress/util/SmartThriftClient.java
+++ b/tools/stress/src/org/apache/cassandra/stress/util/SmartThriftClient.java
@@ -63,8 +63,10 @@ public class SmartThriftClient implements ThriftClient
return r;
r = queryIdCounter.incrementAndGet();
if (queryIds.putIfAbsent(query, r) == null)
+ {
+ queryStrings.put(r, query);
return r;
- queryStrings.put(r, query);
+ }
return queryIds.get(query);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/75364296/tools/stress/src/org/apache/cassandra/stress/util/Timer.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/util/Timer.java b/tools/stress/src/org/apache/cassandra/stress/util/Timer.java
index 06d113d..45e1ba7 100644
--- a/tools/stress/src/org/apache/cassandra/stress/util/Timer.java
+++ b/tools/stress/src/org/apache/cassandra/stress/util/Timer.java
@@ -43,7 +43,8 @@ public final class Timer
private int opCount;
// aggregate info
- private int keyCount;
+ private long partitionCount;
+ private long rowCount;
private long total;
private long max;
private long maxStart;
@@ -65,7 +66,7 @@ public final class Timer
return 1 + (index >>> SAMPLE_SIZE_SHIFT);
}
- public void stop(int keys)
+ public void stop(long partitionCount, long rowCount)
{
maybeReport();
long now = System.nanoTime();
@@ -79,7 +80,8 @@ public final class Timer
}
total += time;
opCount += 1;
- keyCount += keys;
+ this.partitionCount += partitionCount;
+ this.rowCount += rowCount;
upToDateAsOf = now;
}
@@ -94,11 +96,12 @@ public final class Timer
( new SampleOfLongs(Arrays.copyOf(sample, index(opCount)), p(opCount)),
new SampleOfLongs(Arrays.copyOfRange(sample, index(opCount), Math.min(opCount, sample.length)), p(opCount) - 1)
);
- final TimingInterval report = new TimingInterval(lastSnap, upToDateAsOf, max, maxStart, max, keyCount, total, opCount,
+ final TimingInterval report = new TimingInterval(lastSnap, upToDateAsOf, max, maxStart, max, partitionCount, rowCount, total, opCount,
SampleOfLongs.merge(rnd, sampleLatencies, Integer.MAX_VALUE));
// reset counters
opCount = 0;
- keyCount = 0;
+ partitionCount = 0;
+ rowCount = 0;
total = 0;
max = 0;
lastSnap = upToDateAsOf;
@@ -145,6 +148,4 @@ public final class Timer
reportRequest = null;
}
}
-
-}
-
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cassandra/blob/75364296/tools/stress/src/org/apache/cassandra/stress/util/TimingInterval.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/util/TimingInterval.java b/tools/stress/src/org/apache/cassandra/stress/util/TimingInterval.java
index 9e68045..db3fef1 100644
--- a/tools/stress/src/org/apache/cassandra/stress/util/TimingInterval.java
+++ b/tools/stress/src/org/apache/cassandra/stress/util/TimingInterval.java
@@ -39,7 +39,8 @@ public final class TimingInterval
public final long totalLatency;
// discrete
- public final long keyCount;
+ public final long partitionCount;
+ public final long rowCount;
public final long operationCount;
final SampleOfLongs sample;
@@ -48,16 +49,17 @@ public final class TimingInterval
{
start = end = time;
maxLatency = totalLatency = 0;
- keyCount = operationCount = 0;
+ partitionCount = rowCount = operationCount = 0;
pauseStart = pauseLength = 0;
sample = new SampleOfLongs(new long[0], 1d);
}
- TimingInterval(long start, long end, long maxLatency, long pauseStart, long pauseLength, long keyCount, long totalLatency, long operationCount, SampleOfLongs sample)
+ TimingInterval(long start, long end, long maxLatency, long pauseStart, long pauseLength, long partitionCount, long rowCount, long totalLatency, long operationCount, SampleOfLongs sample)
{
this.start = start;
this.end = Math.max(end, start);
this.maxLatency = maxLatency;
- this.keyCount = keyCount;
+ this.partitionCount = partitionCount;
+ this.rowCount = rowCount;
this.totalLatency = totalLatency;
this.operationCount = operationCount;
this.pauseStart = pauseStart;
@@ -68,7 +70,7 @@ public final class TimingInterval
// merge multiple timer intervals together
static TimingInterval merge(Random rnd, List<TimingInterval> intervals, int maxSamples, long start)
{
- int operationCount = 0, keyCount = 0;
+ long operationCount = 0, partitionCount = 0, rowCount = 0;
long maxLatency = 0, totalLatency = 0;
List<SampleOfLongs> latencies = new ArrayList<>();
long end = 0;
@@ -79,7 +81,8 @@ public final class TimingInterval
operationCount += interval.operationCount;
maxLatency = Math.max(interval.maxLatency, maxLatency);
totalLatency += interval.totalLatency;
- keyCount += interval.keyCount;
+ partitionCount += interval.partitionCount;
+ rowCount += interval.rowCount;
latencies.addAll(Arrays.asList(interval.sample));
if (interval.pauseLength > 0)
{
@@ -89,7 +92,7 @@ public final class TimingInterval
}
if (pauseEnd < pauseStart)
pauseEnd = pauseStart = 0;
- return new TimingInterval(start, end, maxLatency, pauseStart, pauseEnd - pauseStart, keyCount, totalLatency, operationCount,
+ return new TimingInterval(start, end, maxLatency, pauseStart, pauseEnd - pauseStart, partitionCount, rowCount, totalLatency, operationCount,
SampleOfLongs.merge(rnd, latencies, maxSamples));
}
@@ -104,9 +107,14 @@ public final class TimingInterval
return operationCount / ((end - (start + pauseLength)) * 0.000000001d);
}
- public double keyRate()
+ public double partitionRate()
{
- return keyCount / ((end - start) * 0.000000001d);
+ return partitionCount / ((end - start) * 0.000000001d);
+ }
+
+ public double rowRate()
+ {
+ return rowCount / ((end - start) * 0.000000001d);
}
public double meanLatency()