You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2014/06/04 17:02:32 UTC

[1/2] git commit: Add per-CF range read request latency metrics

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 6a4144b41 -> 2d76d9fc3


Add per-CF range read request latency metrics

patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-7338


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/05ffa8ff
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/05ffa8ff
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/05ffa8ff

Branch: refs/heads/cassandra-2.1
Commit: 05ffa8ff1eeaa8f911798c1dca14de6117b27347
Parents: 500e7b7
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Wed Jun 4 17:56:50 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Wed Jun 4 17:56:50 2014 +0300

----------------------------------------------------------------------
 CHANGES.txt                                               |  1 +
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java   | 10 +++++++++-
 .../org/apache/cassandra/metrics/ColumnFamilyMetrics.java |  4 ++++
 3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/05ffa8ff/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 18579a1..0d716a6 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.9
+ * Add per-CF range read request latency metrics (CASSANDRA-7338)
  * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
  * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
  * Swap local and global default read repair chances (CASSANDRA-7320)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/05ffa8ff/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 709935a..c641f3a 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1703,7 +1703,15 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
 
     public List<Row> getRangeSlice(ExtendedFilter filter)
     {
-        return filter(getSequentialIterator(filter.dataRange, filter.timestamp), filter);
+        long start = System.nanoTime();
+        try
+        {
+            return filter(getSequentialIterator(filter.dataRange, filter.timestamp), filter);
+        }
+        finally
+        {
+            metric.rangeLatency.addNano(System.nanoTime() - start);
+        }
     }
 
     @VisibleForTesting

http://git-wip-us.apache.org/repos/asf/cassandra/blob/05ffa8ff/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
index 8880485..50c80fc 100644
--- a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
@@ -52,6 +52,8 @@ public class ColumnFamilyMetrics
     public final Histogram sstablesPerReadHistogram;
     /** (Local) read metrics */
     public final LatencyMetrics readLatency;
+    /** (Local) range slice metrics */
+    public final LatencyMetrics rangeLatency;
     /** (Local) write metrics */
     public final LatencyMetrics writeLatency;
     /** Estimated number of tasks pending for this column family */
@@ -177,6 +179,7 @@ public class ColumnFamilyMetrics
         });
         readLatency = new LatencyMetrics(factory, "Read");
         writeLatency = new LatencyMetrics(factory, "Write");
+        rangeLatency = new LatencyMetrics(factory, "Range");
         pendingCompactions = Metrics.newGauge(factory.createMetricName("PendingCompactions"), new Gauge<Integer>()
         {
             public Integer value()
@@ -343,6 +346,7 @@ public class ColumnFamilyMetrics
     {
         readLatency.release();
         writeLatency.release();
+        rangeLatency.release();
         Metrics.defaultRegistry().removeMetric(factory.createMetricName("AllMemtablesDataSize"));
         Metrics.defaultRegistry().removeMetric(factory.createMetricName("MemtableColumnsCount"));
         Metrics.defaultRegistry().removeMetric(factory.createMetricName("MemtableDataSize"));


[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by al...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
	CHANGES.txt
	src/java/org/apache/cassandra/db/ColumnFamilyStore.java
	src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2d76d9fc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2d76d9fc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2d76d9fc

Branch: refs/heads/cassandra-2.1
Commit: 2d76d9fc37328b8174009e414c2a2a21cb5e5245
Parents: 6a4144b 05ffa8f
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Wed Jun 4 18:02:24 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Wed Jun 4 18:02:24 2014 +0300

----------------------------------------------------------------------
 CHANGES.txt                                                    | 1 +
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java        | 5 +++++
 src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java | 4 ++++
 3 files changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2d76d9fc/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 98e3fc8,0d716a6..23f36c8
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,10 -1,16 +1,11 @@@
 -2.0.9
 +2.1.0
 + * Upgrade to Pig 0.12.1 (CASSANDRA-6556)
 + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329)
 + * Don't fail streams on failure detector downs (CASSANDRA-3569)
 + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314)
 +Merged from 2.0:
+  * Add per-CF range read request latency metrics (CASSANDRA-7338)
   * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
 - * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
 - * Swap local and global default read repair chances (CASSANDRA-7320)
 - * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
 - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
 - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274)
 - * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 - * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 - * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
 - * Add authentication support to shuffle (CASSANDRA-6484)
 - * Cqlsh counts non-empty lines for "Blank lines" warning (CASSANDRA-7325)
   * Make StreamSession#closeSession() idempotent (CASSANDRA-7262)
   * Fix infinite loop on exception while streaming (CASSANDRA-7330)
  Merged from 1.2:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2d76d9fc/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 4d334e7,c641f3a..e2d9248
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@@ -2030,7 -1703,8 +2030,8 @@@ public class ColumnFamilyStore implemen
  
      public List<Row> getRangeSlice(ExtendedFilter filter)
      {
+         long start = System.nanoTime();
 -        try
 +        try (OpOrder.Group op = readOrdering.start())
          {
              return filter(getSequentialIterator(filter.dataRange, filter.timestamp), filter);
          }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2d76d9fc/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
index f080fd0,50c80fc..f4682da
--- a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
@@@ -233,7 -179,7 +235,8 @@@ public class ColumnFamilyMetric
          });
          readLatency = new LatencyMetrics(factory, "Read");
          writeLatency = new LatencyMetrics(factory, "Write");
+         rangeLatency = new LatencyMetrics(factory, "Range");
 +        pendingFlushes = Metrics.newCounter(factory.createMetricName("PendingFlushes"));
          pendingCompactions = Metrics.newGauge(factory.createMetricName("PendingCompactions"), new Gauge<Integer>()
          {
              public Integer value()