You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by rm...@apache.org on 2013/10/14 08:39:59 UTC
svn commit: r1531800 -
/commons/sandbox/monitoring/trunk/graphite/src/main/java/org/apache/commons/monitoring/graphite/GraphiteDataStore.java
Author: rmannibucau
Date: Mon Oct 14 06:39:58 2013
New Revision: 1531800
URL: http://svn.apache.org/r1531800
Log:
ensuring we don't have any space which could corrupt the sent data in keys
Modified:
commons/sandbox/monitoring/trunk/graphite/src/main/java/org/apache/commons/monitoring/graphite/GraphiteDataStore.java
Modified: commons/sandbox/monitoring/trunk/graphite/src/main/java/org/apache/commons/monitoring/graphite/GraphiteDataStore.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/graphite/src/main/java/org/apache/commons/monitoring/graphite/GraphiteDataStore.java?rev=1531800&r1=1531799&r2=1531800&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/graphite/src/main/java/org/apache/commons/monitoring/graphite/GraphiteDataStore.java (original)
+++ commons/sandbox/monitoring/trunk/graphite/src/main/java/org/apache/commons/monitoring/graphite/GraphiteDataStore.java Mon Oct 14 06:39:58 2013
@@ -38,6 +38,8 @@ public class GraphiteDataStore extends B
private static final String GAUGE_PREFIX = "gauge-";
private static final String COUNTER_PREFIX = "counter-";
private static final char SEP = '-';
+ private static final char SPACE_REPLACEMENT_CHAR = '_';
+ private static final char SPACE = ' ';
@Override
protected void pushCountersByBatch(final Repository instance) {
@@ -48,7 +50,7 @@ public class GraphiteDataStore extends B
for (final Counter counter : instance) {
final Counter.Key key = counter.getKey();
- final String prefix = COUNTER_PREFIX + key.getRole().getName() + SEP + key.getName() + SEP;
+ final String prefix = noSpace(COUNTER_PREFIX + key.getRole().getName() + SEP + key.getName() + SEP);
for (final MetricData data : MetricData.values()) {
GRAPHITE.push(
@@ -67,12 +69,16 @@ public class GraphiteDataStore extends B
@Override
public void addToGauge(final Gauge gauge, final long time, final double value) {
try {
- GRAPHITE.simplePush(GAUGE_PREFIX + gauge.role().getName(), value, time);
+ GRAPHITE.simplePush(GAUGE_PREFIX + noSpace(gauge.role().getName()), value, time);
} catch (final IOException e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
}
}
+ private static String noSpace(final String s) {
+ return s.replace(SPACE, SPACE_REPLACEMENT_CHAR);
+ }
+
@Override
public Map<Long, Double> getGaugeValues(final GaugeValuesRequest gaugeValuesRequest) {
return Collections.emptyMap(); // when using graphite we expect the user to use Graphite to render metrics