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