diff --git a/enterprise/metrics/pom.xml b/enterprise/metrics/pom.xml
index a7233ffcfd546..9c46ba44a0aed 100644
--- a/enterprise/metrics/pom.xml
+++ b/enterprise/metrics/pom.xml
@@ -55,17 +55,17 @@
classpathref="maven.test.classpath" failonerror="true">
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
+
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/MetricsExtension.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/MetricsExtension.java
index 4eb0800ec5881..deb7336cd8047 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/MetricsExtension.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/MetricsExtension.java
@@ -80,28 +80,25 @@ public void init()
// Setup output
boolean outputBuilt = new OutputBuilder( configuration, registry, logger, kernelContext, life ).build();
- if ( outputBuilt )
+ // Setup metric gathering
+ boolean metricsBuilt = new Neo4jMetricsBuilder( registry, configuration, monitors,
+ dataSourceManager, transactionCounters, pageCacheCounters, checkPointerMonitor, logRotationMonitor,
+ idGeneratorFactory, dependencyResolver, logService, life ).build();
+
+ if ( metricsBuilt && !outputBuilt )
{
- // Setup metric gathering
- boolean metricsBuilt = new Neo4jMetricsBuilder( registry, configuration, monitors,
- dataSourceManager, transactionCounters, pageCacheCounters, checkPointerMonitor, logRotationMonitor,
- idGeneratorFactory, dependencyResolver, logService, life ).build();
+ logger.warn( "Several metrics were enabled but no exporting option was configured to report values to. "
+ +
+ "Disabling kernel metrics extension." );
+ life.clear();
}
- else
- {
- if ( metrics.available() )
- {
- logger.warn( "Several metrics were enabled but no exporting option was configured to report values to. "
- +
- "Disabling kernel metrics extension." );
- }
- if ( output.available() )
- {
- logger.warn( "Exporting tool have been configured to report values to but no metrics were enabled. "
- +
- "Disabling kernel metrics extension." );
- }
+ if ( outputBuilt && !metricsBuilt )
+ {
+ logger.warn( "Exporting tool have been configured to report values to but no metrics were enabled. "
+ +
+ "Disabling kernel metrics extension." );
+ life.clear();
}
life.init();
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/Neo4jMetricsBuilder.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/Neo4jMetricsBuilder.java
index f15b5abc5c60e..8cfea4b158a80 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/Neo4jMetricsBuilder.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/Neo4jMetricsBuilder.java
@@ -34,6 +34,18 @@
import org.neo4j.kernel.lifecycle.LifeSupport;
import org.neo4j.kernel.monitoring.Monitors;
import org.neo4j.metrics.MetricsSettings;
+import org.neo4j.metrics.source.cluster.ClusterMetrics;
+import org.neo4j.metrics.source.cluster.NetworkMetrics;
+import org.neo4j.metrics.source.db.CheckPointingMetrics;
+import org.neo4j.metrics.source.db.CypherMetrics;
+import org.neo4j.metrics.source.db.EntityCountMetrics;
+import org.neo4j.metrics.source.db.LogRotationMetrics;
+import org.neo4j.metrics.source.db.PageCacheMetrics;
+import org.neo4j.metrics.source.db.TransactionMetrics;
+import org.neo4j.metrics.source.jvm.GCMetrics;
+import org.neo4j.metrics.source.jvm.MemoryBuffersMetrics;
+import org.neo4j.metrics.source.jvm.MemoryPoolMetrics;
+import org.neo4j.metrics.source.jvm.ThreadMetrics;
public class Neo4jMetricsBuilder
{
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/ClusterMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/cluster/ClusterMetrics.java
similarity index 99%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/ClusterMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/cluster/ClusterMetrics.java
index 5aaa478b7197f..a6ba5adb3589e 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/ClusterMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/cluster/ClusterMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.cluster;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/NetworkMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/cluster/NetworkMetrics.java
similarity index 98%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/NetworkMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/cluster/NetworkMetrics.java
index 0d4e218a5a4a9..5bc8b05b2fac8 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/NetworkMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/cluster/NetworkMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.cluster;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;
@@ -31,6 +31,7 @@
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import org.neo4j.kernel.monitoring.Monitors;
+import org.neo4j.metrics.source.ByteCountsMetric;
import static com.codahale.metrics.MetricRegistry.name;
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/CheckPointingMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/CheckPointingMetrics.java
similarity index 98%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/CheckPointingMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/CheckPointingMetrics.java
index 963975b0b7649..7129cccbda1db 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/CheckPointingMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/CheckPointingMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.db;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/CypherMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/CypherMetrics.java
similarity index 98%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/CypherMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/CypherMetrics.java
index 9b336cbbb2752..602ac7dc4c155 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/CypherMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/CypherMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.db;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/EntityCountMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/EntityCountMetrics.java
similarity index 99%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/EntityCountMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/EntityCountMetrics.java
index d2e09ba62fc5f..7cf15b99e6a52 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/EntityCountMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/EntityCountMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.db;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/LogRotationMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/LogRotationMetrics.java
similarity index 98%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/LogRotationMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/LogRotationMetrics.java
index 06dd1c8a8b3a7..59e6f28c8690d 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/LogRotationMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/LogRotationMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.db;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/PageCacheMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/PageCacheMetrics.java
similarity index 99%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/PageCacheMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/PageCacheMetrics.java
index 22252d2e26946..2400ff58e8389 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/PageCacheMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/PageCacheMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.db;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/TransactionMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/TransactionMetrics.java
similarity index 99%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/TransactionMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/TransactionMetrics.java
index 8c00e923d2632..96c5911a9cd1b 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/TransactionMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/db/TransactionMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.db;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/GCMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/GCMetrics.java
similarity index 93%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/GCMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/GCMetrics.java
index 366953db0e86a..40f6e61246a55 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/GCMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/GCMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.jvm;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.Metric;
@@ -31,8 +31,8 @@
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import static com.codahale.metrics.MetricRegistry.name;
-import static org.neo4j.metrics.source.JvmMetrics.NAME_PREFIX;
-import static org.neo4j.metrics.source.JvmMetrics.prettifyName;
+import static org.neo4j.metrics.source.jvm.JvmMetrics.NAME_PREFIX;
+import static org.neo4j.metrics.source.jvm.JvmMetrics.prettifyName;
public class GCMetrics extends LifecycleAdapter implements Lifecycle
{
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/JvmMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/JvmMetrics.java
similarity index 97%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/JvmMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/JvmMetrics.java
index 7ad47d55530d1..64405f518a428 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/JvmMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/JvmMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.jvm;
import org.neo4j.kernel.impl.annotations.Documented;
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/MemoryBuffersMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/MemoryBuffersMetrics.java
similarity index 96%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/MemoryBuffersMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/MemoryBuffersMetrics.java
index f7a4af3dc4245..f0687c7b39af0 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/MemoryBuffersMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/MemoryBuffersMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.jvm;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.Metric;
@@ -31,7 +31,7 @@
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import static com.codahale.metrics.MetricRegistry.name;
-import static org.neo4j.metrics.source.JvmMetrics.prettifyName;
+import static org.neo4j.metrics.source.jvm.JvmMetrics.prettifyName;
public class MemoryBuffersMetrics extends LifecycleAdapter implements Lifecycle
{
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/MemoryPoolMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/MemoryPoolMetrics.java
similarity index 95%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/MemoryPoolMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/MemoryPoolMetrics.java
index a17bf55ba3834..f035881f01807 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/MemoryPoolMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/MemoryPoolMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.jvm;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.Metric;
@@ -31,7 +31,7 @@
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
import static com.codahale.metrics.MetricRegistry.name;
-import static org.neo4j.metrics.source.JvmMetrics.prettifyName;
+import static org.neo4j.metrics.source.jvm.JvmMetrics.prettifyName;
public class MemoryPoolMetrics extends LifecycleAdapter implements Lifecycle
{
diff --git a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/ThreadMetrics.java b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/ThreadMetrics.java
similarity index 97%
rename from enterprise/metrics/src/main/java/org/neo4j/metrics/source/ThreadMetrics.java
rename to enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/ThreadMetrics.java
index 3a60c25ff022f..de5a55b770e93 100644
--- a/enterprise/metrics/src/main/java/org/neo4j/metrics/source/ThreadMetrics.java
+++ b/enterprise/metrics/src/main/java/org/neo4j/metrics/source/jvm/ThreadMetrics.java
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.neo4j.metrics.source;
+package org.neo4j.metrics.source.jvm;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;
diff --git a/enterprise/metrics/src/test/java/org/neo4j/metrics/MetricsKernelExtensionFactoryIT.java b/enterprise/metrics/src/test/java/org/neo4j/metrics/MetricsKernelExtensionFactoryIT.java
index 7ffc0dc93cd92..5003757194758 100644
--- a/enterprise/metrics/src/test/java/org/neo4j/metrics/MetricsKernelExtensionFactoryIT.java
+++ b/enterprise/metrics/src/test/java/org/neo4j/metrics/MetricsKernelExtensionFactoryIT.java
@@ -37,8 +37,8 @@
import org.neo4j.helpers.Settings;
import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase;
import org.neo4j.kernel.impl.ha.ClusterManager;
-import org.neo4j.metrics.source.CypherMetrics;
-import org.neo4j.metrics.source.TransactionMetrics;
+import org.neo4j.metrics.source.db.CypherMetrics;
+import org.neo4j.metrics.source.db.TransactionMetrics;
import org.neo4j.test.TargetDirectory;
import org.neo4j.test.ha.ClusterRule;
diff --git a/enterprise/metrics/src/test/java/org/neo4j/metrics/source/ClusterMetricsTest.java b/enterprise/metrics/src/test/java/org/neo4j/metrics/source/ClusterMetricsTest.java
index afc4652c36580..9f6403ebe3683 100644
--- a/enterprise/metrics/src/test/java/org/neo4j/metrics/source/ClusterMetricsTest.java
+++ b/enterprise/metrics/src/test/java/org/neo4j/metrics/source/ClusterMetricsTest.java
@@ -43,6 +43,7 @@
import org.neo4j.kernel.ha.cluster.modeswitch.HighAvailabilityModeSwitcher;
import org.neo4j.kernel.lifecycle.LifeSupport;
import org.neo4j.kernel.monitoring.Monitors;
+import org.neo4j.metrics.source.cluster.ClusterMetrics;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;