[
https://issues.apache.org/jira/browse/HBASE-11062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16917316#comment-16917316
]
Andrew Purtell commented on HBASE-11062:
----------------------------------------
Fixed the issue with the branch-1 backport, formatting is better. Was my error
somewhere.
I see a div by zero issue when using ClusterStatus instead of ClusterMetrics,
maybe this minor change should be considered:
{code}
diff --git
a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/RequestCountPerSecond.java
b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/RequestCountPerSecond.java
index 27625b9a33..5fd3453cf9 100644
---
a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/RequestCountPerSecond.java
+++
b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/RequestCountPerSecond.java
@@ -37,10 +37,12 @@ public class RequestCountPerSecond {
previousReadRequestCount = readRequestCount;
previousWriteRequestCount = writeRequestCount;
} else if (previousLastReportTimestamp != lastReportTimestamp) {
- readRequestCountPerSecond = (readRequestCount -
previousReadRequestCount) /
- ((lastReportTimestamp - previousLastReportTimestamp) / 1000);
- writeRequestCountPerSecond = (writeRequestCount -
previousWriteRequestCount) /
- ((lastReportTimestamp - previousLastReportTimestamp) / 1000);
+ long delta = (lastReportTimestamp - previousLastReportTimestamp) / 1000;
+ if (delta < 1) {
+ delta = 1;
+ }
+ readRequestCountPerSecond = (readRequestCount -
previousReadRequestCount) / delta;
+ writeRequestCountPerSecond = (writeRequestCount -
previousWriteRequestCount) / delta;
previousLastReportTimestamp = lastReportTimestamp;
previousReadRequestCount = readRequestCount;
{code}
> hbtop
> -----
>
> Key: HBASE-11062
> URL: https://issues.apache.org/jira/browse/HBASE-11062
> Project: HBase
> Issue Type: New Feature
> Components: hbtop
> Reporter: Andrew Purtell
> Assignee: Toshihiro Suzuki
> Priority: Major
>
> A top-like monitor could be useful for testing, debugging, operations of
> clusters of moderate size, and possibly for diagnosing issues in large
> clusters.
> Consider a curses interface like the one presented by atop
> (http://www.atoptool.nl/images/screenshots/genericw.png) - with aggregate
> metrics collected over a monitoring interval in the upper portion of the
> pane, and a listing of discrete measurements sorted and filtered by various
> criteria in the bottom part of the pane. One might imagine a cluster overview
> with cluster aggregate metrics above and a list of regionservers sorted by
> utilization below; and a regionserver view with process metrics above and a
> list of metrics by operation type below, or a list of client connections, or
> a list of threads, sorted by utilization, throughput, or latency.
> Generically 'htop' is taken but would be distinctive in the HBase context, a
> utility org.apache.hadoop.hbase.HTop
> No need necessarily for a curses interface. Could be an external monitor with
> a web front end as has been discussed before. I do like the idea of a process
> that runs in a terminal because I interact with dev and test HBase clusters
> exclusively by SSH.
> UPDATE:
> The tool name is changed from htop to hbtop.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)