don’t throw exception if counter does not exist yet

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

Branch: refs/heads/master
Commit: b405ce8ce2cf6cc77933dd2af9757dc764bd2693
Parents: 78fc3fc
Author: Dave Johnson <snoopd...@apache.org>
Authored: Thu Nov 10 12:31:12 2016 -0500
Committer: Dave Johnson <snoopd...@apache.org>
Committed: Thu Nov 10 12:31:12 2016 -0500

----------------------------------------------------------------------
 .../rest/system/QueueSystemResource.java        | 40 +++++++++++++-------
 1 file changed, 26 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/b405ce8c/stack/rest/src/main/java/org/apache/usergrid/rest/system/QueueSystemResource.java
----------------------------------------------------------------------
diff --git 
a/stack/rest/src/main/java/org/apache/usergrid/rest/system/QueueSystemResource.java
 
b/stack/rest/src/main/java/org/apache/usergrid/rest/system/QueueSystemResource.java
index 6345687..5608366 100644
--- 
a/stack/rest/src/main/java/org/apache/usergrid/rest/system/QueueSystemResource.java
+++ 
b/stack/rest/src/main/java/org/apache/usergrid/rest/system/QueueSystemResource.java
@@ -113,16 +113,24 @@ public class QueueSystemResource extends 
AbstractContextResource {
             }
             SortedSet<String> names = 
metricsService.getMetricRegistry().getNames();
             for (String name : names) {
-                Timer t = metricsService.getMetricRegistry().timer( name );
-                put( name, new HashMap<String, Object>() {{
-                    put( "count", ""            + t.getCount() );
-                    put( "mean_rate", ""        + format.format( 
t.getMeanRate() ) );
-                    put( "one_minute_rate", ""  + format.format( 
t.getOneMinuteRate() ) );
-                    put( "five_minute_rate", "" + format.format( 
t.getFiveMinuteRate() ) );
-                    put( "mean (s)", ""         + format.format( 
t.getSnapshot().getMean() / nano ) );
-                    put( "min (s)", ""          + format.format( (double) 
t.getSnapshot().getMin() / nano ) );
-                    put( "max (s)", ""          + format.format( (double) 
t.getSnapshot().getMax() / nano ) );
-                }} );
+                Timer timer = null;
+                try { timer = metricsService.getMetricRegistry().timer( name 
); } catch ( Exception e ) {}
+                if ( timer == null ) {
+                    put( name, new HashMap<String, Object>() {{
+                        put( name, "missing" );
+                    }} );
+                } else {
+                    final Timer t = timer;
+                    put( name, new HashMap<String, Object>() {{
+                        put( "count", "" + t.getCount() );
+                        put( "mean_rate", "" + format.format( t.getMeanRate() 
) );
+                        put( "one_minute_rate", "" + format.format( 
t.getOneMinuteRate() ) );
+                        put( "five_minute_rate", "" + format.format( 
t.getFiveMinuteRate() ) );
+                        put( "mean (s)", "" + format.format( 
t.getSnapshot().getMean() / nano ) );
+                        put( "min (s)", "" + format.format( (double) 
t.getSnapshot().getMin() / nano ) );
+                        put( "max (s)", "" + format.format( (double) 
t.getSnapshot().getMax() / nano ) );
+                    }} );
+                }
             }
         }};
 
@@ -163,11 +171,15 @@ public class QueueSystemResource extends 
AbstractContextResource {
                 UUID newest = inMemoryQueue.getNewest( queueName );
                 queueInfo.put( "since", newest == null ? "null" : 
newest.timestamp() );
 
-                queueInfo.put( "depth",
-                    queueMessageManager.getQueueDepth( queueName, 
DatabaseQueueMessage.Type.DEFAULT ) );
-                queueInfo.put( "inflight",
-                    queueMessageManager.getQueueDepth( queueName, 
DatabaseQueueMessage.Type.INFLIGHT ) );
+                try {
+                    queueInfo.put( "depth",
+                        queueMessageManager.getQueueDepth( queueName, 
DatabaseQueueMessage.Type.DEFAULT ) );
+                } catch ( Exception intentionallyIgnored ) {}
 
+                try {
+                    queueInfo.put( "inflight",
+                        queueMessageManager.getQueueDepth( queueName, 
DatabaseQueueMessage.Type.INFLIGHT ) );
+                } catch ( Exception intentionallyIgnored ) {}
 
             } catch ( Exception e ) {
                 logger.error("Error getting queue info for queue: " + 
queueName, e);

Reply via email to