You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2017/07/31 10:48:08 UTC
lucene-solr:branch_7_0: SOLR-11036: Separately report disk space
metrics for solr.data.home and core root directory.
Repository: lucene-solr
Updated Branches:
refs/heads/branch_7_0 cba8b237b -> dfcfb23b3
SOLR-11036: Separately report disk space metrics for solr.data.home and core root directory.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/dfcfb23b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/dfcfb23b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/dfcfb23b
Branch: refs/heads/branch_7_0
Commit: dfcfb23b35bd12e371da514f4844eef734ef0f5e
Parents: cba8b23
Author: Andrzej Bialecki <ab...@apache.org>
Authored: Mon Jul 31 12:08:51 2017 +0200
Committer: Andrzej Bialecki <ab...@apache.org>
Committed: Mon Jul 31 12:10:00 2017 +0200
----------------------------------------------------------------------
solr/CHANGES.txt | 2 ++
.../org/apache/solr/core/CoreContainer.java | 13 +++++++++--
.../metrics/SolrMetricsIntegrationTest.java | 24 ++++++++++++++++++++
3 files changed, 37 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/dfcfb23b/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index b7dfa73..1ed00d0 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -482,6 +482,8 @@ Other Changes
* SOLR-10756: Undeprecate ZkStateReader.updateClusterState(), mark as @lucene.internal, and rename to
forciblyRefreshAllClusterStateSlow(). (hossman, shalin, Steve Rowe)
+* SOLR-11036: Separately report disk space metrics for solr.data.home and core root directory. (ab)
+
================== 6.7.0 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/dfcfb23b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index 322952b..48b6147 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -557,10 +557,19 @@ public class CoreContainer {
true, "lazy", SolrInfoBean.Category.CONTAINER.toString(), "cores");
metricManager.registerGauge(null, registryName, () -> solrCores.getAllCoreNames().size() - solrCores.getLoadedCoreNames().size(),
true, "unloaded", SolrInfoBean.Category.CONTAINER.toString(), "cores");
- metricManager.registerGauge(null, registryName, () -> cfg.getCoreRootDirectory().toFile().getTotalSpace(),
+ Path dataHome = cfg.getSolrDataHome() != null ? cfg.getSolrDataHome() : cfg.getCoreRootDirectory();
+ metricManager.registerGauge(null, registryName, () -> dataHome.toFile().getTotalSpace(),
true, "totalSpace", SolrInfoBean.Category.CONTAINER.toString(), "fs");
- metricManager.registerGauge(null, registryName, () -> cfg.getCoreRootDirectory().toFile().getUsableSpace(),
+ metricManager.registerGauge(null, registryName, () -> dataHome.toFile().getUsableSpace(),
true, "usableSpace", SolrInfoBean.Category.CONTAINER.toString(), "fs");
+ metricManager.registerGauge(null, registryName, () -> dataHome.toAbsolutePath().toString(),
+ true, "path", SolrInfoBean.Category.CONTAINER.toString(), "fs");
+ metricManager.registerGauge(null, registryName, () -> cfg.getCoreRootDirectory().toFile().getTotalSpace(),
+ true, "totalSpace", SolrInfoBean.Category.CONTAINER.toString(), "fs", "coreRoot");
+ metricManager.registerGauge(null, registryName, () -> cfg.getCoreRootDirectory().toFile().getUsableSpace(),
+ true, "usableSpace", SolrInfoBean.Category.CONTAINER.toString(), "fs", "coreRoot");
+ metricManager.registerGauge(null, registryName, () -> cfg.getCoreRootDirectory().toAbsolutePath().toString(),
+ true, "path", SolrInfoBean.Category.CONTAINER.toString(), "fs", "coreRoot");
// add version information
metricManager.registerGauge(null, registryName, () -> this.getClass().getPackage().getSpecificationVersion(),
true, "specification", SolrInfoBean.Category.CONTAINER.toString(), "version");
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/dfcfb23b/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java b/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
index b2cb5f3..1a8eda8 100644
--- a/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
@@ -22,6 +22,9 @@ import java.nio.file.Paths;
import java.util.Map;
import java.util.Random;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Metric;
+import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.Timer;
import org.apache.commons.io.FileUtils;
import org.apache.lucene.util.TestUtil;
@@ -150,4 +153,25 @@ public class SolrMetricsIntegrationTest extends SolrTestCaseJ4 {
assertFalse("Reporter " + reporterName + " was incorrectly closed: " + mockReporter, mockReporter.didClose);
}
}
+
+ @Test
+ public void testCoreContainerMetrics() throws Exception {
+ String registryName = SolrMetricManager.getRegistryName(SolrInfoBean.Group.node);
+ assertTrue(cc.getMetricManager().registryNames().toString(), cc.getMetricManager().registryNames().contains(registryName));
+ MetricRegistry registry = cc.getMetricManager().registry(registryName);
+ Map<String, Metric> metrics = registry.getMetrics();
+ assertTrue(metrics.containsKey("CONTAINER.cores.loaded"));
+ assertTrue(metrics.containsKey("CONTAINER.cores.lazy"));
+ assertTrue(metrics.containsKey("CONTAINER.cores.unloaded"));
+ assertTrue(metrics.containsKey("CONTAINER.fs.totalSpace"));
+ assertTrue(metrics.containsKey("CONTAINER.fs.usableSpace"));
+ assertTrue(metrics.containsKey("CONTAINER.fs.path"));
+ assertTrue(metrics.containsKey("CONTAINER.fs.coreRoot.totalSpace"));
+ assertTrue(metrics.containsKey("CONTAINER.fs.coreRoot.usableSpace"));
+ assertTrue(metrics.containsKey("CONTAINER.fs.coreRoot.path"));
+ assertTrue(metrics.containsKey("CONTAINER.version.specification"));
+ assertTrue(metrics.containsKey("CONTAINER.version.implementation"));
+ Gauge<?> g = (Gauge<?>)metrics.get("CONTAINER.fs.path");
+ assertEquals(g.getValue(), cc.getResourceLoader().getInstancePath().toAbsolutePath().toString());
+ }
}