This is an automated email from the ASF dual-hosted git repository. granthenke pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kudu.git
commit a5e58406ae9195e66f4fbc91c56d49bbaca5dd98 Author: zhangyifan27 <[email protected]> AuthorDate: Thu Nov 21 16:22:46 2019 +0800 www: Add tablet On-Disk Size info to /table This patch added 'On-Disk Size' info for each tablet of a table on master webui /table page, and supported sorting on tablets by on_disk_size, so that we could easily find the data skew of the table. Screenshot: http://ww1.sinaimg.cn/large/9b7ebaddly1g96lqe35qgj21eg0q87au.jpg Change-Id: I8cd84420968383d11658df45719a5b2070505291 Reviewed-on: http://gerrit.cloudera.org:8080/14771 Reviewed-by: Adar Dembo <[email protected]> Tested-by: Kudu Jenkins --- src/kudu/master/master_path_handlers.cc | 3 +++ www/table.mustache | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/kudu/master/master_path_handlers.cc b/src/kudu/master/master_path_handlers.cc index a80a76b..790fe34 100644 --- a/src/kudu/master/master_path_handlers.cc +++ b/src/kudu/master/master_path_handlers.cc @@ -61,6 +61,7 @@ #include "kudu/master/ts_manager.h" #include "kudu/server/monitored_task.h" #include "kudu/server/webui_util.h" +#include "kudu/tablet/metadata.pb.h" #include "kudu/util/cow_object.h" #include "kudu/util/easy_json.h" #include "kudu/util/jsonwriter.h" @@ -481,6 +482,8 @@ void MasterPathHandlers::HandleTablePage(const Webserver::WebRequest& req, Capitalize(&state); tablet_detail_json["state"] = state; tablet_detail_json["state_msg"] = l.data().pb.state_msg(); + tablet_detail_json["on_disk_size"] = + HumanReadableNumBytes::ToString(tablet->GetStats().on_disk_size()); EasyJson peers_json = tablet_detail_json.Set("peers", EasyJson::kArray); for (const auto& e : sorted_replicas) { EasyJson peer_json = peers_json.PushBack(EasyJson::kObject); diff --git a/www/table.mustache b/www/table.mustache index b96f6e3..af1a6de 100644 --- a/www/table.mustache +++ b/www/table.mustache @@ -96,12 +96,13 @@ under the License. <h4>Detail</h4> <a href='#detail' data-toggle='collapse'>(toggle)</a> <div id='detail' class='collapse'> - <table class='table table-striped table-hover'> + <table data-toggle="table" class='table table-striped table-hover'> <thead><tr> <th>Tablet ID</th> {{{detail_partition_schema_header}}} <th>State</th> <th>Message</th> + <th data-sorter="bytesSorter" data-sortable="true">On-Disk Size (leaders only)</th> <th>Peers</th> </tr></thead> <tbody> @@ -111,6 +112,7 @@ under the License. {{{partition_cols}}} <td>{{state}}</td> <td>{{state_msg}}</td> + <td>{{on_disk_size}}</td> <td> <ul> {{#peers}}
