You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/06/10 03:07:59 UTC

[03/14] incubator-usergrid git commit: renamed JMX counters/timers, moved some to be instance attributes vs local attributes, defined in method

renamed JMX counters/timers, moved some to be instance attributes vs local attributes, defined in method


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

Branch: refs/heads/USERGRID-652
Commit: 179e0062d095eb998386b2066c91e223c812e40c
Parents: 17059d8
Author: Jeff West <jw...@apigee.com>
Authored: Fri Jun 5 11:31:22 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Fri Jun 5 11:31:22 2015 -0700

----------------------------------------------------------------------
 .../batch/service/JobSchedulerService.java      |  8 +--
 .../corepersistence/CpEntityManager.java        | 68 ++++++++------------
 .../asyncevents/AmazonAsyncEventService.java    | 10 +--
 .../search/AbstractElasticSearchFilter.java     |  2 +-
 .../impl/EntityCollectionManagerImpl.java       | 22 +++----
 .../mvcc/stage/delete/UniqueCleanup.java        |  2 +-
 .../mvcc/stage/delete/VersionCompact.java       |  2 +-
 .../core/metrics/MetricsFactoryImpl.java        | 46 +++++++------
 .../graph/impl/GraphManagerImpl.java            | 28 ++++----
 .../impl/EsApplicationEntityIndexImpl.java      | 12 ++--
 .../index/impl/EsEntityIndexImpl.java           | 24 +++----
 .../index/impl/EsIndexBufferConsumerImpl.java   | 18 +++---
 .../index/impl/IndexRefreshCommandImpl.java     |  2 +-
 .../index/impl/IndexLoadTestsIT.java            |  6 +-
 .../rest/management/ManagementResource.java     |  8 +--
 .../notifications/NotificationsService.java     |  6 +-
 .../services/notifications/QueueJob.java        |  6 +-
 .../services/notifications/QueueListener.java   |  4 +-
 .../impl/ApplicationQueueManagerImpl.java       | 19 +++---
 .../usergrid/services/queues/QueueListener.java | 14 ++--
 20 files changed, 140 insertions(+), 167 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java b/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java
index 4b283df..d76be6f 100644
--- a/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java
@@ -88,10 +88,10 @@ public class JobSchedulerService extends AbstractScheduledService {
 
         MetricsFactory metricsFactory = injector.getInstance( MetricsFactory.class );
 
-        jobTimer = metricsFactory.getTimer( JobSchedulerService.class, "job_execution_timer" );
-        runCounter = metricsFactory.getCounter( JobSchedulerService.class, "running_workers" );
-        successCounter = metricsFactory.getCounter( JobSchedulerService.class, "successful_jobs" );
-        failCounter = metricsFactory.getCounter( JobSchedulerService.class, "failed_jobs" );
+        jobTimer = metricsFactory.getTimer( JobSchedulerService.class, "scheduler.job_execution_timer" );
+        runCounter = metricsFactory.getCounter( JobSchedulerService.class, "scheduler.running_workers" );
+        successCounter = metricsFactory.getCounter( JobSchedulerService.class, "scheduler.successful_jobs" );
+        failCounter = metricsFactory.getCounter( JobSchedulerService.class, "scheduler.failed_jobs" );
 
         try {
             LOG.info( "Running one check iteration ..." );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
index 1418e06..b89a044 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
@@ -256,54 +256,38 @@ public class CpEntityManager implements EntityManager {
 
         //Timer Setup
         this.metricsFactory = metricsFactory;
-        this.aggCounterTimer =this.metricsFactory.getTimer( CpEntityManager.class,
-            "cp.entity.get.aggregate.counters.timer" );
-        this.entCreateTimer =this.metricsFactory.getTimer( CpEntityManager.class, "cp.entity.create.timer" );
-        this.entCreateBatchTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.create.batch.timer");
-        this.esDeletePropertyTimer =this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.es.delete.property.timer");
-        this.entAddDictionaryTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.add.dictionary.timer");
-        this.entAddDictionarySetTimer = this.metricsFactory.getTimer( CpEntityManager.class,
-            "cp.entity.add.dictionary.set.timer" );
-        this.entAddDictionaryMapTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.add.dictionary.map.timer");
-        this.entRemoveDictionaryTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.remove.dictionary.timer");
-        this.entCreateRoleTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.create.role.timer");
-        this.entCreateRolePermissionsTimer =this.metricsFactory
-            .getTimer( CpEntityManager.class,
-                "cp.entity.create.role.permissions.timer" );
-        this.entGrantGroupPermissionTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.grant.group.permission.timer");
-        this.entRevokeGroupPermissionTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.revoke.group.permission.timer");
-        this.entIncrementAggregateCountersTimer =this.metricsFactory.getTimer( CpEntityManager.class,
-                "cp.entity.increment.aggregate.counters.timer" );
-        this.entGetAggregateCountersQueryTimer = this.metricsFactory.getTimer( CpEntityManager.class,
-                "cp.entity.get.aggregate.counters.query.timer" );
-        this.entGetEntityCountersTimer = this.metricsFactory.getTimer( CpEntityManager.class,
-                "cp.entity.get.entity.counters.timer" );
-        this.esIndexEntityCollectionTimer = this.metricsFactory
-            .getTimer( CpEntityManager.class, "cp.entity.es.index.entity.to.collection.timer" );
-        this.entRevokeRolePermissionsTimer =
-            this.metricsFactory.getTimer( CpEntityManager.class, "cp.entity.revoke.role.permissions.timer");
-        this.entGetRepairedEntityTimer = this.metricsFactory
-            .getTimer( CpEntityManager.class, "get.repaired.entity.timer" );
-
-        this.updateEntityMeter =this.metricsFactory.getMeter(CpEntityManager.class,"cp.entity.update.meter");
-        this.updateEntityTimer =this.metricsFactory.getTimer(CpEntityManager.class, "cp.entity.update.timer");
+        this.aggCounterTimer = this.metricsFactory.getTimer(CpEntityManager.class, "aggregate_counters.get");
+        this.entIncrementAggregateCountersTimer = this.metricsFactory.getTimer(CpEntityManager.class, "aggregate_counters.increment");
+        this.entGetAggregateCountersQueryTimer = this.metricsFactory.getTimer(CpEntityManager.class, "aggregate_counters_query.get");
 
-        // set to false for now
-        this.skipAggregateCounters = false;
+        this.entCreateTimer = this.metricsFactory.getTimer(CpEntityManager.class, "entity.create");
+        this.updateEntityMeter = this.metricsFactory.getMeter(CpEntityManager.class, "entity.update");
+        this.updateEntityTimer = this.metricsFactory.getTimer(CpEntityManager.class, "entity.update");
 
+        this.entCreateBatchTimer = this.metricsFactory.getTimer(CpEntityManager.class, "batch.create");
 
-    }
+        this.esDeletePropertyTimer = this.metricsFactory.getTimer(CpEntityManager.class, "es_property.delete");
+        this.entAddDictionaryTimer = this.metricsFactory.getTimer(CpEntityManager.class, "dictionary.add");
+        this.entAddDictionarySetTimer = this.metricsFactory.getTimer(CpEntityManager.class, "dictionary_set.add");
+        this.entAddDictionaryMapTimer = this.metricsFactory.getTimer(CpEntityManager.class, "dictionary_map.add");
+        this.entRemoveDictionaryTimer = this.metricsFactory.getTimer(CpEntityManager.class, "dictionary.remove");
+
+        this.entCreateRoleTimer = this.metricsFactory.getTimer(CpEntityManager.class, "role.create");
+        this.entRevokeRolePermissionsTimer = this.metricsFactory.getTimer(CpEntityManager.class, "role.revoke_permissions");
+        this.entCreateRolePermissionsTimer = this.metricsFactory.getTimer(CpEntityManager.class, "role.create_permissions");
+
+        this.entGrantGroupPermissionTimer = this.metricsFactory.getTimer(CpEntityManager.class, "group.grant_permission");
+        this.entRevokeGroupPermissionTimer = this.metricsFactory.getTimer(CpEntityManager.class, "group.revoke_permission");
 
+        this.entGetEntityCountersTimer = this.metricsFactory.getTimer(CpEntityManager.class, "entity_counters.get");
+        this.esIndexEntityCollectionTimer = this.metricsFactory.getTimer(CpEntityManager.class, "es.index_entity_to_collection");
+        this.entGetRepairedEntityTimer = this.metricsFactory.getTimer(CpEntityManager.class, "repaired_entity.get");
 
 
+        // set to false for now
+        this.skipAggregateCounters = false;
+    }
+
 
     /**
      * Load entity from short-term cache. Package scope so that CpRelationManager can use it too.

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index fc13d85..9e04b01 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -106,14 +106,14 @@ public class AmazonAsyncEventService implements AsyncEventService {
         this.queue = queueManagerFactory.getQueueManager(queueScope);
         this.indexProcessorFig = indexProcessorFig;
 
-        this.writeTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "write");
-        this.readTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "read");
-        this.messageProcessingTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "message.processing");
-        this.indexErrorCounter = metricsFactory.getCounter(AmazonAsyncEventService.class, "error");
+        this.writeTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "async_event.write");
+        this.readTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "async_event.read");
+        this.messageProcessingTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "async_event.message_processing");
+        this.indexErrorCounter = metricsFactory.getCounter(AmazonAsyncEventService.class, "async_event.error");
 
 
         //wire up the gauge of inflight message
-        metricsFactory.addGauge(AmazonAsyncEventService.class, "inflight.meter", new Gauge<Long>() {
+        metricsFactory.addGauge(AmazonAsyncEventService.class, "async-event.inflight", new Gauge<Long>() {
             @Override
             public Long getValue() {
                 return inFlight.longValue();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
index 2fdffd2..7ab9418 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
@@ -58,7 +58,7 @@ public abstract class AbstractElasticSearchFilter extends AbstractPathFilter<Id,
                                         final MetricsFactory metricsFactory, final String query ) {
         this.entityIndexFactory = entityIndexFactory;
         this.query = query;
-        this.searchTimer = metricsFactory.getTimer( AbstractElasticSearchFilter.class, "query" );
+        this.searchTimer = metricsFactory.getTimer( AbstractElasticSearchFilter.class, "query.search" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
index 7a32d72..ff3bd7b 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
@@ -161,13 +161,13 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
 
         this.applicationScope = applicationScope;
         this.mvccLogEntrySerializationStrategy = mvccLogEntrySerializationStrategy;
-        this.writeTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "write" );
-        this.deleteTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "delete" );
-        this.fieldIdTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "fieldId" );
-        this.fieldEntityTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "fieldEntity" );
-        this.updateTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "update" );
-        this.loadTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "load" );
-        this.getLatestTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "latest" );
+        this.writeTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.write");
+        this.deleteTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.delete");
+        this.fieldIdTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.fieldId");
+        this.fieldEntityTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.fieldEntity");
+        this.updateTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.update");
+        this.loadTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.load");
+        this.getLatestTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.latest");
     }
 
 
@@ -202,7 +202,7 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
         Preconditions.checkNotNull( entityId.getType(), "Entity type is required in this stage" );
 
         Observable<Id> o = Observable.just( new CollectionIoEvent<>( applicationScope, entityId ) ).map( markStart )
-                                     .doOnNext( markCommit ).compose( uniqueCleanup ).map(
+            .doOnNext( markCommit ).compose( uniqueCleanup ).map(
                 entityEvent -> entityEvent.getEvent().getId() );
 
 
@@ -279,7 +279,7 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
 
 
         return Observable.from( entries ).map( logEntry -> new CollectionIoEvent<>( applicationScope, logEntry ) )
-                         .compose( versionCompact ).map( event -> event.getEvent() );
+            .compose( versionCompact ).map( event -> event.getEvent() );
     }
 
 
@@ -386,13 +386,13 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
 
             Observable<CollectionIoEvent<MvccEntity>> uniqueObservable =
                 Observable.just( mvccEntityCollectionIoEvent ).subscribeOn( rxTaskScheduler.getAsyncIOScheduler() )
-                          .doOnNext( writeVerifyUnique );
+                    .doOnNext( writeVerifyUnique );
 
 
             // optimistic verification
             Observable<CollectionIoEvent<MvccEntity>> optimisticObservable =
                 Observable.just( mvccEntityCollectionIoEvent ).subscribeOn( rxTaskScheduler.getAsyncIOScheduler() )
-                          .doOnNext( writeOptimisticVerify );
+                    .doOnNext( writeOptimisticVerify );
 
             final Observable<CollectionIoEvent<MvccEntity>> zip =
                 Observable.zip( uniqueObservable, optimisticObservable, ( unique, optimistic ) -> optimistic );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java
index affd82c..3f66536 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java
@@ -75,7 +75,7 @@ public class UniqueCleanup
         this.serializationFig = serializationFig;
         this.uniqueValueSerializationStrategy = uniqueValueSerializationStrategy;
         this.keyspace = keyspace;
-        this.uniqueCleanupTimer = metricsFactory.getTimer( UniqueCleanup.class, "uniquecleanup" );
+        this.uniqueCleanupTimer = metricsFactory.getTimer( UniqueCleanup.class, "uniquecleanup.base" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
index e20ad30..5554a5f 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
@@ -69,7 +69,7 @@ public class VersionCompact
         this.serializationFig = serializationFig;
         this.keyspace = keyspace;
         this.mvccEntitySerializationStrategy = mvccEntitySerializationStrategy;
-        this.compactTimer = metricsFactory.getTimer( VersionCompact.class, "compact" );
+        this.compactTimer = metricsFactory.getTimer( VersionCompact.class, "version.compact" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
index b068782..1b2dfdb 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
@@ -49,26 +49,25 @@ public class MetricsFactoryImpl implements MetricsFactory {
     private MetricRegistry registry;
     private GraphiteReporter graphiteReporter;
     private JmxReporter jmxReporter;
-    private static final Logger LOG = LoggerFactory.getLogger( MetricsFactoryImpl.class );
+    private static final Logger LOG = LoggerFactory.getLogger(MetricsFactoryImpl.class);
 
 
     @Inject
-    public MetricsFactoryImpl( MetricsFig metricsFig ) {
+    public MetricsFactoryImpl(MetricsFig metricsFig) {
         registry = new MetricRegistry();
         String metricsHost = metricsFig.getHost();
-        if ( !metricsHost.equals( "false" ) ) {
-            Graphite graphite = new Graphite( new InetSocketAddress( metricsHost, 2003 ) );
-            graphiteReporter = GraphiteReporter.forRegistry( registry ).prefixedWith( "usergrid-metrics" )
-                                               .convertRatesTo( TimeUnit.SECONDS )
-                                               .convertDurationsTo( TimeUnit.MILLISECONDS ).filter( MetricFilter.ALL )
-                                               .build( graphite );
-            graphiteReporter.start( 30, TimeUnit.SECONDS );
-        }
-        else {
-            LOG.warn( "MetricsService:Logger not started." );
+        if (!metricsHost.equals("false")) {
+            Graphite graphite = new Graphite(new InetSocketAddress(metricsHost, 2003));
+            graphiteReporter = GraphiteReporter.forRegistry(registry).prefixedWith("usergrid-metrics")
+                .convertRatesTo(TimeUnit.SECONDS)
+                .convertDurationsTo(TimeUnit.MILLISECONDS).filter(MetricFilter.ALL)
+                .build(graphite);
+            graphiteReporter.start(30, TimeUnit.SECONDS);
+        } else {
+            LOG.warn("MetricsService:Logger not started.");
         }
 
-        jmxReporter = JmxReporter.forRegistry( registry ).build();
+        jmxReporter = JmxReporter.forRegistry(registry).build();
         jmxReporter.start();
     }
 
@@ -80,34 +79,33 @@ public class MetricsFactoryImpl implements MetricsFactory {
 
 
     @Override
-    public Timer getTimer( Class<?> klass, String name ) {
-        return getRegistry().timer( MetricRegistry.name( klass, name ) );
+    public Timer getTimer(Class<?> klass, String name) {
+        return getRegistry().timer(MetricRegistry.name(klass, name + ".timer"));
     }
 
 
     @Override
-    public Histogram getHistogram( Class<?> klass, String name ) {
-        return getRegistry().histogram( MetricRegistry.name( klass, name ) );
+    public Histogram getHistogram(Class<?> klass, String name) {
+        return getRegistry().histogram(MetricRegistry.name(klass, name + ".histogram"));
     }
 
 
     @Override
-    public Counter getCounter( Class<?> klass, String name ) {
-        return getRegistry().counter( MetricRegistry.name( klass, name ) );
+    public Counter getCounter(Class<?> klass, String name) {
+        return getRegistry().counter(MetricRegistry.name(klass, name + ".counter"));
     }
 
 
     @Override
-    public Meter getMeter( Class<?> klass, String name ) {
-        return getRegistry().meter( MetricRegistry.name( klass, name ) );
+    public Meter getMeter(Class<?> klass, String name) {
+        return getRegistry().meter(MetricRegistry.name(klass, name + ".meter"));
     }
 
 
     @Override
-    public void addGauge( final Class<?> clazz, final String name, final Gauge<?> gauge ) {
+    public void addGauge(final Class<?> clazz, final String name, final Gauge<?> gauge) {
 
-        this.getRegistry().register( MetricRegistry.name( clazz, name ), gauge );
+        this.getRegistry().register(MetricRegistry.name(clazz, name), gauge);
     }
 
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
index e4ce4fd..8c64fa1 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
@@ -122,24 +122,24 @@ public class GraphManagerImpl implements GraphManager {
         this.edgeDeleteListener = edgeDeleteListener;
         this.nodeDeleteListener = nodeDeleteListener;
 
-        this.writeEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "write.edge" );
-        this.markEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "mark.edge" );
-        this.deleteEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "delete.edge" );
-        this.markNodeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "mark.node" );
-        this.deleteNodeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "delete.node" );
-        this.loadEdgesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.from" );
-        this.loadEdgesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.to" );
-        this.loadEdgesVersionsTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.versions" );
-        this.loadEdgesFromSourceByTypeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.from.type" );
-        this.loadEdgesToTargetByTypeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.to.type" );
+        this.markNodeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "node.mark" );
+        this.deleteNodeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "node.delete" );
+        this.writeEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.write" );
 
-        this.getEdgeTypesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "get.edge.from" );
+        this.markEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.mark" );
+        this.deleteEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.delete" );
+        this.loadEdgesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_from" );
+        this.loadEdgesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_to" );
+        this.loadEdgesVersionsTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_versions" );
+        this.loadEdgesFromSourceByTypeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_from_type" );
+        this.loadEdgesToTargetByTypeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_to_type" );
+        this.getEdgeTypesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.get_edge_from" );
+        this.getEdgeTypesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.get_to" );
 
-        this.getIdTypesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "get.idtype.from" );
+        this.getIdTypesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "idtype.get_from" );
+        this.getIdTypesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "idtype.get_to" );
 
-        this.getEdgeTypesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "get.edge.to" );
 
-        this.getIdTypesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "get.idtype.to" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java
index fb2dc86..1d1c0c4 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java
@@ -121,16 +121,14 @@ public class EsApplicationEntityIndexImpl implements ApplicationEntityIndex {
         this.failureMonitor = new FailureMonitorImpl( config, provider );
         this.esProvider = provider;
 
-        mapManager = mapManagerFactory.createMapManager( mapScope );
-        this.searchTimer = metricsFactory.getTimer( EsApplicationEntityIndexImpl.class, "search.timer" );
-        this.cursorTimer = metricsFactory.getTimer( EsApplicationEntityIndexImpl.class, "search.cursor.timer" );
+        mapManager = mapManagerFactory.createMapManager(mapScope);
+        this.searchTimer = metricsFactory.getTimer(EsApplicationEntityIndexImpl.class, "base.search");
+        this.cursorTimer = metricsFactory.getTimer(EsApplicationEntityIndexImpl.class, "cursor.search");
         this.cursorTimeout = config.getQueryCursorTimeout();
         this.queryTimeout = config.getWriteTimeout();
 
-        this.deleteApplicationTimer =
-                metricsFactory.getTimer( EsApplicationEntityIndexImpl.class, "delete.application" );
-        this.deleteApplicationMeter =
-                metricsFactory.getMeter( EsApplicationEntityIndexImpl.class, "delete.application.meter" );
+        this.deleteApplicationTimer = metricsFactory.getTimer(EsApplicationEntityIndexImpl.class, "application.delete");
+        this.deleteApplicationMeter = metricsFactory.getMeter(EsApplicationEntityIndexImpl.class, "application.delete");
 
         this.alias = indexIdentifier.getAlias();
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
index 904f58b..230c82a 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
@@ -109,14 +109,10 @@ public class EsEntityIndexImpl implements AliasedEntityIndex,VersionedData {
         this.indexRefreshCommand = indexRefreshCommand;
         this.alias = indexIdentifier.getAlias();
         this.aliasCache = indexCache;
-        this.addTimer = metricsFactory
-            .getTimer(EsEntityIndexImpl.class, "add.timer");
-        this.updateAliasTimer = metricsFactory
-            .getTimer(EsEntityIndexImpl.class, "update.alias.timer");
-        this.mappingTimer = metricsFactory
-            .getTimer(EsEntityIndexImpl.class, "create.mapping.timer");
-
-        this.refreshIndexMeter = metricsFactory.getMeter(EsEntityIndexImpl.class,"refresh.meter");
+        this.addTimer = metricsFactory.getTimer(EsEntityIndexImpl.class, "index.add");
+        this.updateAliasTimer = metricsFactory.getTimer(EsEntityIndexImpl.class, "index.update_alias");
+        this.mappingTimer = metricsFactory.getTimer(EsEntityIndexImpl.class, "index.create_mapping");
+        this.refreshIndexMeter = metricsFactory.getMeter(EsEntityIndexImpl.class, "index.refresh_index");
 
     }
 
@@ -149,19 +145,19 @@ public class EsEntityIndexImpl implements AliasedEntityIndex,VersionedData {
                 final AdminClient admin = esProvider.getClient().admin();
                 Settings settings = ImmutableSettings.settingsBuilder()
                         .put("index.number_of_shards", numberOfShards)
-                        .put("index.number_of_replicas", numberOfReplicas)
+                    .put("index.number_of_replicas", numberOfReplicas)
 
                         //dont' allow unmapped queries, and don't allow dynamic mapping
-                        .put("index.query.parse.allow_unmapped_fields", false )
-                        .put("index.mapper.dynamic", false)
-                        .put( "action.write_consistency", writeConsistency )
-                        .build();
+                        .put("index.query.parse.allow_unmapped_fields", false)
+                    .put("index.mapper.dynamic", false)
+                    .put("action.write_consistency", writeConsistency)
+                    .build();
 
                 //Added For Graphite Metrics
                 Timer.Context timeNewIndexCreation = addTimer.time();
                 final CreateIndexResponse cir = admin.indices().prepareCreate(indexName)
                         .setSettings(settings)
-                        .execute()
+                    .execute()
                         .actionGet();
                 timeNewIndexCreation.stop();
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
index 6f2505d..0ba1d0b 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
@@ -82,22 +82,20 @@ public class EsIndexBufferConsumerImpl implements IndexBufferConsumer {
     @Inject
     public EsIndexBufferConsumerImpl( final IndexFig config, final EsProvider provider,
                                       final MetricsFactory metricsFactory, final IndexFig indexFig ) {
-
-        this.flushTimer = metricsFactory.getTimer( EsIndexBufferConsumerImpl.class, "buffer.flush" );
-        this.flushMeter = metricsFactory.getMeter( EsIndexBufferConsumerImpl.class, "buffer.meter" );
-        this.indexSizeCounter = metricsFactory.getCounter( EsIndexBufferConsumerImpl.class, "buffer.size" );
-        this.indexErrorCounter = metricsFactory.getCounter( EsIndexBufferConsumerImpl.class, "error.count" );
-        this.offerTimer = metricsFactory.getTimer( EsIndexBufferConsumerImpl.class, "index.buffer.producer.timer" );
+        this.flushTimer = metricsFactory.getTimer(EsIndexBufferConsumerImpl.class, "index_buffer.flush");
+        this.flushMeter = metricsFactory.getMeter(EsIndexBufferConsumerImpl.class, "index_buffer.flush");
+        this.indexSizeCounter = metricsFactory.getCounter(EsIndexBufferConsumerImpl.class, "index_buffer.size");
+        this.indexErrorCounter = metricsFactory.getCounter(EsIndexBufferConsumerImpl.class, "index_buffer.error");
+        this.offerTimer = metricsFactory.getTimer(EsIndexBufferConsumerImpl.class, "index_buffer.producer");
 
         //wire up the gauge of inflight messages
-        metricsFactory.addGauge( EsIndexBufferConsumerImpl.class, "inflight.meter", () -> inFlight.longValue() );
+        metricsFactory.addGauge(EsIndexBufferConsumerImpl.class, "index_buffer.inflight", () -> inFlight.longValue());
 
 
         this.config = config;
-        this.failureMonitor = new FailureMonitorImpl( config, provider );
+        this.failureMonitor = new FailureMonitorImpl(config, provider);
         this.client = provider.getClient();
-        this.produceTimer =
-            metricsFactory.getTimer( EsIndexBufferConsumerImpl.class, "index.buffer.consumer.messageFetch" );
+        this.produceTimer = metricsFactory.getTimer(EsIndexBufferConsumerImpl.class, "index_buffer.consumer_messageFetch");
         this.indexFig = indexFig;
 
         this.bufferProducer = new BufferProducer();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
index e7ae241..6dfd0c9 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
@@ -74,7 +74,7 @@ public class IndexRefreshCommandImpl implements IndexRefreshCommand {
                                     final IndexCache indexCache ) {
 
 
-        this.timer = metricsFactory.getTimer( IndexRefreshCommandImpl.class, "index.refresh.timer" );
+        this.timer = metricsFactory.getTimer( IndexRefreshCommandImpl.class, "index.refresh" );
         this.alias = indexIdentifier.getAlias();
         this.esProvider = esProvider;
         this.producer = producer;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java
index 812e756..df7480e 100644
--- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java
+++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java
@@ -133,13 +133,13 @@ public class IndexLoadTestsIT extends BaseIT {
         final Id applicationId = new SimpleId( applicationUUID, "application" );
 
 
-        batchWriteTPS = metricsFactory.getMeter( IndexLoadTestsIT.class, "write.tps" );
+        batchWriteTPS = metricsFactory.getMeter( IndexLoadTestsIT.class, "batch.write_tps" );
 
-        batchWriteTimer = metricsFactory.getTimer( IndexLoadTestsIT.class, "write.timer" );
+        batchWriteTimer = metricsFactory.getTimer( IndexLoadTestsIT.class, "batch.write" );
 
         queryTps = metricsFactory.getMeter( IndexLoadTestsIT.class, "query.tps" );
 
-        queryTimer = metricsFactory.getTimer( IndexLoadTestsIT.class, "query.timer" );
+        queryTimer = metricsFactory.getTimer( IndexLoadTestsIT.class, "query.test" );
 
         reporter =
             Slf4jReporter.forRegistry( metricsFactory.getRegistry() ).outputTo( log ).convertRatesTo( TimeUnit.SECONDS )

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
index 3f89271..e0bedf8 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
@@ -115,10 +115,10 @@ public class ManagementResource extends AbstractContextResource {
 
 
     // names for metrics to be collected
-    private static final String SSO_TOKENS_REJECTED = "sso_tokens_rejected";
-    private static final String SSO_TOKENS_VALIDATED = "sso_tokens_validated";
-    private static final String SSO_CREATED_LOCAL_ADMINS = "sso_created_local_admins";
-    private static final String SSO_PROCESSING_TIME = "sso_processing_time";
+    private static final String SSO_TOKENS_REJECTED = "sso.tokens_rejected";
+    private static final String SSO_TOKENS_VALIDATED = "sso.tokens_validated";
+    private static final String SSO_CREATED_LOCAL_ADMINS = "sso.created_local_admins";
+    private static final String SSO_PROCESSING_TIME = "sso.processing_time";
 
     // usergrid configuration property names needed
     public static final String USERGRID_SYSADMIN_LOGIN_NAME = "usergrid.sysadmin.login.name";

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
index 0f13c6d..76f10c9 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
@@ -104,15 +104,15 @@ public class NotificationsService extends AbstractCollectionService {
 
         Properties props = (Properties)getApplicationContext().getBean("properties");
         metricsService = getApplicationContext().getBean(Injector.class).getInstance(MetricsFactory.class);
-        postMeter = metricsService.getMeter(NotificationsService.class, "requests");
-        postTimer = metricsService.getTimer(this.getClass(), "execution_rest");
+        postMeter = metricsService.getMeter(NotificationsService.class, "collection.post_requests");
+        postTimer = metricsService.getTimer(this.getClass(), "collection.post_requests");
         JobScheduler jobScheduler = new JobScheduler(sm,em);
         String name = ApplicationQueueManagerImpl.getQueueNames( props );
         QueueScope queueScope = new QueueScopeImpl( name );
         queueManagerFactory = getApplicationContext().getBean( Injector.class ).getInstance(QueueManagerFactory.class);
         QueueManager queueManager = queueManagerFactory.getQueueManager(queueScope);
         notificationQueueManager = new ApplicationQueueManagerImpl(jobScheduler,em,queueManager,metricsService,props);
-        gracePeriod = jobScheduler.SCHEDULER_GRACE_PERIOD;
+        gracePeriod = JobScheduler.SCHEDULER_GRACE_PERIOD;
     }
 
     public ApplicationQueueManager getQueueManager(){

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
index 6fc7b7a..c6f4a17 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
@@ -70,9 +70,9 @@ public class QueueJob extends OnlyOnceJob {
     @PostConstruct
     void init() {
         metricsService = this.smf.getApplicationContext().getBean( Injector.class ).getInstance(MetricsFactory.class);
-        histogram = metricsService.getHistogram( QueueJob.class, "cycle" );
-        requests = metricsService.getMeter( QueueJob.class, "requests" );
-        execution = metricsService.getTimer( QueueJob.class, "execution" );
+        histogram = metricsService.getHistogram( QueueJob.class, "queuejob.cycle" );
+        requests = metricsService.getMeter( QueueJob.class, "queuejob.requests" );
+        execution = metricsService.getTimer( QueueJob.class, "queuejob.execution" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
index 1adf88f..5c0d078 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
@@ -142,8 +142,8 @@ public class QueueListener  {
 
         final AtomicInteger consecutiveExceptions = new AtomicInteger();
         LOG.info("QueueListener: Starting execute process.");
-        Meter meter = metricsService.getMeter(QueueListener.class, "queue");
-        com.codahale.metrics.Timer timer = metricsService.getTimer(QueueListener.class, "dequeue");
+        Meter meter = metricsService.getMeter(QueueListener.class, "execute.commit");
+        com.codahale.metrics.Timer timer = metricsService.getTimer(QueueListener.class, "execute.dequeue");
         svcMgr = smf.getServiceManager(smf.getManagementAppId());
         LOG.info("getting from queue {} ", queueName);
         QueueScope queueScope = new QueueScopeImpl( queueName ) {};

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
index 0bcc272..9f532d6 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
@@ -54,6 +54,8 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
     private final JobScheduler jobScheduler;
     private final MetricsFactory metricsFactory;
     private final String queueName;
+    private final Meter queueMeter;
+    private final Meter sendMeter;
 
     HashMap<Object, ProviderAdapter> notifierHashMap; // only retrieve notifiers once
 
@@ -64,6 +66,8 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
         this.jobScheduler = jobScheduler;
         this.metricsFactory = metricsFactory;
         this.queueName = getQueueNames(properties);
+        queueMeter = metricsFactory.getMeter(ApplicationQueueManagerImpl.class, "notification.queue");
+        sendMeter = metricsFactory.getMeter(NotificationsService.class, "queue.send");
 
     }
 
@@ -77,7 +81,7 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
             em.update(notification);
             return;
         }
-        final Meter queueMeter = metricsFactory.getMeter(ApplicationQueueManagerImpl.class,"queue");
+
         long startTime = System.currentTimeMillis();
 
         if (notification.getCanceled() == Boolean.TRUE) {
@@ -175,13 +179,13 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
             //process up to 10 concurrently
             Observable o = rx.Observable.create( new IteratorObservable<Entity>( iterator ) )
 
-                                        .flatMap( entity -> Observable.just( entity ).map( entityListFunct )
-                                                                      .doOnError( throwable -> {
-                                                                          LOG.error( "Failed while writing",
-                                                                              throwable );
-                                                                      } ).subscribeOn( Schedulers.io() )
+                                        .flatMap(entity -> Observable.just(entity).map(entityListFunct)
+                                            .doOnError(throwable -> {
+                                                LOG.error("Failed while writing",
+                                                    throwable);
+                                            }).subscribeOn(Schedulers.io())
 
-                                            , 10 );
+                                            , 10);
 
             o.toBlocking().lastOrDefault( null );
             LOG.info( "notification {} done queueing duration {} ms", notification.getUuid(), System.currentTimeMillis() - now);
@@ -260,7 +264,6 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
     @Override
     public Observable sendBatchToProviders(final List<QueueMessage> messages, final String queuePath) {
         LOG.info("sending batch of {} notifications.", messages.size());
-        final Meter sendMeter = metricsFactory.getMeter(NotificationsService.class, "send");
 
         final Map<Object, ProviderAdapter> notifierMap = getAdapterMap();
         final ApplicationQueueManagerImpl proxy = this;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
index 2d8dd7a..c85128f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
@@ -18,12 +18,8 @@ package org.apache.usergrid.services.queues;
 
 import com.codahale.metrics.*;
 import com.codahale.metrics.Timer;
-import com.google.common.cache.*;
 import com.google.inject.Injector;
 
-import org.apache.usergrid.corepersistence.CpSetup;
-
-import org.apache.usergrid.persistence.EntityManager;
 import org.apache.usergrid.persistence.EntityManagerFactory;
 
 import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
@@ -32,10 +28,9 @@ import org.apache.usergrid.persistence.queue.QueueManager;
 import org.apache.usergrid.persistence.queue.impl.QueueScopeImpl;
 import org.apache.usergrid.services.ServiceManager;
 import org.apache.usergrid.services.ServiceManagerFactory;
-import org.apache.usergrid.services.notifications.impl.ApplicationQueueManagerImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import rx.Observable;
+
 import javax.annotation.PostConstruct;
 import java.util.*;
 import java.util.concurrent.*;
@@ -78,7 +73,8 @@ public abstract class QueueListener  {
     private String queueName;
     public QueueManager TEST_QUEUE_MANAGER;
     private int consecutiveCallsToRemoveDevices;
-
+    private Meter meter;
+    private Timer timer;
 
     /**
      * Initializes the QueueListener.
@@ -93,6 +89,8 @@ public abstract class QueueListener  {
         this.emf = injector.getInstance( EntityManagerFactory.class ); //emf;
         this.metricsService = injector.getInstance(MetricsFactory.class);
         this.properties = props;
+        meter = metricsService.getMeter(QueueListener.class, "execute.commit");
+        timer = metricsService.getTimer(QueueListener.class, "execute.dequeue");
 
     }
 
@@ -160,8 +158,6 @@ public abstract class QueueListener  {
 
         final AtomicInteger consecutiveExceptions = new AtomicInteger();
         LOG.info("QueueListener: Starting execute process.");
-        Meter meter = metricsService.getMeter(QueueListener.class, "queue");
-        com.codahale.metrics.Timer timer = metricsService.getTimer(QueueListener.class, "dequeue");
         svcMgr = smf.getServiceManager(smf.getManagementAppId());
         LOG.info("getting from queue {} ", queueName);
         QueueScope queueScope = new QueueScopeImpl( queueName);