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;