diff options
author | Andreas Gebhardt <agebhar1@googlemail.com> | 2017-06-28 18:20:20 +0200 |
---|---|---|
committer | Luca Cavanna <javanna@users.noreply.github.com> | 2017-06-28 18:20:20 +0200 |
commit | a156ccd80ed7ef2dcc26b2ff1e9b6c9d5a831092 (patch) | |
tree | 6aab685d44fdd3a3abfa21dbb364839d25c20b67 /core/src/main/java/org/elasticsearch | |
parent | 5f8be0e090f788d9132c2c371f3ecb9c4129bd8e (diff) |
Expand `/_cat/nodes` to return information about hard drive (#21775)
Expand `/_cat/nodes` with already present information about available disk space `diskAvail` (alias: `d`, `disk`) by:
* `diskTotal` (alias `dt`): total disk space
* `diskUsed` (alias `du`): used disk space (`diskTotal - diskAvail`)
* `diskUsedPercent` (alias `dup`): used disk space percentage
Note: The available disk space is the number of bytes available to the node's Java virtual machine. The size might be smaller than the real one. That means the used disk space (percentage) is larger.
Closes #21679
Diffstat (limited to 'core/src/main/java/org/elasticsearch')
-rw-r--r-- | core/src/main/java/org/elasticsearch/rest/action/cat/RestNodesAction.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/core/src/main/java/org/elasticsearch/rest/action/cat/RestNodesAction.java b/core/src/main/java/org/elasticsearch/rest/action/cat/RestNodesAction.java index 104ffe420a..07f39b54f6 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/cat/RestNodesAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/cat/RestNodesAction.java @@ -35,6 +35,7 @@ import org.elasticsearch.common.Table; import org.elasticsearch.common.network.NetworkAddress; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.TransportAddress; +import org.elasticsearch.common.unit.ByteSizeValue; import org.elasticsearch.http.HttpInfo; import org.elasticsearch.index.cache.query.QueryCacheStats; import org.elasticsearch.index.cache.request.RequestCacheStats; @@ -124,7 +125,10 @@ public class RestNodesAction extends AbstractCatAction { table.addCell("version", "default:false;alias:v;desc:es version"); table.addCell("build", "default:false;alias:b;desc:es build hash"); table.addCell("jdk", "default:false;alias:j;desc:jdk version"); - table.addCell("disk.avail", "default:false;alias:d,disk,diskAvail;text-align:right;desc:available disk space"); + table.addCell("disk.total", "default:false;alias:dt,diskTotal;text-align:right;desc:total disk space"); + table.addCell("disk.used", "default:false;alias:du,diskUsed;text-align:right;desc:used disk space"); + table.addCell("disk.avail", "default:false;alias:d,da,disk,diskAvail;text-align:right;desc:available disk space"); + table.addCell("disk.used_percent", "default:false;alias:dup,diskUsedPercent;text-align:right;desc:used disk space percentage"); table.addCell("heap.current", "default:false;alias:hc,heapCurrent;text-align:right;desc:used heap"); table.addCell("heap.percent", "alias:hp,heapPercent;text-align:right;desc:used heap ratio"); table.addCell("heap.max", "default:false;alias:hm,heapMax;text-align:right;desc:max configured heap"); @@ -267,7 +271,15 @@ public class RestNodesAction extends AbstractCatAction { table.addCell(node.getVersion().toString()); table.addCell(info == null ? null : info.getBuild().shortHash()); table.addCell(jvmInfo == null ? null : jvmInfo.version()); + + long diskTotal = fsInfo.getTotal().getTotal().getBytes(); + long diskUsed = diskTotal - fsInfo.getTotal().getAvailable().getBytes(); + double diskUsedRatio = diskTotal == 0 ? 1.0 : (double) diskUsed / diskTotal; + table.addCell(fsInfo == null ? null : fsInfo.getTotal().getTotal()); + table.addCell(fsInfo == null ? null : new ByteSizeValue(diskUsed)); table.addCell(fsInfo == null ? null : fsInfo.getTotal().getAvailable()); + table.addCell(fsInfo == null ? null : String.format(Locale.ROOT, "%.2f", 100.0 * diskUsedRatio)); + table.addCell(jvmStats == null ? null : jvmStats.getMem().getHeapUsed()); table.addCell(jvmStats == null ? null : jvmStats.getMem().getHeapUsedPercent()); table.addCell(jvmInfo == null ? null : jvmInfo.getMem().getHeapMax()); |