You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by db...@apache.org on 2013/08/10 16:35:03 UTC
[2/2] git commit: update metrics-core to 3.0.1 patch by dbrosius
reviewed by jbellis for cassandra-5838
update metrics-core to 3.0.1
patch by dbrosius reviewed by jbellis for cassandra-5838
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c27a1619
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c27a1619
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c27a1619
Branch: refs/heads/trunk
Commit: c27a161920a2227cd04f8338a75732920694b1db
Parents: 9bc8fa2
Author: Dave Brosius <db...@apache.org>
Authored: Sat Aug 10 10:06:58 2013 -0400
Committer: Dave Brosius <db...@apache.org>
Committed: Sat Aug 10 10:34:07 2013 -0400
----------------------------------------------------------------------
build.xml | 4 +-
lib/metrics-core-2.0.3.jar | Bin 80800 -> 0 bytes
lib/metrics-core-3.0.1.jar | Bin 0 -> 85449 bytes
.../JMXEnabledThreadPoolExecutor.java | 4 +-
.../apache/cassandra/db/ColumnFamilyStore.java | 55 +++----
.../cassandra/db/commitlog/CommitLog.java | 6 +-
.../db/compaction/CompactionManager.java | 8 +-
.../locator/DynamicEndpointSnitch.java | 19 ++-
.../apache/cassandra/metrics/CacheMetrics.java | 42 +++---
.../metrics/CassandraMetricRegistry.java | 46 ++++++
.../cassandra/metrics/ClientRequestMetrics.java | 24 ++--
.../cassandra/metrics/ColumnFamilyMetrics.java | 142 ++++++++++---------
.../cassandra/metrics/CommitLogMetrics.java | 17 ++-
.../cassandra/metrics/CompactionMetrics.java | 22 ++-
.../cassandra/metrics/ConnectionMetrics.java | 48 +++----
.../metrics/DroppedMessageMetrics.java | 11 +-
.../cassandra/metrics/HintedHandoffMetrics.java | 13 +-
.../cassandra/metrics/LatencyMetrics.java | 23 ++-
.../cassandra/metrics/MetricNameFactory.java | 4 +-
.../cassandra/metrics/ReadRepairMetrics.java | 14 +-
.../cassandra/metrics/StorageMetrics.java | 7 +-
.../cassandra/metrics/StreamingMetrics.java | 15 +-
.../cassandra/metrics/ThreadPoolMetrics.java | 34 ++---
.../apache/cassandra/net/MessagingService.java | 6 +-
.../net/OutboundTcpConnectionPool.java | 2 +-
.../cassandra/scheduler/WeightedQueue.java | 4 +-
.../apache/cassandra/service/CacheService.java | 16 +--
.../apache/cassandra/service/StorageProxy.java | 18 +--
.../org/apache/cassandra/db/KeyspaceTest.java | 16 +--
.../org/apache/cassandra/stress/Session.java | 33 +++--
.../apache/cassandra/stress/StressAction.java | 2 +-
.../cassandra/stress/StressStatistics.java | 2 +-
.../stress/operations/CounterAdder.java | 4 +-
.../stress/operations/CounterGetter.java | 23 +--
.../stress/operations/CqlCounterAdder.java | 4 +-
.../stress/operations/CqlCounterGetter.java | 4 +-
.../operations/CqlIndexedRangeSlicer.java | 4 +-
.../stress/operations/CqlInserter.java | 4 +-
.../stress/operations/CqlRangeSlicer.java | 4 +-
.../cassandra/stress/operations/CqlReader.java | 4 +-
.../stress/operations/IndexedRangeSlicer.java | 4 +-
.../cassandra/stress/operations/Inserter.java | 4 +-
.../stress/operations/MultiGetter.java | 6 +-
.../stress/operations/RangeSlicer.java | 6 +-
.../cassandra/stress/operations/Reader.java | 6 +-
45 files changed, 397 insertions(+), 337 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index a72adf4..17b3705 100644
--- a/build.xml
+++ b/build.xml
@@ -371,7 +371,7 @@
<dependency groupId="log4j" artifactId="log4j" version="1.2.16" />
<dependency groupId="org.apache.cassandra" artifactId="cassandra-all" version="${version}" />
<dependency groupId="org.apache.cassandra" artifactId="cassandra-thrift" version="${version}" />
- <dependency groupId="com.yammer.metrics" artifactId="metrics-core" version="2.2.0" />
+ <dependency groupId="com.codahale.metrics" artifactId="metrics-core" version="3.0.1" />
<dependency groupId="edu.stanford.ppl" artifactId="snaptree" version="0.1" />
<dependency groupId="org.mindrot" artifactId="jbcrypt" version="0.3m" />
<dependency groupId="io.netty" artifactId="netty" version="3.5.9.Final" />
@@ -450,7 +450,7 @@
<dependency groupId="org.yaml" artifactId="snakeyaml"/>
<dependency groupId="edu.stanford.ppl" artifactId="snaptree"/>
<dependency groupId="org.mindrot" artifactId="jbcrypt"/>
- <dependency groupId="com.yammer.metrics" artifactId="metrics-core"/>
+ <dependency groupId="com.codahale.metrics" artifactId="metrics-core"/>
<dependency groupId="com.thinkaurelius.thrift" artifactId="thrift-server" version="0.3.0"/>
<dependency groupId="log4j" artifactId="log4j"/>
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/lib/metrics-core-2.0.3.jar
----------------------------------------------------------------------
diff --git a/lib/metrics-core-2.0.3.jar b/lib/metrics-core-2.0.3.jar
deleted file mode 100644
index 729e6e8..0000000
Binary files a/lib/metrics-core-2.0.3.jar and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/lib/metrics-core-3.0.1.jar
----------------------------------------------------------------------
diff --git a/lib/metrics-core-3.0.1.jar b/lib/metrics-core-3.0.1.jar
new file mode 100644
index 0000000..9b50dad
Binary files /dev/null and b/lib/metrics-core-3.0.1.jar differ
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java b/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java
index de448b5..db75e8f 100644
--- a/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java
+++ b/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java
@@ -151,12 +151,12 @@ public class JMXEnabledThreadPoolExecutor extends DebuggableThreadPoolExecutor i
public int getTotalBlockedTasks()
{
- return (int) metrics.totalBlocked.count();
+ return (int) metrics.totalBlocked.getCount();
}
public int getCurrentlyBlockedTasks()
{
- return (int) metrics.currentBlocked.count();
+ return (int) metrics.currentBlocked.getCount();
}
public int getCoreThreads()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/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 7b11672..ec12736 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -26,6 +26,7 @@ import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import java.util.regex.Pattern;
+
import javax.management.*;
import com.google.common.annotations.VisibleForTesting;
@@ -33,9 +34,9 @@ import com.google.common.base.Function;
import com.google.common.collect.*;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.Uninterruptibles;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
import org.apache.cassandra.cache.IRowCacheEntry;
import org.apache.cassandra.cache.RowCacheKey;
import org.apache.cassandra.cache.RowCacheSentinel;
@@ -66,6 +67,7 @@ import org.apache.cassandra.io.compress.CompressionParameters;
import org.apache.cassandra.io.sstable.*;
import org.apache.cassandra.io.sstable.Descriptor;
import org.apache.cassandra.io.util.FileUtils;
+import org.apache.cassandra.metrics.CassandraMetricRegistry;
import org.apache.cassandra.metrics.ColumnFamilyMetrics;
import org.apache.cassandra.service.CacheService;
import org.apache.cassandra.service.StorageService;
@@ -303,7 +305,6 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
{
case PERCENTILE:
// get percentile in nanos
- assert metric.readLatency.latency.durationUnit() == TimeUnit.MICROSECONDS;
sampleLatency = (long) (metric.readLatency.latency.getSnapshot().getValue(retryPolicy.value) * 1000d);
break;
case CUSTOM:
@@ -359,17 +360,17 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public long getMinRowSize()
{
- return metric.minRowSize.value();
+ return metric.minRowSize.getValue();
}
public long getMaxRowSize()
{
- return metric.maxRowSize.value();
+ return metric.maxRowSize.getValue();
}
public long getMeanRowSize()
{
- return metric.meanRowSize.value();
+ return metric.meanRowSize.getValue();
}
public int getMeanColumns()
@@ -737,8 +738,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
}
}
- if (metric.memtableSwitchCount.count() == Long.MAX_VALUE)
- metric.memtableSwitchCount.clear();
+ if (metric.memtableSwitchCount.getCount() == Long.MAX_VALUE)
+ metric.resetMemTableSwitchCount();
metric.memtableSwitchCount.inc();
// when all the memtables have been written, including for indexes, mark the flush in the commitlog header.
@@ -837,7 +838,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
while (true)
{
long last = liveRatioComputedAt.get();
- long operations = metric.writeLatency.latency.count();
+ long operations = metric.writeLatency.latency.getCount();
if (operations < 2 * last)
break;
if (liveRatioComputedAt.compareAndSet(last, operations))
@@ -1074,12 +1075,12 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public long getMemtableColumnsCount()
{
- return metric.memtableColumnsCount.value();
+ return metric.memtableColumnsCount.getValue();
}
public long getMemtableDataSize()
{
- return metric.memtableDataSize.value();
+ return metric.memtableDataSize.getValue();
}
public long getTotalMemtableLiveSize()
@@ -1089,7 +1090,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public int getMemtableSwitchCount()
{
- return (int) metric.memtableSwitchCount.count();
+ return (int) metric.memtableSwitchCount.getCount();
}
private Memtable getMemtableThreadSafe()
@@ -1127,7 +1128,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public long getReadCount()
{
- return metric.readLatency.latency.count();
+ return metric.readLatency.latency.getCount();
}
public double getRecentReadLatencyMicros()
@@ -1147,22 +1148,22 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public long getTotalReadLatencyMicros()
{
- return metric.readLatency.totalLatency.count();
+ return metric.readLatency.totalLatency.getCount();
}
public int getPendingTasks()
{
- return metric.pendingTasks.value();
+ return metric.pendingTasks.getValue();
}
public long getWriteCount()
{
- return metric.writeLatency.latency.count();
+ return metric.writeLatency.latency.getCount();
}
public long getTotalWriteLatencyMicros()
{
- return metric.writeLatency.totalLatency.count();
+ return metric.writeLatency.totalLatency.getCount();
}
public double getRecentWriteLatencyMicros()
@@ -1766,17 +1767,17 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public long getTotalDiskSpaceUsed()
{
- return metric.totalDiskSpaceUsed.count();
+ return metric.totalDiskSpaceUsed.getCount();
}
public long getLiveDiskSpaceUsed()
{
- return metric.liveDiskSpaceUsed.count();
+ return metric.liveDiskSpaceUsed.getCount();
}
public int getLiveSSTableCount()
{
- return metric.liveSSTableCount.value();
+ return metric.liveSSTableCount.getValue();
}
/**
@@ -2028,27 +2029,27 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public long getBloomFilterFalsePositives()
{
- return metric.bloomFilterFalsePositives.value();
+ return metric.bloomFilterFalsePositives.getValue();
}
public long getRecentBloomFilterFalsePositives()
{
- return metric.recentBloomFilterFalsePositives.value();
+ return metric.recentBloomFilterFalsePositives.getValue();
}
public double getBloomFilterFalseRatio()
{
- return metric.bloomFilterFalseRatio.value();
+ return metric.bloomFilterFalseRatio.getValue();
}
public double getRecentBloomFilterFalseRatio()
{
- return metric.recentBloomFilterFalseRatio.value();
+ return metric.recentBloomFilterFalseRatio.getValue();
}
public long getBloomFilterDiskSpaceUsed()
{
- return metric.bloomFilterDiskSpaceUsed.value();
+ return metric.bloomFilterDiskSpaceUsed.getValue();
}
@Override
@@ -2159,17 +2160,17 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public long[] getEstimatedRowSizeHistogram()
{
- return metric.estimatedRowSizeHistogram.value();
+ return metric.estimatedRowSizeHistogram.getValue();
}
public long[] getEstimatedColumnCountHistogram()
{
- return metric.estimatedColumnCountHistogram.value();
+ return metric.estimatedColumnCountHistogram.getValue();
}
public double getCompressionRatio()
{
- return metric.compressionRatio.value();
+ return metric.compressionRatio.getValue();
}
/** true if this CFS contains secondary index data */
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
index 78b43d3..33f23a5 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
@@ -265,7 +265,7 @@ public class CommitLog implements CommitLogMBean
*/
public long getCompletedTasks()
{
- return metrics.completedTasks.value();
+ return metrics.completedTasks.getValue();
}
/**
@@ -273,7 +273,7 @@ public class CommitLog implements CommitLogMBean
*/
public long getPendingTasks()
{
- return metrics.pendingTasks.value();
+ return metrics.pendingTasks.getValue();
}
/**
@@ -281,7 +281,7 @@ public class CommitLog implements CommitLogMBean
*/
public long getTotalCommitlogSize()
{
- return metrics.totalCommitLogSize.value();
+ return metrics.totalCommitLogSize.getValue();
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 35354c8..4e0b492 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -874,22 +874,22 @@ public class CompactionManager implements CompactionManagerMBean
public long getTotalBytesCompacted()
{
- return metrics.bytesCompacted.count();
+ return metrics.bytesCompacted.getCount();
}
public long getTotalCompactionsCompleted()
{
- return metrics.totalCompactionsCompleted.count();
+ return metrics.totalCompactionsCompleted.getCount();
}
public int getPendingTasks()
{
- return metrics.pendingTasks.value();
+ return metrics.pendingTasks.getValue();
}
public long getCompletedTasks()
{
- return metrics.completedTasks.value();
+ return metrics.completedTasks.getValue();
}
private static class CleanupInfo extends CompactionInfo.Holder
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java b/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
index ff8c70a..6b04b92 100644
--- a/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
+++ b/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
@@ -27,13 +27,13 @@ import java.util.concurrent.TimeUnit;
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import com.codahale.metrics.ExponentiallyDecayingReservoir;
+
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.FBUtilities;
-import com.yammer.metrics.stats.ExponentiallyDecayingSample;
-
/**
* A dynamic snitch that sorts endpoints by latency with an adapted phi failure detector
*/
@@ -50,7 +50,7 @@ public class DynamicEndpointSnitch extends AbstractEndpointSnitch implements ILa
private final ConcurrentHashMap<InetAddress, Double> scores = new ConcurrentHashMap<InetAddress, Double>();
private final ConcurrentHashMap<InetAddress, Long> lastReceived = new ConcurrentHashMap<InetAddress, Long>();
- private final ConcurrentHashMap<InetAddress, ExponentiallyDecayingSample> samples = new ConcurrentHashMap<InetAddress, ExponentiallyDecayingSample>();
+ private final ConcurrentHashMap<InetAddress, ExponentiallyDecayingReservoir> samples = new ConcurrentHashMap<InetAddress, ExponentiallyDecayingReservoir>();
public final IEndpointSnitch subsnitch;
@@ -203,10 +203,10 @@ public class DynamicEndpointSnitch extends AbstractEndpointSnitch implements ILa
{
lastReceived.put(host, System.nanoTime());
- ExponentiallyDecayingSample sample = samples.get(host);
+ ExponentiallyDecayingReservoir sample = samples.get(host);
if (sample == null)
{
- ExponentiallyDecayingSample maybeNewSample = new ExponentiallyDecayingSample(WINDOW_SIZE, ALPHA);
+ ExponentiallyDecayingReservoir maybeNewSample = new ExponentiallyDecayingReservoir(WINDOW_SIZE, ALPHA);
sample = samples.putIfAbsent(host, maybeNewSample);
if (sample == null)
sample = maybeNewSample;
@@ -232,7 +232,7 @@ public class DynamicEndpointSnitch extends AbstractEndpointSnitch implements ILa
HashMap<InetAddress, Long> penalties = new HashMap<InetAddress, Long>(samples.size());
// We're going to weight the latency and time since last reply for each host against the worst one we see, to arrive at sort of a 'badness percentage' for both of them.
// first, find the worst for each.
- for (Map.Entry<InetAddress, ExponentiallyDecayingSample> entry : samples.entrySet())
+ for (Map.Entry<InetAddress, ExponentiallyDecayingReservoir> entry : samples.entrySet())
{
double mean = entry.getValue().getSnapshot().getMedian();
if (mean > maxLatency)
@@ -246,7 +246,7 @@ public class DynamicEndpointSnitch extends AbstractEndpointSnitch implements ILa
maxPenalty = timePenalty;
}
// now make another pass to do the weighting based on the maximums we found before
- for (Map.Entry<InetAddress, ExponentiallyDecayingSample> entry: samples.entrySet())
+ for (Map.Entry<InetAddress, ExponentiallyDecayingReservoir> entry: samples.entrySet())
{
double score = entry.getValue().getSnapshot().getMedian() / maxLatency;
if (penalties.containsKey(entry.getKey()))
@@ -265,8 +265,7 @@ public class DynamicEndpointSnitch extends AbstractEndpointSnitch implements ILa
private void reset()
{
- for (ExponentiallyDecayingSample sample : samples.values())
- sample.clear();
+ samples.clear();
}
public Map<InetAddress, Double> getScores()
@@ -295,7 +294,7 @@ public class DynamicEndpointSnitch extends AbstractEndpointSnitch implements ILa
{
InetAddress host = InetAddress.getByName(hostname);
ArrayList<Double> timings = new ArrayList<Double>();
- ExponentiallyDecayingSample sample = samples.get(host);
+ ExponentiallyDecayingReservoir sample = samples.get(host);
if (sample != null)
{
for (double time: sample.getSnapshot().getValues())
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/CacheMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/CacheMetrics.java b/src/java/org/apache/cassandra/metrics/CacheMetrics.java
index 3157511..ba98ab3 100644
--- a/src/java/org/apache/cassandra/metrics/CacheMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/CacheMetrics.java
@@ -17,14 +17,12 @@
*/
package org.apache.cassandra.metrics;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Gauge;
-import com.yammer.metrics.core.Meter;
-import com.yammer.metrics.core.MetricName;
-import com.yammer.metrics.util.RatioGauge;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Meter;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.RatioGauge;
import org.apache.cassandra.cache.ICache;
@@ -60,37 +58,43 @@ public class CacheMetrics
*/
public CacheMetrics(String type, final ICache cache)
{
- capacity = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "Capacity", type), new Gauge<Long>()
+ capacity = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Capacity", type), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return cache.capacity();
}
});
- hits = Metrics.newMeter(new MetricName(GROUP_NAME, TYPE_NAME, "Hits", type), "hits", TimeUnit.SECONDS);
- requests = Metrics.newMeter(new MetricName(GROUP_NAME, TYPE_NAME, "Requests", type), "requests", TimeUnit.SECONDS);
- hitRate = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "HitRate", type), new RatioGauge()
+ hits = CassandraMetricRegistry.get().meter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Hits", type));
+
+ requests = CassandraMetricRegistry.get().meter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Requests", type));
+ hitRate = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "HitRate", type), new RatioGauge()
{
protected double getNumerator()
{
- return hits.count();
+ return hits.getCount();
}
protected double getDenominator()
{
- return requests.count();
+ return requests.getCount();
+ }
+
+ public Ratio getRatio()
+ {
+ return Ratio.of(getNumerator(), getDenominator());
}
});
- size = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "Size", type), new Gauge<Long>()
+ size = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Size", type), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return cache.weightedSize();
}
});
- entries = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "Entries", type), new Gauge<Integer>()
+ entries = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Entries", type), new Gauge<Integer>()
{
- public Integer value()
+ public Integer getValue()
{
return cache.size();
}
@@ -101,8 +105,8 @@ public class CacheMetrics
@Deprecated
public double getRecentHitRate()
{
- long r = requests.count();
- long h = hits.count();
+ long r = requests.getCount();
+ long h = hits.getCount();
try
{
return ((double)(h - lastHits.get())) / (r - lastRequests.get());
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/CassandraMetricRegistry.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/CassandraMetricRegistry.java b/src/java/org/apache/cassandra/metrics/CassandraMetricRegistry.java
new file mode 100644
index 0000000..2f2a855
--- /dev/null
+++ b/src/java/org/apache/cassandra/metrics/CassandraMetricRegistry.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cassandra.metrics;
+
+import com.codahale.metrics.Metric;
+import com.codahale.metrics.MetricRegistry;
+
+public class CassandraMetricRegistry
+{
+ private static MetricRegistry defaultRegistry = new MetricRegistry();
+
+ private CassandraMetricRegistry()
+ {
+ }
+
+ public static MetricRegistry get()
+ {
+ return defaultRegistry;
+ }
+
+ public static <T extends Metric> T register(String name, T metric)
+ {
+ defaultRegistry.remove(name);
+ return defaultRegistry.register(name, metric);
+ }
+
+ public static void unregister(String name)
+ {
+ defaultRegistry.remove(name);
+ }
+}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/ClientRequestMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/ClientRequestMetrics.java b/src/java/org/apache/cassandra/metrics/ClientRequestMetrics.java
index d6ff01b..89a5c73 100644
--- a/src/java/org/apache/cassandra/metrics/ClientRequestMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ClientRequestMetrics.java
@@ -20,18 +20,16 @@
*/
package org.apache.cassandra.metrics;
-import java.util.concurrent.TimeUnit;
-
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Counter;
-import com.yammer.metrics.core.Meter;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Meter;
public class ClientRequestMetrics extends LatencyMetrics
{
- @Deprecated public static final Counter readTimeouts = Metrics.newCounter(ClientRequestMetrics.class, "ReadTimeouts");
- @Deprecated public static final Counter writeTimeouts = Metrics.newCounter(ClientRequestMetrics.class, "WriteTimeouts");
- @Deprecated public static final Counter readUnavailables = Metrics.newCounter(ClientRequestMetrics.class, "ReadUnavailables");
- @Deprecated public static final Counter writeUnavailables = Metrics.newCounter(ClientRequestMetrics.class, "WriteUnavailables");
+ @Deprecated public static final Counter readTimeouts = CassandraMetricRegistry.get().counter(MetricRegistry.name(ClientRequestMetrics.class, "ReadTimeouts"));
+ @Deprecated public static final Counter writeTimeouts = CassandraMetricRegistry.get().counter(MetricRegistry.name(ClientRequestMetrics.class, "WriteTimeouts"));
+ @Deprecated public static final Counter readUnavailables = CassandraMetricRegistry.get().counter(MetricRegistry.name(ClientRequestMetrics.class, "ReadUnavailables"));
+ @Deprecated public static final Counter writeUnavailables = CassandraMetricRegistry.get().counter(MetricRegistry.name(ClientRequestMetrics.class, "WriteUnavailables"));
public final Meter timeouts;
public final Meter unavailables;
@@ -40,14 +38,14 @@ public class ClientRequestMetrics extends LatencyMetrics
{
super("org.apache.cassandra.metrics", "ClientRequest", scope);
- timeouts = Metrics.newMeter(factory.createMetricName("Timeouts"), "timeouts", TimeUnit.SECONDS);
- unavailables = Metrics.newMeter(factory.createMetricName("Unavailables"), "unavailables", TimeUnit.SECONDS);
+ timeouts = CassandraMetricRegistry.get().meter(factory.createMetricName("Timeouts"));
+ unavailables = CassandraMetricRegistry.get().meter(factory.createMetricName("Unavailables"));
}
public void release()
{
super.release();
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("Timeouts"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("Unavailables"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("Timeouts"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("Unavailables"));
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/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 96ab538..0b1e5de 100644
--- a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
@@ -17,19 +17,21 @@
*/
package org.apache.cassandra.metrics;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Counter;
-import com.yammer.metrics.core.Gauge;
-import com.yammer.metrics.core.Histogram;
-import com.yammer.metrics.core.MetricName;
-import com.yammer.metrics.util.RatioGauge;
+
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Histogram;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.RatioGauge;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
+import org.apache.cassandra.metrics.CassandraMetricRegistry;
import org.apache.cassandra.io.sstable.SSTableMetadata;
import org.apache.cassandra.io.sstable.SSTableReader;
import org.apache.cassandra.utils.EstimatedHistogram;
+
/**
* Metrics for {@link ColumnFamilyStore}.
*/
@@ -40,7 +42,7 @@ public class ColumnFamilyMetrics
/** Total number of columns present in the memtable. */
public final Gauge<Long> memtableColumnsCount;
/** Number of times flush has resulted in the memtable being switched out. */
- public final Counter memtableSwitchCount;
+ public Counter memtableSwitchCount;
/** Current compression ratio for all SSTables */
public final Gauge<Double> compressionRatio;
/** Histogram of estimated row size (in bytes). */
@@ -97,24 +99,24 @@ public class ColumnFamilyMetrics
{
factory = new ColumnFamilyMetricNameFactory(cfs);
- memtableColumnsCount = Metrics.newGauge(factory.createMetricName("MemtableColumnsCount"), new Gauge<Long>()
+ memtableColumnsCount = CassandraMetricRegistry.register(factory.createMetricName("MemtableColumnsCount"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return cfs.getDataTracker().getMemtable().getOperations();
}
});
- memtableDataSize = Metrics.newGauge(factory.createMetricName("MemtableDataSize"), new Gauge<Long>()
+ memtableDataSize = CassandraMetricRegistry.register(factory.createMetricName("MemtableDataSize"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return cfs.getDataTracker().getMemtable().getLiveSize();
}
});
- memtableSwitchCount = Metrics.newCounter(factory.createMetricName("MemtableSwitchCount"));
- estimatedRowSizeHistogram = Metrics.newGauge(factory.createMetricName("EstimatedRowSizeHistogram"), new Gauge<long[]>()
+ memtableSwitchCount = CassandraMetricRegistry.get().counter(factory.createMetricName("MemtableSwitchCount"));
+ estimatedRowSizeHistogram = CassandraMetricRegistry.register(factory.createMetricName("EstimatedRowSizeHistogram"), new Gauge<long[]>()
{
- public long[] value()
+ public long[] getValue()
{
long[] histogram = new long[90];
for (SSTableReader sstable : cfs.getSSTables())
@@ -126,9 +128,9 @@ public class ColumnFamilyMetrics
return histogram;
}
});
- estimatedColumnCountHistogram = Metrics.newGauge(factory.createMetricName("EstimatedColumnCountHistogram"), new Gauge<long[]>()
+ estimatedColumnCountHistogram = CassandraMetricRegistry.register(factory.createMetricName("EstimatedColumnCountHistogram"), new Gauge<long[]>()
{
- public long[] value()
+ public long[] getValue()
{
long[] histogram = new long[90];
for (SSTableReader sstable : cfs.getSSTables())
@@ -140,10 +142,10 @@ public class ColumnFamilyMetrics
return histogram;
}
});
- sstablesPerReadHistogram = Metrics.newHistogram(factory.createMetricName("SSTablesPerReadHistogram"));
- compressionRatio = Metrics.newGauge(factory.createMetricName("CompressionRatio"), new Gauge<Double>()
+ sstablesPerReadHistogram = CassandraMetricRegistry.get().histogram(factory.createMetricName("SSTablesPerReadHistogram"));
+ compressionRatio = CassandraMetricRegistry.register(factory.createMetricName("CompressionRatio"), new Gauge<Double>()
{
- public Double value()
+ public Double getValue()
{
double sum = 0;
int total = 0;
@@ -160,26 +162,26 @@ public class ColumnFamilyMetrics
});
readLatency = new LatencyMetrics(factory, "Read");
writeLatency = new LatencyMetrics(factory, "Write");
- pendingTasks = Metrics.newGauge(factory.createMetricName("PendingTasks"), new Gauge<Integer>()
+ pendingTasks = CassandraMetricRegistry.register(factory.createMetricName("PendingTasks"), new Gauge<Integer>()
{
- public Integer value()
+ public Integer getValue()
{
// TODO this actually isn't a good measure of pending tasks
return Keyspace.switchLock.getQueueLength();
}
});
- liveSSTableCount = Metrics.newGauge(factory.createMetricName("LiveSSTableCount"), new Gauge<Integer>()
+ liveSSTableCount = CassandraMetricRegistry.register(factory.createMetricName("LiveSSTableCount"), new Gauge<Integer>()
{
- public Integer value()
+ public Integer getValue()
{
return cfs.getDataTracker().getSSTables().size();
}
});
- liveDiskSpaceUsed = Metrics.newCounter(factory.createMetricName("LiveDiskSpaceUsed"));
- totalDiskSpaceUsed = Metrics.newCounter(factory.createMetricName("TotalDiskSpaceUsed"));
- minRowSize = Metrics.newGauge(factory.createMetricName("MinRowSize"), new Gauge<Long>()
+ liveDiskSpaceUsed = CassandraMetricRegistry.get().counter(factory.createMetricName("LiveDiskSpaceUsed"));
+ totalDiskSpaceUsed = CassandraMetricRegistry.get().counter(factory.createMetricName("TotalDiskSpaceUsed"));
+ minRowSize = CassandraMetricRegistry.register(factory.createMetricName("MinRowSize"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
long min = 0;
for (SSTableReader sstable : cfs.getSSTables())
@@ -190,9 +192,9 @@ public class ColumnFamilyMetrics
return min;
}
});
- maxRowSize = Metrics.newGauge(factory.createMetricName("MaxRowSize"), new Gauge<Long>()
+ maxRowSize = CassandraMetricRegistry.register(factory.createMetricName("MaxRowSize"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
long max = 0;
for (SSTableReader sstable : cfs.getSSTables())
@@ -203,9 +205,9 @@ public class ColumnFamilyMetrics
return max;
}
});
- meanRowSize = Metrics.newGauge(factory.createMetricName("MeanRowSize"), new Gauge<Long>()
+ meanRowSize = CassandraMetricRegistry.register(factory.createMetricName("MeanRowSize"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
long sum = 0;
long count = 0;
@@ -217,9 +219,9 @@ public class ColumnFamilyMetrics
return count > 0 ? sum / count : 0;
}
});
- bloomFilterFalsePositives = Metrics.newGauge(factory.createMetricName("BloomFilterFalsePositives"), new Gauge<Long>()
+ bloomFilterFalsePositives = CassandraMetricRegistry.register(factory.createMetricName("BloomFilterFalsePositives"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
long count = 0L;
for (SSTableReader sstable: cfs.getSSTables())
@@ -227,9 +229,9 @@ public class ColumnFamilyMetrics
return count;
}
});
- recentBloomFilterFalsePositives = Metrics.newGauge(factory.createMetricName("RecentBloomFilterFalsePositives"), new Gauge<Long>()
+ recentBloomFilterFalsePositives = CassandraMetricRegistry.register(factory.createMetricName("RecentBloomFilterFalsePositives"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
long count = 0L;
for (SSTableReader sstable: cfs.getSSTables())
@@ -237,9 +239,9 @@ public class ColumnFamilyMetrics
return count;
}
});
- bloomFilterFalseRatio = Metrics.newGauge(factory.createMetricName("BloomFilterFalseRatio"), new Gauge<Double>()
+ bloomFilterFalseRatio = CassandraMetricRegistry.register(factory.createMetricName("BloomFilterFalseRatio"), new Gauge<Double>()
{
- public Double value()
+ public Double getValue()
{
long falseCount = 0L;
long trueCount = 0L;
@@ -253,9 +255,9 @@ public class ColumnFamilyMetrics
return (double) falseCount / (trueCount + falseCount);
}
});
- recentBloomFilterFalseRatio = Metrics.newGauge(factory.createMetricName("RecentBloomFilterFalseRatio"), new Gauge<Double>()
+ recentBloomFilterFalseRatio = CassandraMetricRegistry.register(factory.createMetricName("RecentBloomFilterFalseRatio"), new Gauge<Double>()
{
- public Double value()
+ public Double getValue()
{
long falseCount = 0L;
long trueCount = 0L;
@@ -269,9 +271,9 @@ public class ColumnFamilyMetrics
return (double) falseCount / (trueCount + falseCount);
}
});
- bloomFilterDiskSpaceUsed = Metrics.newGauge(factory.createMetricName("BloomFilterDiskSpaceUsed"), new Gauge<Long>()
+ bloomFilterDiskSpaceUsed = CassandraMetricRegistry.register(factory.createMetricName("BloomFilterDiskSpaceUsed"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
long total = 0;
for (SSTableReader sst : cfs.getSSTables())
@@ -279,8 +281,9 @@ public class ColumnFamilyMetrics
return total;
}
});
- speculativeRetry = Metrics.newCounter(factory.createMetricName("SpeculativeRetry"));
- keyCacheHitRate = Metrics.newGauge(factory.createMetricName("KeyCacheHitRate"), new RatioGauge()
+
+ speculativeRetry = CassandraMetricRegistry.get().counter(factory.createMetricName("SpeculativeRetry"));
+ keyCacheHitRate = CassandraMetricRegistry.register(factory.createMetricName("KeyCacheHitRate"), new RatioGauge()
{
protected double getNumerator()
{
@@ -297,8 +300,19 @@ public class ColumnFamilyMetrics
requests += sstable.getKeyCacheRequest();
return Math.max(requests, 1); // to avoid NaN.
}
+
+ @Override
+ protected Ratio getRatio()
+ {
+ return Ratio.of(getNumerator(), getDenominator());
+ }
});
}
+
+ public void resetMemTableSwitchCount()
+ {
+ memtableSwitchCount = CassandraMetricRegistry.get().counter(factory.createMetricName("MemtableSwitchCount"));
+ }
public void updateSSTableIterated(int count)
{
@@ -314,25 +328,25 @@ public class ColumnFamilyMetrics
{
readLatency.release();
writeLatency.release();
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("MemtableColumnsCount"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("MemtableDataSize"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("MemtableSwitchCount"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("CompressionRatio"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("EstimatedRowSizeHistogram"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("EstimatedColumnCountHistogram"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("SSTablesPerReadHistogram"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("PendingTasks"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("LiveSSTableCount"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("LiveDiskSpaceUsed"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("TotalDiskSpaceUsed"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("MinRowSize"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("MaxRowSize"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("MeanRowSize"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("BloomFilterFalsePositives"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("RecentBloomFilterFalsePositives"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("BloomFilterFalseRatio"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("RecentBloomFilterFalseRatio"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("BloomFilterDiskSpaceUsed"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("MemtableColumnsCount"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("MemtableDataSize"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("MemtableSwitchCount"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("CompressionRatio"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("EstimatedRowSizeHistogram"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("EstimatedColumnCountHistogram"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("SSTablesPerReadHistogram"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("PendingTasks"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("LiveSSTableCount"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("LiveDiskSpaceUsed"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("TotalDiskSpaceUsed"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("MinRowSize"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("MaxRowSize"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("MeanRowSize"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("BloomFilterFalsePositives"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("RecentBloomFilterFalsePositives"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("BloomFilterFalseRatio"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("RecentBloomFilterFalseRatio"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("BloomFilterDiskSpaceUsed"));
}
class ColumnFamilyMetricNameFactory implements MetricNameFactory
@@ -348,7 +362,7 @@ public class ColumnFamilyMetrics
isIndex = cfs.isIndex();
}
- public MetricName createMetricName(String metricName)
+ public String createMetricName(String metricName)
{
String groupName = ColumnFamilyMetrics.class.getPackage().getName();
String type = isIndex ? "IndexColumnFamily" : "ColumnFamily";
@@ -360,7 +374,7 @@ public class ColumnFamilyMetrics
mbeanName.append(",scope=").append(columnFamilyName);
mbeanName.append(",name=").append(metricName);
- return new MetricName(groupName, type, metricName, keyspaceName + "." + columnFamilyName, mbeanName.toString());
+ return MetricRegistry.name(groupName, type, metricName, keyspaceName + "." + columnFamilyName, mbeanName.toString());
}
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/CommitLogMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/CommitLogMetrics.java b/src/java/org/apache/cassandra/metrics/CommitLogMetrics.java
index 598d295..4b87038 100644
--- a/src/java/org/apache/cassandra/metrics/CommitLogMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/CommitLogMetrics.java
@@ -17,9 +17,8 @@
*/
package org.apache.cassandra.metrics;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Gauge;
-import com.yammer.metrics.core.MetricName;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Gauge;
import org.apache.cassandra.db.commitlog.CommitLogAllocator;
import org.apache.cassandra.db.commitlog.ICommitLogExecutorService;
@@ -41,23 +40,23 @@ public class CommitLogMetrics
public CommitLogMetrics(final ICommitLogExecutorService executor, final CommitLogAllocator allocator)
{
- completedTasks = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "CompletedTasks"), new Gauge<Long>()
+ completedTasks = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "CompletedTasks"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return executor.getCompletedTasks();
}
});
- pendingTasks = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "PendingTasks"), new Gauge<Long>()
+ pendingTasks = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "PendingTasks"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return executor.getPendingTasks();
}
});
- totalCommitLogSize = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "TotalCommitLogSize"), new Gauge<Long>()
+ totalCommitLogSize = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "TotalCommitLogSize"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return allocator.bytesUsed();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/CompactionMetrics.java b/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
index dd3803f..267d292 100644
--- a/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
@@ -19,13 +19,11 @@ package org.apache.cassandra.metrics;
import java.util.*;
import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Counter;
-import com.yammer.metrics.core.Gauge;
-import com.yammer.metrics.core.Meter;
-import com.yammer.metrics.core.MetricName;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Meter;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.ColumnFamilyStore;
@@ -55,9 +53,9 @@ public class CompactionMetrics implements CompactionManager.CompactionExecutorSt
public CompactionMetrics(final ThreadPoolExecutor... collectors)
{
- pendingTasks = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "PendingTasks"), new Gauge<Integer>()
+ pendingTasks = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "PendingTasks"), new Gauge<Integer>()
{
- public Integer value()
+ public Integer getValue()
{
int n = 0;
for (String keyspaceName : Schema.instance.getKeyspaces())
@@ -70,9 +68,9 @@ public class CompactionMetrics implements CompactionManager.CompactionExecutorSt
return n;
}
});
- completedTasks = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "CompletedTasks"), new Gauge<Long>()
+ completedTasks = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "CompletedTasks"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
long completedTasks = 0;
for (ThreadPoolExecutor collector : collectors)
@@ -80,8 +78,8 @@ public class CompactionMetrics implements CompactionManager.CompactionExecutorSt
return completedTasks;
}
});
- totalCompactionsCompleted = Metrics.newMeter(new MetricName(GROUP_NAME, TYPE_NAME, "TotalCompactionsCompleted"), "compaction completed", TimeUnit.SECONDS);
- bytesCompacted = Metrics.newCounter(new MetricName(GROUP_NAME, TYPE_NAME, "BytesCompacted"));
+ totalCompactionsCompleted = CassandraMetricRegistry.get().meter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "TotalCompactionsCompleted"));
+ bytesCompacted = CassandraMetricRegistry.get().counter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "BytesCompacted"));
}
public void beginCompaction(CompactionInfo.Holder ci)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/ConnectionMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/ConnectionMetrics.java b/src/java/org/apache/cassandra/metrics/ConnectionMetrics.java
index 5493505..24d3bbd 100644
--- a/src/java/org/apache/cassandra/metrics/ConnectionMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ConnectionMetrics.java
@@ -18,12 +18,10 @@
package org.apache.cassandra.metrics;
import java.net.InetAddress;
-import java.util.concurrent.TimeUnit;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Gauge;
-import com.yammer.metrics.core.Meter;
-import com.yammer.metrics.core.MetricName;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Meter;
import org.apache.cassandra.net.OutboundTcpConnectionPool;
@@ -36,7 +34,7 @@ public class ConnectionMetrics
public static final String TYPE_NAME = "Connection";
/** Total number of timeouts happened on this node */
- public static final Meter totalTimeouts = Metrics.newMeter(new MetricName(GROUP_NAME, TYPE_NAME, "TotalTimeouts"), "total timeouts", TimeUnit.SECONDS);
+ public static final Meter totalTimeouts = CassandraMetricRegistry.get().meter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "TotalTimeouts"));
private static long recentTimeouts;
public final String address;
@@ -66,58 +64,58 @@ public class ConnectionMetrics
// ipv6 addresses will contain colons, which are invalid in a JMX ObjectName
address = ip.getHostAddress().replaceAll(":", ".");
- commandPendingTasks = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "CommandPendingTasks", address), new Gauge<Integer>()
+ commandPendingTasks = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "CommandPendingTasks", address), new Gauge<Integer>()
{
- public Integer value()
+ public Integer getValue()
{
return connectionPool.cmdCon.getPendingMessages();
}
});
- commandCompletedTasks = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "CommandCompletedTasks", address), new Gauge<Long>()
+ commandCompletedTasks = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "CommandCompletedTasks", address), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return connectionPool.cmdCon.getCompletedMesssages();
}
});
- commandDroppedTasks = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "CommandDroppedTasks", address), new Gauge<Long>()
+ commandDroppedTasks = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "CommandDroppedTasks", address), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return connectionPool.cmdCon.getDroppedMessages();
}
});
- responsePendingTasks = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "ResponsePendingTasks", address), new Gauge<Integer>()
+ responsePendingTasks = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "ResponsePendingTasks", address), new Gauge<Integer>()
{
- public Integer value()
+ public Integer getValue()
{
return connectionPool.ackCon.getPendingMessages();
}
});
- responseCompletedTasks = Metrics.newGauge(new MetricName(GROUP_NAME, TYPE_NAME, "ResponseCompletedTasks", address), new Gauge<Long>()
+ responseCompletedTasks = CassandraMetricRegistry.register(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "ResponseCompletedTasks", address), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return connectionPool.ackCon.getCompletedMesssages();
}
});
- timeouts = Metrics.newMeter(new MetricName(GROUP_NAME, TYPE_NAME, "Timeouts", address), "timeouts", TimeUnit.SECONDS);
+ timeouts = CassandraMetricRegistry.get().meter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Timeouts", address));
}
public void release()
{
- Metrics.defaultRegistry().removeMetric(new MetricName(GROUP_NAME, TYPE_NAME, "CommandPendingTasks", address));
- Metrics.defaultRegistry().removeMetric(new MetricName(GROUP_NAME, TYPE_NAME, "CommandCompletedTasks", address));
- Metrics.defaultRegistry().removeMetric(new MetricName(GROUP_NAME, TYPE_NAME, "CommandDroppedTasks", address));
- Metrics.defaultRegistry().removeMetric(new MetricName(GROUP_NAME, TYPE_NAME, "ResponsePendingTasks", address));
- Metrics.defaultRegistry().removeMetric(new MetricName(GROUP_NAME, TYPE_NAME, "ResponseCompletedTasks", address));
- Metrics.defaultRegistry().removeMetric(new MetricName(GROUP_NAME, TYPE_NAME, "Timeouts", address));
+ CassandraMetricRegistry.unregister(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "CommandPendingTasks", address));
+ CassandraMetricRegistry.unregister(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "CommandCompletedTasks", address));
+ CassandraMetricRegistry.unregister(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "CommandDroppedTasks", address));
+ CassandraMetricRegistry.unregister(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "ResponsePendingTasks", address));
+ CassandraMetricRegistry.unregister(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "ResponseCompletedTasks", address));
+ CassandraMetricRegistry.unregister(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Timeouts", address));
}
@Deprecated
public static long getRecentTotalTimeout()
{
- long total = totalTimeouts.count();
+ long total = totalTimeouts.getCount();
long recent = total - recentTimeouts;
recentTimeouts = total;
return recent;
@@ -126,7 +124,7 @@ public class ConnectionMetrics
@Deprecated
public long getRecentTimeout()
{
- long timeoutCount = timeouts.count();
+ long timeoutCount = timeouts.getCount();
long recent = timeoutCount - recentTimeoutCount;
recentTimeoutCount = timeoutCount;
return recent;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/DroppedMessageMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/DroppedMessageMetrics.java b/src/java/org/apache/cassandra/metrics/DroppedMessageMetrics.java
index e0b12bb..9e77f24 100644
--- a/src/java/org/apache/cassandra/metrics/DroppedMessageMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/DroppedMessageMetrics.java
@@ -17,11 +17,8 @@
*/
package org.apache.cassandra.metrics;
-import java.util.concurrent.TimeUnit;
-
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Meter;
-import com.yammer.metrics.core.MetricName;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Meter;
import org.apache.cassandra.net.MessagingService;
@@ -40,13 +37,13 @@ public class DroppedMessageMetrics
public DroppedMessageMetrics(MessagingService.Verb verb)
{
- dropped = Metrics.newMeter(new MetricName(GROUP_NAME, TYPE_NAME, "Dropped", verb.toString()), "dropped", TimeUnit.SECONDS);
+ dropped = CassandraMetricRegistry.get().meter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Dropped", verb.toString()));
}
@Deprecated
public int getRecentlyDropped()
{
- long currentDropped = dropped.count();
+ long currentDropped = dropped.getCount();
long recentlyDropped = currentDropped - lastDropped;
lastDropped = currentDropped;
return (int)recentlyDropped;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java b/src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java
index 0f3992f..a4cf004 100644
--- a/src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java
@@ -29,9 +29,8 @@ import org.slf4j.LoggerFactory;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Counter;
-import com.yammer.metrics.core.MetricName;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Counter;
/**
* Metrics for {@link HintedHandOffManager}.
@@ -57,7 +56,7 @@ public class HintedHandoffMetrics
{
public Counter load(InetAddress address)
{
- return Metrics.newCounter(new MetricName(GROUP_NAME, TYPE_NAME, "Hints_created-" + address.getHostAddress()));
+ return CassandraMetricRegistry.get().counter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Hints_created-" + address.getHostAddress()));
}
});
@@ -90,12 +89,12 @@ public class HintedHandoffMetrics
public DifferencingCounter(InetAddress address)
{
- this.meter = Metrics.newCounter(new MetricName(GROUP_NAME, TYPE_NAME, "Hints_not_stored-" + address.getHostAddress()));
+ this.meter = CassandraMetricRegistry.get().counter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Hints_not_stored-" + address.getHostAddress()));
}
public long diffrence()
{
- long current = meter.count();
+ long current = meter.getCount();
long diffrence = current - reported;
this.reported = current;
return diffrence;
@@ -103,7 +102,7 @@ public class HintedHandoffMetrics
public long count()
{
- return meter.count();
+ return meter.getCount();
}
public void mark()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/LatencyMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/LatencyMetrics.java b/src/java/org/apache/cassandra/metrics/LatencyMetrics.java
index d177613..76a1f26 100644
--- a/src/java/org/apache/cassandra/metrics/LatencyMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/LatencyMetrics.java
@@ -19,10 +19,9 @@ package org.apache.cassandra.metrics;
import java.util.concurrent.TimeUnit;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Counter;
-import com.yammer.metrics.core.MetricName;
-import com.yammer.metrics.core.Timer;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Timer;
import org.apache.cassandra.utils.EstimatedHistogram;
@@ -80,8 +79,8 @@ public class LatencyMetrics
this.factory = factory;
this.namePrefix = namePrefix;
- latency = Metrics.newTimer(factory.createMetricName(namePrefix + "Latency"), TimeUnit.MICROSECONDS, TimeUnit.SECONDS);
- totalLatency = Metrics.newCounter(factory.createMetricName(namePrefix + "TotalLatency"));
+ latency = CassandraMetricRegistry.get().timer(factory.createMetricName(namePrefix + "Latency"));
+ totalLatency = CassandraMetricRegistry.get().counter(factory.createMetricName(namePrefix + "TotalLatency"));
}
/** takes nanoseconds **/
@@ -101,15 +100,15 @@ public class LatencyMetrics
public void release()
{
- Metrics.defaultRegistry().removeMetric(factory.createMetricName(namePrefix + "Latency"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName(namePrefix + "TotalLatency"));
+ CassandraMetricRegistry.unregister(factory.createMetricName(namePrefix + "Latency"));
+ CassandraMetricRegistry.unregister(factory.createMetricName(namePrefix + "TotalLatency"));
}
@Deprecated
public double getRecentLatency()
{
- long ops = latency.count();
- long n = totalLatency.count();
+ long ops = latency.getCount();
+ long n = totalLatency.getCount();
try
{
return ((double) n - lastLatency) / (ops - lastOpCount);
@@ -134,9 +133,9 @@ public class LatencyMetrics
this.scope = scope;
}
- public MetricName createMetricName(String metricName)
+ public String createMetricName(String metricName)
{
- return new MetricName(group, type, metricName, scope);
+ return MetricRegistry.name(group, type, metricName, scope);
}
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/MetricNameFactory.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/MetricNameFactory.java b/src/java/org/apache/cassandra/metrics/MetricNameFactory.java
index 5c1a5c2..d728e40 100644
--- a/src/java/org/apache/cassandra/metrics/MetricNameFactory.java
+++ b/src/java/org/apache/cassandra/metrics/MetricNameFactory.java
@@ -17,8 +17,6 @@
*/
package org.apache.cassandra.metrics;
-import com.yammer.metrics.core.MetricName;
-
public interface MetricNameFactory
{
/**
@@ -27,5 +25,5 @@ public interface MetricNameFactory
* @param metricName Name part of {@link MetricName}.
* @return new MetricName with given metric name.
*/
- MetricName createMetricName(String metricName);
+ String createMetricName(String metricName);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/ReadRepairMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/ReadRepairMetrics.java b/src/java/org/apache/cassandra/metrics/ReadRepairMetrics.java
index c67ed90..605876c 100644
--- a/src/java/org/apache/cassandra/metrics/ReadRepairMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ReadRepairMetrics.java
@@ -20,12 +20,8 @@ package org.apache.cassandra.metrics;
*
*/
-
-import java.util.concurrent.TimeUnit;
-
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Meter;
-import com.yammer.metrics.core.MetricName;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Meter;
/**
* Metrics related to Read Repair.
@@ -35,9 +31,9 @@ public class ReadRepairMetrics {
public static final String TYPE_NAME = "ReadRepair";
public static final Meter repairedBlocking =
- Metrics.newMeter(new MetricName(GROUP_NAME, TYPE_NAME, "RepairedBlocking"), "RepairedBlocking", TimeUnit.SECONDS);
+ CassandraMetricRegistry.get().meter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "RepairedBlocking"));
public static final Meter repairedBackground =
- Metrics.newMeter(new MetricName(GROUP_NAME, TYPE_NAME, "RepairedBackground"), "RepairedBackground", TimeUnit.SECONDS);
+ CassandraMetricRegistry.get().meter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "RepairedBackground"));
public static final Meter attempted =
- Metrics.newMeter(new MetricName(GROUP_NAME, TYPE_NAME, "Attempted"), "Attempted", TimeUnit.SECONDS);
+ CassandraMetricRegistry.get().meter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "Attempted"));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/StorageMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/StorageMetrics.java b/src/java/org/apache/cassandra/metrics/StorageMetrics.java
index 3cda71e..02e8e12 100644
--- a/src/java/org/apache/cassandra/metrics/StorageMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/StorageMetrics.java
@@ -17,14 +17,13 @@
*/
package org.apache.cassandra.metrics;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Counter;
-import com.yammer.metrics.core.MetricName;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Counter;
/**
* Metrics related to Storage.
*/
public class StorageMetrics
{
- public static final Counter load = Metrics.newCounter(new MetricName("org.apache.cassandra.metrics", "Storage", "Load"));
+ public static final Counter load = CassandraMetricRegistry.get().counter(MetricRegistry.name("org.apache.cassandra.metrics", "Storage", "Load"));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/StreamingMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/StreamingMetrics.java b/src/java/org/apache/cassandra/metrics/StreamingMetrics.java
index 96c79c9..bca50d8 100644
--- a/src/java/org/apache/cassandra/metrics/StreamingMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/StreamingMetrics.java
@@ -20,9 +20,8 @@ package org.apache.cassandra.metrics;
import java.net.InetAddress;
import java.util.concurrent.ConcurrentMap;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.Counter;
-import com.yammer.metrics.core.MetricName;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Counter;
import org.cliffc.high_scale_lib.NonBlockingHashMap;
/**
@@ -35,9 +34,9 @@ public class StreamingMetrics
private static final ConcurrentMap<InetAddress, StreamingMetrics> instances = new NonBlockingHashMap<InetAddress, StreamingMetrics>();
- public static final Counter activeStreamsOutbound = Metrics.newCounter(new MetricName(GROUP_NAME, TYPE_NAME, "ActiveOutboundStreams"));
- public static final Counter totalIncomingBytes = Metrics.newCounter(new MetricName(GROUP_NAME, TYPE_NAME, "TotalIncomingBytes"));
- public static final Counter totalOutgoingBytes = Metrics.newCounter(new MetricName(GROUP_NAME, TYPE_NAME, "TotalOutgoingBytes"));
+ public static final Counter activeStreamsOutbound = CassandraMetricRegistry.get().counter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "ActiveOutboundStreams"));
+ public static final Counter totalIncomingBytes = CassandraMetricRegistry.get().counter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "TotalIncomingBytes"));
+ public static final Counter totalOutgoingBytes = CassandraMetricRegistry.get().counter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "TotalOutgoingBytes"));
public final Counter incomingBytes;
public final Counter outgoingBytes;
@@ -54,7 +53,7 @@ public class StreamingMetrics
public StreamingMetrics(final InetAddress peer)
{
- incomingBytes = Metrics.newCounter(new MetricName(GROUP_NAME, TYPE_NAME, "IncomingBytes", peer.getHostAddress().replaceAll(":", ".")));
- outgoingBytes= Metrics.newCounter(new MetricName(GROUP_NAME, TYPE_NAME, "OutgoingBytes", peer.getHostAddress().replaceAll(":", ".")));
+ incomingBytes = CassandraMetricRegistry.get().counter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "IncomingBytes", peer.getHostAddress().replaceAll(":", ".")));
+ outgoingBytes= CassandraMetricRegistry.get().counter(MetricRegistry.name(GROUP_NAME, TYPE_NAME, "OutgoingBytes", peer.getHostAddress().replaceAll(":", ".")));
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java b/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java
index af54cdb..2a3776e 100644
--- a/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java
@@ -19,8 +19,8 @@ package org.apache.cassandra.metrics;
import java.util.concurrent.ThreadPoolExecutor;
-import com.yammer.metrics.Metrics;
-import com.yammer.metrics.core.*;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.*;
/**
* Metrics for {@link ThreadPoolExecutor}.
@@ -54,25 +54,25 @@ public class ThreadPoolMetrics
{
this.factory = new ThreadPoolMetricNameFactory(path, poolName);
- activeTasks = Metrics.newGauge(factory.createMetricName("ActiveTasks"), new Gauge<Integer>()
+ activeTasks = CassandraMetricRegistry.register(factory.createMetricName("ActiveTasks"), new Gauge<Integer>()
{
- public Integer value()
+ public Integer getValue()
{
return executor.getActiveCount();
}
});
- totalBlocked = Metrics.newCounter(factory.createMetricName("TotalBlockedTasks"));
- currentBlocked = Metrics.newCounter(factory.createMetricName("CurrentlyBlockedTasks"));
- completedTasks = Metrics.newGauge(factory.createMetricName("CompletedTasks"), new Gauge<Long>()
+ totalBlocked = CassandraMetricRegistry.get().counter(factory.createMetricName("TotalBlockedTasks"));
+ currentBlocked = CassandraMetricRegistry.get().counter(factory.createMetricName("CurrentlyBlockedTasks"));
+ completedTasks = CassandraMetricRegistry.register(factory.createMetricName("CompletedTasks"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return executor.getCompletedTaskCount();
}
});
- pendingTasks = Metrics.newGauge(factory.createMetricName("PendingTasks"), new Gauge<Long>()
+ pendingTasks = CassandraMetricRegistry.register(factory.createMetricName("PendingTasks"), new Gauge<Long>()
{
- public Long value()
+ public Long getValue()
{
return executor.getTaskCount() - executor.getCompletedTaskCount();
}
@@ -81,11 +81,11 @@ public class ThreadPoolMetrics
public void release()
{
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("ActiveTasks"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("PendingTasks"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("CompletedTasks"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("TotalBlockedTasks"));
- Metrics.defaultRegistry().removeMetric(factory.createMetricName("CurrentlyBlockedTasks"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("ActiveTasks"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("PendingTasks"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("CompletedTasks"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("TotalBlockedTasks"));
+ CassandraMetricRegistry.unregister(factory.createMetricName("CurrentlyBlockedTasks"));
}
class ThreadPoolMetricNameFactory implements MetricNameFactory
@@ -99,7 +99,7 @@ public class ThreadPoolMetrics
this.poolName = poolName;
}
- public MetricName createMetricName(String metricName)
+ public String createMetricName(String metricName)
{
String groupName = ThreadPoolMetrics.class.getPackage().getName();
String type = "ThreadPools";
@@ -110,7 +110,7 @@ public class ThreadPoolMetrics
mbeanName.append(",scope=").append(poolName);
mbeanName.append(",name=").append(metricName);
- return new MetricName(groupName, type, metricName, path + "." + poolName, mbeanName.toString());
+ return MetricRegistry.name(groupName, type, metricName, path + "." + poolName, mbeanName.toString());
}
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java
index 40b9f0e..ac89e71 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -782,7 +782,7 @@ public final class MessagingService implements MessagingServiceMBean
boolean logTpstats = false;
for (Map.Entry<Verb, DroppedMessageMetrics> entry : droppedMessages.entrySet())
{
- int dropped = (int) entry.getValue().dropped.count();
+ int dropped = (int) entry.getValue().dropped.getCount();
Verb verb = entry.getKey();
int recent = dropped - lastDroppedInternal.get(verb);
if (recent > 0)
@@ -919,7 +919,7 @@ public final class MessagingService implements MessagingServiceMBean
{
Map<String, Integer> map = new HashMap<String, Integer>();
for (Map.Entry<Verb, DroppedMessageMetrics> entry : droppedMessages.entrySet())
- map.put(entry.getKey().toString(), (int) entry.getValue().dropped.count());
+ map.put(entry.getKey().toString(), (int) entry.getValue().dropped.getCount());
return map;
}
@@ -933,7 +933,7 @@ public final class MessagingService implements MessagingServiceMBean
public long getTotalTimeouts()
{
- return ConnectionMetrics.totalTimeouts.count();
+ return ConnectionMetrics.totalTimeouts.getCount();
}
public long getRecentTotalTimouts()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java b/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
index 81168c6..87312e4 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
@@ -101,7 +101,7 @@ public class OutboundTcpConnectionPool
public long getTimeouts()
{
- return metrics.timeouts.count();
+ return metrics.timeouts.getCount();
}
public long getRecentTimeouts()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/scheduler/WeightedQueue.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/scheduler/WeightedQueue.java b/src/java/org/apache/cassandra/scheduler/WeightedQueue.java
index 2d2e0bd..b3ea53d 100644
--- a/src/java/org/apache/cassandra/scheduler/WeightedQueue.java
+++ b/src/java/org/apache/cassandra/scheduler/WeightedQueue.java
@@ -90,12 +90,12 @@ class WeightedQueue implements WeightedQueueMBean
public long getOperations()
{
- return metric.latency.count();
+ return metric.latency.getCount();
}
public long getTotalLatencyMicros()
{
- return metric.totalLatency.count();
+ return metric.totalLatency.getCount();
}
public double getRecentLatencyMicros()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/service/CacheService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/CacheService.java b/src/java/org/apache/cassandra/service/CacheService.java
index b787b75..16afc5a 100644
--- a/src/java/org/apache/cassandra/service/CacheService.java
+++ b/src/java/org/apache/cassandra/service/CacheService.java
@@ -151,22 +151,22 @@ public class CacheService implements CacheServiceMBean
public long getKeyCacheHits()
{
- return keyCache.getMetrics().hits.count();
+ return keyCache.getMetrics().hits.getCount();
}
public long getRowCacheHits()
{
- return rowCache.getMetrics().hits.count();
+ return rowCache.getMetrics().hits.getCount();
}
public long getKeyCacheRequests()
{
- return keyCache.getMetrics().requests.count();
+ return keyCache.getMetrics().requests.getCount();
}
public long getRowCacheRequests()
{
- return rowCache.getMetrics().requests.count();
+ return rowCache.getMetrics().requests.getCount();
}
public double getKeyCacheRecentHitRate()
@@ -219,7 +219,7 @@ public class CacheService implements CacheServiceMBean
public long getRowCacheCapacityInBytes()
{
- return rowCache.getMetrics().capacity.value();
+ return rowCache.getMetrics().capacity.getValue();
}
public long getRowCacheCapacityInMB()
@@ -237,7 +237,7 @@ public class CacheService implements CacheServiceMBean
public long getKeyCacheCapacityInBytes()
{
- return keyCache.getMetrics().capacity.value();
+ return keyCache.getMetrics().capacity.getValue();
}
public long getKeyCacheCapacityInMB()
@@ -255,7 +255,7 @@ public class CacheService implements CacheServiceMBean
public long getRowCacheSize()
{
- return rowCache.getMetrics().size.value();
+ return rowCache.getMetrics().size.getValue();
}
public long getRowCacheEntries()
@@ -265,7 +265,7 @@ public class CacheService implements CacheServiceMBean
public long getKeyCacheSize()
{
- return keyCache.getMetrics().size.value();
+ return keyCache.getMetrics().size.getValue();
}
public long getKeyCacheEntries()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index fb5cbe4..2056b49 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -1668,12 +1668,12 @@ public class StorageProxy implements StorageProxyMBean
public long getReadOperations()
{
- return readMetrics.latency.count();
+ return readMetrics.latency.getCount();
}
public long getTotalReadLatencyMicros()
{
- return readMetrics.totalLatency.count();
+ return readMetrics.totalLatency.getCount();
}
public double getRecentReadLatencyMicros()
@@ -1693,12 +1693,12 @@ public class StorageProxy implements StorageProxyMBean
public long getRangeOperations()
{
- return rangeMetrics.latency.count();
+ return rangeMetrics.latency.getCount();
}
public long getTotalRangeLatencyMicros()
{
- return rangeMetrics.totalLatency.count();
+ return rangeMetrics.totalLatency.getCount();
}
public double getRecentRangeLatencyMicros()
@@ -1718,12 +1718,12 @@ public class StorageProxy implements StorageProxyMBean
public long getWriteOperations()
{
- return writeMetrics.latency.count();
+ return writeMetrics.latency.getCount();
}
public long getTotalWriteLatencyMicros()
{
- return writeMetrics.totalLatency.count();
+ return writeMetrics.totalLatency.getCount();
}
public double getRecentWriteLatencyMicros()
@@ -1988,14 +1988,14 @@ public class StorageProxy implements StorageProxyMBean
public long getReadRepairAttempted() {
- return ReadRepairMetrics.attempted.count();
+ return ReadRepairMetrics.attempted.getCount();
}
public long getReadRepairRepairedBlocking() {
- return ReadRepairMetrics.repairedBlocking.count();
+ return ReadRepairMetrics.repairedBlocking.getCount();
}
public long getReadRepairRepairedBackground() {
- return ReadRepairMetrics.repairedBackground.count();
+ return ReadRepairMetrics.repairedBackground.getCount();
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c27a1619/test/unit/org/apache/cassandra/db/KeyspaceTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/KeyspaceTest.java b/test/unit/org/apache/cassandra/db/KeyspaceTest.java
index faee4e7..9b5b6dd 100644
--- a/test/unit/org/apache/cassandra/db/KeyspaceTest.java
+++ b/test/unit/org/apache/cassandra/db/KeyspaceTest.java
@@ -467,18 +467,18 @@ public class KeyspaceTest extends SchemaLoader
rm.apply();
cfStore.forceBlockingFlush();
}
- cfStore.metric.sstablesPerReadHistogram.clear();
+ //cfStore.metric.sstablesPerReadHistogram.clear();
ColumnFamily cf = cfStore.getColumnFamily(key, ByteBufferUtil.bytes(""), ByteBufferUtil.bytes("col1499"), false, 1000, System.currentTimeMillis());
- assertEquals(cfStore.metric.sstablesPerReadHistogram.max(), 5, 0.1);
+ assertEquals(cfStore.metric.sstablesPerReadHistogram.getSnapshot().getMax(), 5, 0.1);
int i = 0;
for (Column c : cf.getSortedColumns())
{
assertEquals(ByteBufferUtil.string(c.name), "col" + (1000 + i++));
}
assertEquals(i, 500);
- cfStore.metric.sstablesPerReadHistogram.clear();
+ //cfStore.metric.sstablesPerReadHistogram.clear();
cf = cfStore.getColumnFamily(key, ByteBufferUtil.bytes("col1500"), ByteBufferUtil.bytes("col2000"), false, 1000, System.currentTimeMillis());
- assertEquals(cfStore.metric.sstablesPerReadHistogram.max(), 5, 0.1);
+ assertEquals(cfStore.metric.sstablesPerReadHistogram.getSnapshot().getMax(), 5, 0.1);
for (Column c : cf.getSortedColumns())
{
@@ -487,9 +487,9 @@ public class KeyspaceTest extends SchemaLoader
assertEquals(i, 1000);
// reverse
- cfStore.metric.sstablesPerReadHistogram.clear();
+ //cfStore.metric.sstablesPerReadHistogram.clear();
cf = cfStore.getColumnFamily(key, ByteBufferUtil.bytes("col2000"), ByteBufferUtil.bytes("col1500"), true, 1000, System.currentTimeMillis());
- assertEquals(cfStore.metric.sstablesPerReadHistogram.max(), 5, 0.1);
+ assertEquals(cfStore.metric.sstablesPerReadHistogram.getSnapshot().getMax(), 5, 0.1);
i = 500;
for (Column c : cf.getSortedColumns())
{
@@ -536,13 +536,13 @@ public class KeyspaceTest extends SchemaLoader
}
ByteBuffer start = ct.builder().add(ByteBufferUtil.bytes("a5")).add(ByteBufferUtil.bytes(85)).build();
ByteBuffer finish = ct.builder().add(ByteBufferUtil.bytes("a5")).buildAsEndOfRange();
- cfs.metric.sstablesPerReadHistogram.clear();
+ //cfs.metric.sstablesPerReadHistogram.clear();
ColumnFamily cf = cfs.getColumnFamily(key, start, finish, false, 1000, System.currentTimeMillis());
int colCount = 0;
for (Column c : cf)
colCount++;
assertEquals(2, colCount);
- assertEquals(2, cfs.metric.sstablesPerReadHistogram.max(), 0.1);
+ assertEquals(2, cfs.metric.sstablesPerReadHistogram.getSnapshot().getMax(), 0.1);
}
private void validateSliceLarge(ColumnFamilyStore cfStore) throws IOException