accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mmil...@apache.org
Subject [accumulo] branch master updated: ACCUMULO-4764 Move html from js to templates (#342)
Date Tue, 19 Dec 2017 17:36:05 GMT
This is an automated email from the ASF dual-hosted git repository.

mmiller pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/master by this push:
     new dd5d5e9  ACCUMULO-4764 Move html from js to templates (#342)
dd5d5e9 is described below

commit dd5d5e91bac2576435ac05a04595fe947610706c
Author: Mike Miller <mmiller@apache.org>
AuthorDate: Tue Dec 19 12:36:01 2017 -0500

    ACCUMULO-4764 Move html from js to templates (#342)
---
 .../accumulo/monitor/resources/js/bulkImport.js    | 68 ---------------------
 .../accumulo/monitor/resources/js/functions.js     | 19 +-----
 .../org/apache/accumulo/monitor/resources/js/gc.js | 34 -----------
 .../apache/accumulo/monitor/resources/js/global.js | 71 ----------------------
 .../accumulo/monitor/resources/js/listType.js      | 38 ------------
 .../apache/accumulo/monitor/resources/js/master.js | 56 -----------------
 .../accumulo/monitor/resources/js/overview.js      | 47 --------------
 .../accumulo/monitor/resources/js/problems.js      | 63 +------------------
 .../accumulo/monitor/resources/js/replication.js   | 31 ----------
 .../apache/accumulo/monitor/resources/js/scans.js  | 30 ---------
 .../apache/accumulo/monitor/resources/js/show.js   | 30 ---------
 .../accumulo/monitor/resources/js/summary.js       | 34 -----------
 .../apache/accumulo/monitor/resources/js/table.js  | 44 --------------
 .../apache/accumulo/monitor/resources/js/tables.js | 31 ----------
 .../accumulo/monitor/resources/js/tservers.js      | 42 -------------
 .../accumulo/monitor/templates/bulkImport.ftl      | 14 ++++-
 .../org/apache/accumulo/monitor/templates/gc.ftl   | 17 ++++--
 .../apache/accumulo/monitor/templates/listType.ftl | 10 ++-
 .../apache/accumulo/monitor/templates/master.ftl   | 24 ++++++--
 .../apache/accumulo/monitor/templates/overview.ftl | 26 +++++++-
 .../apache/accumulo/monitor/templates/problems.ftl | 22 +++++--
 .../accumulo/monitor/templates/replication.ftl     |  9 ++-
 .../apache/accumulo/monitor/templates/scans.ftl    |  7 ++-
 .../org/apache/accumulo/monitor/templates/show.ftl |  8 ++-
 .../apache/accumulo/monitor/templates/summary.ftl  | 12 +++-
 .../apache/accumulo/monitor/templates/table.ftl    | 23 +++++--
 .../apache/accumulo/monitor/templates/tables.ftl   | 17 +++++-
 .../apache/accumulo/monitor/templates/tservers.ftl | 19 +++++-
 28 files changed, 178 insertions(+), 668 deletions(-)

diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/bulkImport.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/bulkImport.js
index eb8e021..2f271fc 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/bulkImport.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/bulkImport.js
@@ -19,8 +19,6 @@
  * Creates bulk import initial table
  */
 $(document).ready(function() {
-  createBulkImportHeader();
-  createServerBulkHeader();
   refreshBulkImport();
 
   // Create tooltip for table column information
@@ -137,69 +135,3 @@ function sortTable(table, n) {
   sessionStorage.tableColumnSort = n;
   sortTables(tableIDs[table], direction, n);
 }
-
-/**
- * Creates the bulk import header
- */
-function createBulkImportHeader() {
-  var caption = '<span class="table-caption">Bulk&nbsp;Import' +
-      '&nbsp;Status</span><br>';
-
-  $('<caption/>', {
-    html: caption
-  }).appendTo('#masterBulkImportStatus');
-
-  var items = [];
-
-  var columns = ['Directory&nbsp;', 'Age&nbsp;', 'State&nbsp;'];
-
-  var titles = ['', descriptions['Import Age'], descriptions['Import State']];
-
-  /*
-   * Adds the columns, add sortTable function on click,
-   * if the column has a description, add title taken from the global.js
-   */
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, 'sortTable(1,' + i + ')',
-        titles[i], columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#masterBulkImportStatus');
-}
-
-/**
- * Creates the bulk import header
- */
-function createServerBulkHeader() {
-  var caption = [];
-
-  caption.push('<span class="table-caption">TabletServer&nbsp;Bulk&nbsp;' +
-      'Import&nbsp;Status</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#bulkImportStatus');
-
-  var items = [];
-
-  var columns = ['Server&nbsp;', '#&nbsp;', 'Oldest&nbsp;Age&nbsp;'];
-
-  var titles = ['', descriptions['# Imports'], descriptions['Oldest Age']];
-
-  /*
-   * Adds the columns, add sortTable function on click,
-   * if the column has a description, add title taken from the global.js
-   */
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, 'sortTable(0,' + i + ')',
-        titles[i], columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#bulkImportStatus');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/functions.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/functions.js
index 5d5d663..6f2f91a 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/functions.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/functions.js
@@ -553,8 +553,8 @@ function getRecoveryList() {
  *
  * @param {string} table Table ID
  */
-function getTableServers(table) {
-  var call = '/rest/tables/' + table;
+function getTableServers(tableID) {
+  var call = '/rest/tables/' + tableID;
   $.getJSON(call, function(data) {
     sessionStorage.tableServers = JSON.stringify(data);
   });
@@ -678,21 +678,6 @@ function getReplication() {
   });
 }
 
-/**
- * Creates a banner
- *
- * @param {string} id Banner ID
- * @param {string} bannerClass Class for the banner
- * @param {string} text Text to display on the banner
- */
-function doBanner(id, bannerClass, text) {
-  $('<div/>', {
-   html: text,
-   class: 'alert alert-' + bannerClass,
-   role: 'alert'
-  }).appendTo('#' + id);
-}
-
 //// Overview Plots Rest Calls
 
 /**
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/gc.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/gc.js
index aed0e0b..3a3ef62 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/gc.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/gc.js
@@ -19,8 +19,6 @@
  * Creates garbage collector initial table
  */
 $(document).ready(function() {
-  createHeader();
-  doBanner('gcBanner', 'danger', 'Collector is Unavailable');
   refreshGC();
 });
 
@@ -137,35 +135,3 @@ function sortTable(n) {
   sessionStorage.tableColumnSort = n;
   sortTables('gcActivity', direction, n);
 }
-
-/**
- * Creates the garbage collector header
- */
-function createHeader() {
-  var caption = [];
-
-  caption.push('<span class="table-caption">Collection&nbsp;' +
-      'Activity</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#gcActivity');
-
-  var items = [];
-
-  var columns = ['Activity&nbsp;', 'Finished&nbsp;', 'Candidates&nbsp;',
-      'Deleted&nbsp;', 'In&nbsp;Use&nbsp;', 'Errors&nbsp;', 'Duration&nbsp;'];
-
-  /*
-   * Adds the columns, add sortTable function on click,
-   * if the column has a description, add title taken from the global.js
-   */
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, 'sortTable(' + i + ')', '', columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#gcActivity');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/global.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/global.js
index 07eb342..87c3459 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/global.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/global.js
@@ -16,77 +16,6 @@
 */
 
 /**
- * Descriptions used for table columns
- */
-var descriptions = {
-  '# Tablets' : 'Tables are broken down into ranges of rows called tablets.',
-  '# Offline Tablets' : 'Tablets unavailable for query or ingest. May be a' +
-      ' transient condition when tablets are moved for balancing.',
-  'Entries' : 'Key/value pairs over each instance, table or tablet.',
-  'Entries in Memory' : 'The total number of key/value pairs stored in' +
-      ' memory and not yet written to disk.',
-  'Ingest' : 'The number of Key/Value pairs inserted. (Note that deletes' +
-      ' are "inserted")',
-  'Response Time' : 'The time it took for the tserver to return its status.',
-  'Entries Read' : 'The number of Key/Value pairs read on the server side.' +
-      'Not all key values read may be returned to client because of filtering.',
-  'Entries Returned' : 'The number of Key/Value pairs returned to clients' +
-      'during queries. This is not the number of scans.',
-  'Hold Time' : 'The amount of time that ingest operations are suspended' +
-      ' while waiting for data to be written to disk.',
-  'Running Scans' : 'Information about the scans threads. Shows how many' +
-      ' threads are running and how much work is queued for the threads.',
-  'Minor Compactions' : 'Flushing memory to disk is called a "Minor' +
-      ' Compaction." Multiple tablets can be minor compacted simultaneously,' +
-      ' but sometimes they must wait for resources to be available.' +
-      ' These tablets that are waiting for compaction are "queued"' +
-      ' and are indicated using parentheses. So 2 (3) indicates there' +
-      ' are two compactions running and three queued waiting for resources.',
-  'Major Compactions' : 'Gathering up many small files and rewriting them' +
-      ' as one larger file is called a "Major Compaction". Major Compactions' +
-      ' are performed as a consequence of new files created from Minor' +
-      ' Compactions and Bulk Load operations. They reduce the number of' +
-      ' files used during queries.',
-  'Master' : 'The hostname of the master server',
-  '# Online Tablet Servers' : 'Number of tablet servers currently available',
-  '# Total Tablet Servers' : 'The total number of tablet servers configured',
-  'Last GC' : 'The last time files were cleaned-up from HDFS.',
-  'Total Entries' : 'The total number of key/value pairs in Accumulo',
-  'Total Ingest' : 'The number of Key/Value pairs inserted, per second.' +
-      ' Note that deleted records are "inserted" and will make the ingest' +
-      ' rate increase in the near-term.',
-  'Total Entries Read' : 'The total number of Key/Value pairs read on the' +
-      ' server side.  Not all may be returned because of filtering.',
-  'Total Entries Returned' : 'The total number of Key/Value pairs returned' +
-      ' as a result of scans.',
-  'Max Hold Time' : 'The maximum amount of time that ingest has been held' +
-      ' across all servers due to a lack of memory to store the records',
-  'OS Load' : 'The Unix one minute load average. The average number of' +
-      ' processes in the run queue over a one minute interval.',
-  'Query' : 'The number of key/value pairs returned to clients.' +
-      ' (Not the number of scans)',
-  'Index Cache Hit Rate' : 'The recent index cache hit rate.',
-  'Data Cache Hit Rate' : 'The recent data cache hit rate.',
-  '# Scans' : 'Number of scans presently running',
-  'Oldest Scan' : 'The age of the oldest scan on this server.',
-  'Import Age' : 'The age of the import.',
-  'Import State' : 'The current state of the bulk import',
-  '# Imports' : 'Number of imports presently running',
-  'Oldest Age' : 'The age of the oldest import running on this server.',
-  'Trace Start' : 'Start Time of selected trace type',
-  'Span Time' : 'Span Time of selected trace type',
-  'Source' : 'Service and Location of selected trace type',
-  'Trace Type' : 'Trace Type',
-  'Total Spans' : 'Number of spans of this type',
-  'Short Span' : 'Shortest span duration',
-  'Long Span' : 'Longest span duration',
-  'Avg Span' : 'Average span duration',
-  'Histogram' : 'Counts of spans of different duration. Columns start' +
-      ' at milliseconds, and each column is ten times longer: tens of' +
-      ' milliseconds, seconds, tens of seconds, etc.'
-};
-
-/**
  * List of namespaces in Accumulo
  */
 var NAMESPACES = '';
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/listType.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/listType.js
index 306d9bc..aae2e07 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/listType.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/listType.js
@@ -100,41 +100,3 @@ function sortTable(n) {
   sessionStorage.tableColumnSort = n;
   sortTables('trace', direction, n);
 }
-
-/**
- * Creates the trace type header
- *
- * @param {string} type2 Trace type to display
- * @param {string} minutes2 Minutes to display trace
- */
-function createHeader(type2, minutes2) {
-  var caption = [];
-  type = type2;
-  minutes = minutes2;
-
-  caption.push('<span class="table-caption">Traces for ' +
-      type + '</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#trace');
-
-  var items = [];
-
-  var titles = [descriptions['Trace Start'], descriptions['Span Time'],
-      descriptions['Source']];
-
-  var columns = ['Start&nbsp;', 'ms&nbsp;', 'Source&nbsp;'];
-  /*
-   * Adds the columns, add sortTable function on click,
-   * if the column has a description, add title taken from the global.js
-   */
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, '', titles[i], columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#trace');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/master.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/master.js
index ca04ae3..d05115e 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/master.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/master.js
@@ -19,8 +19,6 @@
  * Creates master initial table
  */
 $(document).ready(function() {
-  createHeader();
-  doBanner('masterBanner', 'danger', 'Master Server Not Running');
   refreshMaster();
 
   // Create tooltip for table column information
@@ -74,17 +72,6 @@ function recoveryList() {
   } else {
     $('#recoveryList').show();
 
-    var caption = [];
-
-    caption.push('<span class="table-caption">Log&nbsp;Recovery</span><br>');
-    caption.push('<span class="table-subcaption">Some tablets were unloaded' +
-        ' in an unsafe manner. Write-ahead logs are being' +
-        ' recovered.</span><br>');
-
-    $('<caption/>', {
-      html: caption.join('')
-    }).appendTo('#recoveryList');
-
     var items = [];
 
     var columns = ['Server&nbsp;', 'Log&nbsp;', 'Time&nbsp;', 'Copy/Sort&nbsp;'];
@@ -197,46 +184,3 @@ function sortMasterTable(n) {
   sessionStorage.tableColumnSort = n;
   sortTables('masterStatus', direction, n);
 }
-
-/**
- * Creates the master header
- */
-function createHeader() {
-  var caption = [];
-
-  caption.push('<span class="table-caption">Master&nbsp;Status</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#masterStatus');
-
-  var items = [];
-
-  var columns = ['Master&nbsp;', '#&nbsp;Online<br>Tablet&nbsp;Servers&nbsp;',
-      '#&nbsp;Total<br>Tablet&nbsp;Servers&nbsp;', 'Last&nbsp;GC&nbsp;',
-      '#&nbsp;Tablets&nbsp;', '#&nbsp;Unassigned<br>Tablets&nbsp;',
-      'Entries&nbsp;', 'Ingest&nbsp;', 'Entries<br>Read&nbsp;',
-      'Entries<br>Returned&nbsp;', 'Hold&nbsp;Time&nbsp;',
-      'OS&nbsp;Load&nbsp;'];
-
-  var titles = [descriptions['Master'], descriptions['# Online Tablet Servers'],
-      descriptions['# Total Tablet Servers'], descriptions['Last GC'],
-      descriptions['# Tablets'], '', descriptions['Total Entries'],
-      descriptions['Total Ingest'], descriptions['Total Entries Read'],
-      descriptions['Total Entries Returned'], descriptions['Max Hold Time'],
-      descriptions['OS Load']];
-
-  /*
-   * Adds the columns, add sortTable function on click,
-   * if the column has a description, add title taken from the global.js
-   */
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, 'sortMasterTable(' + i + ')',
-        titles[i], columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#masterStatus');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/overview.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/overview.js
index afa780d..c9796c9 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/overview.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/overview.js
@@ -19,8 +19,6 @@
  * Creates overview initial tables
  */
 $(document).ready(function() {
-  createMasterTable();
-  createZKTable();
   refreshOverview();
 });
 
@@ -86,37 +84,6 @@ function refreshMasterTable() {
 }
 
 /**
- * Generates the master table
- */
-function createMasterTable() {
-  var items = [];
-  items.push('<tr><th colspan="2"><a href="/master">Accumulo' +
-      '&nbsp;Master</a></th></tr>');
-
-  items.push('<tr><td colspan="2" class="center">' +
-      '<span class="label label-danger">Master is Down</span></td></tr>');
-
-  items.push('<tr><td class="left"><a href="/tables">Tables</a></td>' +
-      '<td class="right"></td></tr>');
-
-  items.push('<tr><td class="left"><a href="/tservers">Tablet' +
-      '&nbsp;Servers</a></td><td class="right"></td></tr>');
-
-  items.push('<tr><td class="left"><a href="/tservers">Dead&nbsp;' +
-      'Tablet&nbsp;Servers</a></td><td class="right"></td></tr>');
-
-  items.push('<tr><td class="left">Tablets</td><td class="right"></td></tr>');
-  items.push('<tr><td class="left">Entries</td><td class="right"></td></tr>');
-  items.push('<tr><td class="left">Lookups</td><td class="right"></td></tr>');
-  items.push('<tr><td class="left">Uptime</td><td class="right"></td></tr>');
-
-  $('<table/>', {
-    html: items.join(''),
-    class: 'table table-bordered table-striped table-condensed'
-  }).appendTo('#master');
-}
-
-/**
  * Refresh the zookeeper table
  */
 function refreshZKTable() {
@@ -147,20 +114,6 @@ function refreshZKTable() {
   }
 }
 
-/**
- * Generates the zookeeper table
- */
-function createZKTable() {
-  var items = [];
-  items.push('<tr><th colspan="3">Zookeeper</th></tr>');
-  items.push('<tr><th>Server</th><th>Mode</th><th>Clients</th></tr>');
-  items.push(createEmptyRow(3, 'No Zookeepers'));
-  $('<table/>', {
-    html: items.join(''),
-    class: 'table table-bordered table-striped table-condensed'
-  }).appendTo('#zookeeper');
-}
-
 //// Overview plot creation
 
 /**
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/problems.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/problems.js
index a1cbd06..1c4bd14 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/problems.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/problems.js
@@ -14,6 +14,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
+var tableID;
 
 /**
  * Makes the REST calls, generates the tables with the new information
@@ -163,65 +164,3 @@ function sortTable(n) {
 
   sortTables('problemDetails', direction, n);
 }
-
-/**
- * Creates the problem summary header
- */
-function createSummaryHeader() {
-  var caption = [];
-
-  caption.push('<span class="table-caption">Problem&nbsp;Summary</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#problemSummary');
-
-  var items = [];
-
-  columns = ['Table&nbsp;', 'FILE_READ&nbsp;', 'FILE_WRITE&nbsp;',
-      'TABLET_LOAD&nbsp;', 'Operations&nbsp;']
-
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, '', '', columns[i]));
-  }
-
-  $('<tr/>', {
-      html: items.join('')
-  }).appendTo('#problemSummary');
-}
-
-var tableID;
-/**
- * Creates the problem detail header
- *
- * @param {string} table Table ID of problem
- */
-function createDetailsHeader(table) {
-  tableID = table;
-  var caption = [];
-
-  caption.push('<span class="table-caption">Problem&nbsp;Details</span><br>');
-  caption.push('<span class="table-subcaption">Problems' +
-      '&nbsp;identified&nbsp;with&nbsp;tables.</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#problemDetails');
-
-  var items = [];
-
-  var columns = ['Table&nbsp;', 'Problem&nbsp;Type&nbsp;', 'Server&nbsp;',
-      'Time&nbsp;', 'Resource&nbsp;', 'Exception&nbsp;', 'Operations&nbsp;'];
-
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    var sort = i == columns.length - 1 ? '' : 'sortTable(' + i + ')';
-
-    items.push(createHeaderCell(first, sort, '', columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#problemDetails');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/replication.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/replication.js
index b8fbc09..5447595 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/replication.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/replication.js
@@ -19,7 +19,6 @@
  * Creates replication initial table
  */
 $(document).ready(function() {
-  createHeader();
   refreshReplication();
 });
 
@@ -99,33 +98,3 @@ function sortTable(n) {
   sessionStorage.tableColumnSort = n;
   sortTables('replicationStats', direction, n);
 }
-
-/**
- * Creates the replication header
- */
-function createHeader() {
-  var caption = [];
-
-  caption.push('<span class="table-caption">Replication Status</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#replicationStats');
-
-  var items = [];
-
-  var columns = ['Table&nbsp;', 'Peer&nbsp;', 'Remote&nbsp;Identifier&nbsp;',
-      'Replica&nbsp;System&nbsp;Type&nbsp;',
-      'Files&nbsp;needing&nbsp;replication&nbsp;'];
-  /*
-   * Adds the columns, add sortTable function on click
-   */
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, 'sortTable(' + i + ')', '', columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#replicationStats');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/scans.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/scans.js
index eb015a2..13416d1 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/scans.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/scans.js
@@ -19,7 +19,6 @@
  * Creates scans initial table
  */
 $(document).ready(function() {
-  createHeader();
   refreshScans();
 
   // Create tooltip for table column information
@@ -98,32 +97,3 @@ function sortTable(n) {
   sessionStorage.tableColumnSort = n;
   sortTables('scanStatus', direction, n);
 }
-
-/**
- * Creates the scans header
- */
-function createHeader() {
-  var caption = [];
-
-  caption.push('<span class="table-caption">Scan&nbsp;Status</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#scanStatus');
-
-  var items = [];
-
-  var columns = ['Server&nbsp;', '#&nbsp;', 'Oldest&nbsp;Age&nbsp;'];
-
-  var titles = ['', descriptions['# Scans'], descriptions['Oldest Scan']];
-
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, 'sortTable(' + i + ')',
-      titles[i], columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#scanStatus');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/show.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/show.js
index 3a8b3ca..7af1aa5 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/show.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/show.js
@@ -126,33 +126,3 @@ function sortTable(n) {
   sessionStorage.tableColumnSort = n;
   sortTables('trace', direction, n);
 }
-
-/**
- * Creates the trace show header
- *
- * @param {string} ID ID of the trace
- */
-function createHeader(ID) {
-  id = ID;
-  var caption = [];
-
-  caption.push('<span id="caption" class="table-caption">Trace ' + id +
-      ' started at<br></span>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#trace');
-
-  var items = [];
-
-  var columns = ['Time&nbsp;', 'Start&nbsp;', 'Service@Location&nbsp;',
-      'Name&nbsp;', 'Addl&nbsp;Data&nbsp;'];
-
-  for (i = 0; i < columns.length; i++) {
-    items.push(createHeaderCell(false, '', '', columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#trace');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/summary.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/summary.js
index e3a963c..4298e09 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/summary.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/summary.js
@@ -102,37 +102,3 @@ function sortTable(n) {
   sessionStorage.tableColumnSort = n;
   sortTables('traceSummary', direction, n);
 }
-
-/**
- * Creates the trace summary header
- *
- * @param {string} min Minutes to display trace
- */
-function createHeader(min) {
-  minutes = min;
-  var caption = [];
-
-  caption.push('<span class="table-caption">All Traces</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#traceSummary');
-
-  var items = [];
-
-  var columns = ['Type&nbsp;', 'Total&nbsp;', 'min&nbsp;', 'max&nbsp;',
-      'avg&nbsp;', 'Histogram&nbsp;'];
-
-  var titles = [descriptions['Trace Type'], descriptions['Total Spans'],
-      descriptions['Short Span'], descriptions['Long Span'],
-      descriptions['Avg Span'], descriptions['Histogram']];
-
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, '', titles[i], columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#traceSummary');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/table.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/table.js
index 4923208..f7eab7e 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/table.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/table.js
@@ -131,47 +131,3 @@ function sortTable(n) {
   sessionStorage.tableColumnSort = n;
   sortTables('participatingTServers', direction, n);
 }
-
-/**
- * Creates the table servers header
- *
- * @param {string} table Table Name
- * @param {string} tabID Table ID
- */
-function createHeader(table, tabID) {
-  tableID = tabID;
-  var caption = [];
-
-  caption.push('<span class="table-caption">Participating&nbsp;' +
-      'Tablet&nbsp;Servers</span><br>');
-  caption.push('<span class="table-subcaption">' + table + '</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#participatingTServers');
-
-  var items = [];
-
-  var columns = ['Server&nbsp;', 'Hosted&nbsp;Tablets&nbsp;',
-      'Last&nbsp;Contact&nbsp;', 'Entries&nbsp;', 'Ingest&nbsp;',
-      'Query&nbsp;', 'Hold&nbsp;Time&nbsp;', 'Running<br>Scans&nbsp;',
-      'Minor<br>Compactions&nbsp;', 'Major<br>Compactions&nbsp;',
-      'Index Cache<br>Hit Rate&nbsp;', 'Data Cache<br>Hit Rate&nbsp;',
-      'OS&nbsp;Load&nbsp;'];
-
-  var titles = ['', '', '', descriptions['Entries'], descriptions['Ingest'],
-      descriptions['Query'], descriptions['Hold Time'],
-      descriptions['Running Scans'], descriptions['Minor Compactions'],
-      descriptions['Major Compactions'], descriptions['Index Cache Hit Rate'],
-      descriptions['Data Cache Hit Rate'], descriptions['OS Load']];
-
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, 'sortTable(' + i + ')',
-        titles[i], columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#participatingTServers');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/tables.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/tables.js
index 3aa1c24..ec2e4ce 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/tables.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/tables.js
@@ -300,34 +300,3 @@ function sortTable(n) {
   sortTables('tableList', direction, n);
   sessionStorage.namespaceChanged = false;
 }
-
-/**
- * Creates the tables header
- */
-function createTablesHeader() {
-  var items = [];
-
-  var columns = ['Table&nbsp;Name&nbsp;', 'State&nbsp;', '#&nbsp;Tablets&nbsp;',
-      '#&nbsp;Offline<br>Tablets&nbsp;', 'Entries&nbsp;',
-      'Entries<br>In&nbsp;Memory&nbsp;', 'Ingest&nbsp;',
-      'Entries<br>Read&nbsp;', 'Entries<br>Returned&nbsp;',
-      'Hold&nbsp;Time&nbsp;', 'Running<br>Scans&nbsp;',
-      'Minor<br>Compactions&nbsp;', 'Major<br>Compactions&nbsp;'];
-
-  var titles = ['', '', descriptions['# Tablets'],
-      descriptions['# Offline Tablets'], descriptions['Entries'],
-      descriptions['Entries in Memory'], descriptions['Ingest'],
-      descriptions['Entries Read'], descriptions['Entries Returned'],
-      descriptions['Hold Time'], descriptions['Running Scans'],
-      descriptions['Minor Compactions'], descriptions['Major Compactions']];
-
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, 'sortTable(' + i + ')',
-        titles[i], columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#tableList');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/tservers.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/tservers.js
index 29f505d..b5a1ff9 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/tservers.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/tservers.js
@@ -19,7 +19,6 @@
  * Creates tservers initial table
  */
 $(document).ready(function() {
-  createHeader();
   refreshTServers();
 
   // Create tooltip for table column information
@@ -274,44 +273,3 @@ function sortTable(table, n) {
   sessionStorage.tableColumnSort = n;
   sortTables(tableIDs[table], direction, n);
 }
-
-/**
- * Creates the tservers header
- */
-function createHeader() {
-  var caption = [];
-
-  caption.push('<span class="table-caption">Tablet&nbsp;Servers</span><br>');
-  caption.push('<span class="table-subcaption">Click on the ' +
-      '<span style="color: #0000ff;">server address</span> to ' +
-      'view detailed performance statistics for that server.</span><br>');
-
-  $('<caption/>', {
-    html: caption.join('')
-  }).appendTo('#tservers');
-
-  var items = [];
-
-  var columns = ['Server&nbsp;', 'Hosted&nbsp;Tablets&nbsp;',
-      'Last&nbsp;Contact&nbsp;', 'Response&nbsp;Time&nbsp;', 'Entries&nbsp;', 'Ingest&nbsp;',
-      'Query&nbsp;', 'Hold&nbsp;Time&nbsp;', 'Running<br>Scans&nbsp;',
-      'Minor<br>Compactions&nbsp;', 'Major<br>Compactions&nbsp;',
-      'Index Cache<br>Hit Rate&nbsp;', 'Data Cache<br>Hit Rate&nbsp;',
-      'OS&nbsp;Load&nbsp;'];
-
-  var titles = ['', '', '', descriptions['Response Time'], descriptions['Entries'], descriptions['Ingest'],
-      descriptions['Query'], descriptions['Hold Time'],
-      descriptions['Running Scans'], descriptions['Minor Compactions'],
-      descriptions['Major Compactions'], descriptions['Index Cache Hit Rate'],
-      descriptions['Data Cache Hit Rate'], descriptions['OS Load']];
-
-  for (i = 0; i < columns.length; i++) {
-    var first = i == 0 ? true : false;
-    items.push(createHeaderCell(first, 'sortTable(2,' + i + ')',
-        titles[i], columns[i]));
-  }
-
-  $('<tr/>', {
-    html: items.join('')
-  }).appendTo('#tservers');
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/bulkImport.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/bulkImport.ftl
index 958fa69..bd4ff0d 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/bulkImport.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/bulkImport.ftl
@@ -17,12 +17,22 @@
       <div><h3>${title}</h3></div>
       <div class="center-block">
         <table id="masterBulkImportStatus" class="table table-bordered table-striped table-condensed">
-
+            <caption><span class="table-caption">Bulk&nbsp;Import&nbsp;Status</span><br/></caption>
+            <tbody>
+            <tr><th class="firstcell" onclick="sortTable(1,0)">Directory&nbsp;</th>
+                <th onclick="sortTable(1,1)" title="The age of the import.">Age&nbsp;</th>
+                <th onclick="sortTable(1,2)" title="The current state of the bulk import">State&nbsp;</th></tr>
+            </tbody>
         </table>
       </div>
 
       <div class="center-block">
         <table id="bulkImportStatus" class="table table-bordered table-striped table-condensed">
-
+            <caption><span class="table-caption">TabletServer&nbsp;Bulk&nbsp;Import&nbsp;Status</span><br/></caption>
+            <tbody><tr><th class="firstcell" onclick="sortTable(0,0)">Server&nbsp;</th>
+                <th onclick="sortTable(0,1)" title="Number of imports presently running">#&nbsp;</th>
+                <th onclick="sortTable(0,2)" title="The age of the oldest import running on this server.">Oldest&nbsp;Age&nbsp;</th>
+            </tr>
+            </tbody>
         </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/gc.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/gc.ftl
index eb00261..09dbe42 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/gc.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/gc.ftl
@@ -15,9 +15,18 @@
   limitations under the License.
 -->
       <div><h3>${title}</h3></div>
-      <div id="gcBanner"></div>
+      <div id="gcBanner"><div class="alert alert-danger" role="alert">Collector is Unavailable</div></div>
       <div class="center-block">
-        <table id="gcActivity" class="table table-bordered table-striped table-condensed">
-
-        </table>
+          <table id="gcActivity" class="table table-bordered table-striped table-condensed">
+              <caption><span class="table-caption">Collection&nbsp;Activity</span><br/></caption>
+              <tbody><tr><th class="firstcell" onclick="sortTable(0)">Activity&nbsp;</th>
+                  <th onclick="sortTable(1)">Finished&nbsp;</th>
+                  <th onclick="sortTable(2)">Candidates&nbsp;</th>
+                  <th onclick="sortTable(3)">Deleted&nbsp;</th>
+                  <th onclick="sortTable(4)">In&nbsp;Use&nbsp;</th>
+                  <th onclick="sortTable(5)">Errors&nbsp;</th>
+                  <th onclick="sortTable(6)">Duration&nbsp;</th>
+              </tr>
+              </tbody>
+          </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/listType.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/listType.ftl
index 6f7f400..a8d0933 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/listType.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/listType.ftl
@@ -19,7 +19,8 @@
          * Creates initial trace list type table, and passes type and minutes values from template
          */
         $(document).ready(function() {
-          createHeader('${type}', '${minutes}');
+          type = '${type}';
+          minutes = '${minutes}';
           refreshListType();
         });
       </script>
@@ -27,6 +28,11 @@
       <div><h3>${title}</h3></div>
       <div class="center-block">
         <table id="trace" class="table table-bordered table-striped table-condensed">
-
+            <caption><span class="table-caption">Traces for masterReplicationDriver</span><br/></caption>
+            <tbody><tr><th class="firstcell" title="Start Time of selected trace type">Start&nbsp;</th>
+                <th title="Span Time of selected trace type">ms&nbsp;</th>
+                <th title="Service and Location of selected trace type">Source&nbsp;</th>
+            </tr>
+            </tbody>
         </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/master.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/master.ftl
index 6116583..940f0e5 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/master.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/master.ftl
@@ -15,15 +15,31 @@
   limitations under the License.
 -->
       <div><h3>${title}</h3></div>
-      <div id="masterBanner"></div>
+      <div id="masterBanner" style="display: none;"><div class="alert alert-danger" role="alert">Master Server Not Running</div></div>
       <div class="center-block">
         <table id="masterStatus" class="table table-bordered table-striped table-condensed">
-
+          <caption><span class="table-caption">Master&nbsp;Status</span><br/></caption>
+          <tbody>
+            <tr><th class="firstcell" onclick="sortMasterTable(0)" title="The hostname of the master server">Master&nbsp;</th>
+                <th onclick="sortMasterTable(1)" title="Number of tablet servers currently available">#&nbsp;Online<br/>Tablet&nbsp;Servers&nbsp;</th>
+                <th onclick="sortMasterTable(2)" title="The total number of tablet servers configured">#&nbsp;Total<br/>Tablet&nbsp;Servers&nbsp;</th>
+                <th onclick="sortMasterTable(3)" title="The last time files were cleaned-up from HDFS.">Last&nbsp;GC&nbsp;</th>
+                <th onclick="sortMasterTable(4)" title="Tables are broken down into ranges of rows called tablets.">#&nbsp;Tablets&nbsp;</th>
+                <th onclick="sortMasterTable(5)" >#&nbsp;Unassigned<br/>Tablets&nbsp;</th>
+                <th onclick="sortMasterTable(6)" title="The total number of key/value pairs in Accumulo">Entries&nbsp;</th>
+                <th onclick="sortMasterTable(7)" title="The number of Key/Value pairs inserted. (Note that deletes are considered inserted)">Ingest&nbsp;</th>
+                <th onclick="sortMasterTable(8)" title="The total number of Key/Value pairs read on the server side.  Not all may be returned because of filtering.">Entries<br/>Read&nbsp;</th>
+                <th onclick="sortMasterTable(9)" title="The total number of Key/Value pairs returned as a result of scans.">Entries<br/>Returned&nbsp;</th>
+                <th onclick="sortMasterTable(10)" title="The maximum amount of time that ingest has been held across all servers due to a lack of memory to store the records">Hold&nbsp;Time&nbsp;</th>
+                <th onclick="sortMasterTable(11)" title="The Unix one minute load average. The average number of processes in the run queue over a one minute interval.">OS&nbsp;Load&nbsp;</th></tr>
+          </tbody>
         </table>
         <table id="recoveryList" class="table table-bordered table-striped table-condensed">
-
+          <caption><span class="table-caption">Log&nbsp;Recovery</span><br/>
+            <span class="table-subcaption">Some tablets were unloaded in an unsafe manner. Write-ahead logs are being recovered.</span><br/>
+          </caption>
         </table>
       </div>
-      <br>
+      <br/>
       <script src="/resources/js/${tablesJs}"></script>
       <#include "${tablesTemplate}">
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/overview.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/overview.ftl
index 8d95ba0..5775e73 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/overview.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/overview.ftl
@@ -19,8 +19,30 @@
       <div class="center-block">
         <div class="container">
           <div class="row">
-            <div class="col-md-6" id="master"></div>
-            <div class="col-md-6" id="zookeeper"></div>
+            <div class="col-md-6" id="master">
+              <table class="table table-bordered table-striped table-condensed">
+                <tbody>
+                <tr><th colspan="2"><a href="/master">Accumulo Master</a></th></tr>
+                <tr><td colspan="2" class="center" ><span class="label label-danger">Master&nbsp;is&nbsp;Down</span></td></tr>
+                <tr><td class="left"><a href="/tables">Tables</a></td><td class="right"></td></tr>
+                <tr><td class="left"><a href="/tservers">Tablet&nbsp;Servers</a></td><td class="right"></td></tr>
+                <tr><td class="left"><a href="/tservers">Dead&nbsp;Tablet&nbsp;Servers</a></td><td class="right"></td></tr>
+                <tr><td class="left">Tablets</td><td class="right"></td></tr>
+                <tr><td class="left">Entries</td><td class="right"></td></tr>
+                <tr><td class="left">Lookups</td><td class="right"></td></tr>
+                <tr><td class="left">Uptime</td><td class="right"></td></tr>
+                </tbody>
+              </table>
+            </div>
+            <div class="col-md-6" id="zookeeper">
+                <table class="table table-bordered table-striped table-condensed">
+                  <tbody>
+                  <tr><th colspan="3">Zookeeper</th></tr>
+                  <tr><th>Server</th><th>Mode</th><th>Clients</th></tr>
+                  <tr><td class="center" colspan="3"><i>No Zookeepers</i></td></tr>
+                  </tbody>
+                </table>
+            </div>
           </div>
         </div>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/problems.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/problems.ftl
index 82b1a19..5ec981d 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/problems.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/problems.ftl
@@ -19,18 +19,30 @@
          * Creates problems initial table, passes tableID from template
          */
         $(document).ready(function() {
-          var tableID = <#if table??>'${table}'<#else>''</#if>
-          createSummaryHeader();
-          createDetailsHeader(tableID);
+          tableID = <#if table??>'${table}'<#else>''</#if>;
           refreshProblems();
         });
       </script>
       <div><h3>${title}</h3></div>
       <div class="center-block">
         <table id="problemSummary" class="table table-bordered table-striped table-condensed">
-
+            <caption><span class="table-caption">Problem&nbsp;Summary</span><br/></caption>
+            <tbody><tr><th class="firstcell">Table&nbsp;</th>
+                <th>FILE_READ&nbsp;</th>
+                <th>FILE_WRITE&nbsp;</th>
+                <th>TABLET_LOAD&nbsp;</th>
+                <th>Operations&nbsp;</th></tr>
+            </tbody>
         </table>
         <table id="problemDetails" class="table table-bordered table-striped table-condensed">
-
+            <caption><span class="table-caption">Problem&nbsp;Details</span><br/><span class="table-subcaption">Problems&nbsp;identified&nbsp;with&nbsp;tables.</span><br/></caption>
+            <tbody><tr><th class="firstcell" onclick="sortTable(0)">Table&nbsp;</th>
+                <th onclick="sortTable(1)">Problem&nbsp;Type&nbsp;</th>
+                <th onclick="sortTable(2)">Server&nbsp;</th>
+                <th onclick="sortTable(3)">Time&nbsp;</th>
+                <th onclick="sortTable(4)">Resource&nbsp;</th>
+                <th onclick="sortTable(5)">Exception&nbsp;</th>
+                <th>Operations&nbsp;</th></tr>
+            </tbody>
         </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/replication.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/replication.ftl
index 13856fa..2f6df5e 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/replication.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/replication.ftl
@@ -17,6 +17,13 @@
       <div><h3>${title}</h3></div>
       <div class="center-block">
         <table id="replicationStats" class="table table-bordered table-striped table-condensed">
-
+            <caption><span class="table-caption">Replication Status</span><br/></caption>
+            <tbody>
+            <tr><th class="firstcell" onclick="sortTable(0)">Table&nbsp;</th>
+                <th onclick="sortTable(1)">Peer&nbsp;</th>
+                <th onclick="sortTable(2)">Remote&nbsp;Identifier&nbsp;</th>
+                <th onclick="sortTable(3)">Replica&nbsp;System&nbsp;Type&nbsp;</th>
+                <th onclick="sortTable(4)">Files&nbsp;needing&nbsp;replication&nbsp;</th></tr>
+            </tbody>
         </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/scans.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/scans.ftl
index db2eec4..f013f14 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/scans.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/scans.ftl
@@ -17,6 +17,11 @@
       <div><h3>${title}</h3></div>
       <div class="center-block">
         <table id="scanStatus" class="table table-bordered table-striped table-condensed">
-
+            <caption><span class="table-caption">Scan&nbsp;Status</span><br/></caption>
+            <tbody><tr><th class="firstcell" onclick="sortTable(0)">Server&nbsp;</th>
+                <th onclick="sortTable(1)" title="Number of scans presently running">#&nbsp;</th>
+                <th onclick="sortTable(2)" title="The age of the oldest scan on this server.">Oldest&nbsp;Age&nbsp;</th>
+            </tr>
+            </tbody>
         </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/show.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/show.ftl
index 95912b3..761ab20 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/show.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/show.ftl
@@ -24,7 +24,8 @@
          * Creates trace id initial table, passes id from template
          */
         $(document).ready(function() {
-          createHeader('${id}');
+
+          id = '${id}';
           refreshTraceShow();
 
           // Create tooltip for table column information
@@ -62,6 +63,9 @@
       <div><h3>${title}</h3></div>
       <div class="center-block">
         <table id="trace" class="table table-bordered table-striped table-condensed">
-
+            <caption><span id="caption" class="table-caption">Trace ${id} started at<br/></span></caption>
+            <tbody>
+            <tr><th>Time&nbsp;</th><th>Start&nbsp;</th><th>Service@Location&nbsp;</th><th>Name&nbsp;</th><th>Addl&nbsp;Data&nbsp;</th></tr>
+            </tbody>
         </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/summary.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/summary.ftl
index 583753e..4e8f2e1 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/summary.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/summary.ftl
@@ -19,7 +19,7 @@
          * Creates trace summary initial table, passes the minutes from the template
          */
         $(document).ready(function() {
-          createHeader('${minutes}');
+          minutes = '${minutes}';
           refreshSummary();
 
           // Create tooltip for table column information
@@ -30,6 +30,14 @@
       <div><h3>${title}</h3></div>
       <div class="center-block">
         <table id="traceSummary" class="table table-bordered table-striped table-condensed">
-
+            <caption><span class="table-caption">All Traces</span><br/></caption>
+            <tbody><tr><th class="firstcell" title="Trace Type">Type&nbsp;</th>
+                <th title="Number of spans of this type">Total&nbsp;</th>
+                <th title="Shortest span duration">min&nbsp;</th>
+                <th title="Longest span duration">max&nbsp;</th>
+                <th title="Average span duration">avg&nbsp;</th>
+                <th title="Counts of spans of different duration. Columns start at milliseconds, and each column is ten times longer: tens of milliseconds, seconds, tens of seconds, etc.">Histogram&nbsp;</th>
+            </tr>
+            </tbody>
         </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/table.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/table.ftl
index 52a22b7..447453f 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/table.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/table.ftl
@@ -19,7 +19,7 @@
          * Creates participating Tservers initial table, passes the table and tableID from the template
          */
         $(document).ready(function() {
-          createHeader('${table}', '${tableID}');
+          tableID = '${tableID}';
           refreshTable();
 
           // Create tooltip for table column information
@@ -28,7 +28,22 @@
       </script>
       <div><h3>${title}</h3></div>
       <div class="center-block">
-        <table id="participatingTServers" class="table table-bordered table-striped table-condensed">
-
-        </table>
+      <table id="participatingTServers" class="table table-bordered table-striped table-condensed">
+          <caption><span class="table-caption">Participating&nbsp;Tablet&nbsp;Servers</span><br/><span class="table-subcaption">${table}</span><br/></caption>
+          <tbody>
+          <tr><th class="firstcell" onclick="sortTable(0)">Server&nbsp;</th>
+          <th onclick="sortTable(1)">Hosted&nbsp;Tablets&nbsp;</th>
+          <th onclick="sortTable(2)">Last&nbsp;Contact&nbsp;</th>
+          <th onclick="sortTable(3)" title="Key/value pairs over each instance, table or tablet.">Entries&nbsp;</th>
+          <th onclick="sortTable(4)" title="The number of Key/Value pairs inserted. (Note that deletes are considered inserted)">Ingest&nbsp;</th>
+          <th onclick="sortTable(5)" title="The number of key/value pairs returned to clients. (Not the number of scans)">Query&nbsp;</th>
+          <th onclick="sortTable(6)" title="The amount of time that ingest operations are suspended while waiting for data to be written to disk.">Hold&nbsp;Time&nbsp;</th>
+          <th onclick="sortTable(7)" title="Information about the scans threads. Shows how many threads are running and how much work is queued for the threads.">Running<br/>Scans&nbsp;</th>
+          <th onclick="sortTable(8)" title="The action of flushing memory to disk. Multiple tablets can be compacted simultaneously, but sometimes they must wait for resources to be available. The number of tablets waiting for compaction are in parentheses.">Minor<br/>Compactions&nbsp;</th>
+          <th onclick="sortTable(9)" title="The action of gathering up many small files and rewriting them as one larger file.">Major<br/>Compactions&nbsp;</th>
+          <th onclick="sortTable(10)" title="The recent index cache hit rate.">Index Cache<br/>Hit Rate&nbsp;</th>
+          <th onclick="sortTable(11)" title="The recent data cache hit rate.">Data Cache<br/>Hit Rate&nbsp;</th>
+          <th onclick="sortTable(12)" title="The Unix one minute load average. The average number of processes in the run queue over a one minute interval.">OS&nbsp;Load&nbsp;</th></tr>
+          </tbody>
+      </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/tables.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/tables.ftl
index a621b65..00543f6 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/tables.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/tables.ftl
@@ -19,7 +19,6 @@
          * Creates tables initial table
          */
         $(document).ready(function() {
-          createTablesHeader();
           refreshTables();
           <#if tablesJs??>
             toggleMaster(true);
@@ -39,6 +38,20 @@
       </div>
       <div class="center-block">
         <table id="tableList" class="table table-bordered table-striped table-condensed">
-
+          <tbody>
+            <tr><th class="firstcell sortable" onclick="sortTable(0)">Table&nbsp;Name&nbsp;<span class="glyphicon glyphicon-chevron-up"></span></th>
+                <th onclick="sortTable(1)" class="sortable">State&nbsp;</th>
+                <th onclick="sortTable(2)" title="Tables are broken down into ranges of rows called tablets." class="sortable">#&nbsp;Tablets&nbsp;</th>
+                <th onclick="sortTable(3)" title="Tablets unavailable for query or ingest. May be a transient condition when tablets are moved for balancing." class="sortable">#&nbsp;Offline<br/>Tablets&nbsp;</th>
+                <th onclick="sortTable(4)" title="Key/value pairs over each instance, table or tablet." class="sortable">Entries&nbsp;</th>
+                <th onclick="sortTable(5)" title="The total number of key/value pairs stored in memory and not yet written to disk." class="sortable">Entries<br/>In&nbsp;Memory&nbsp;</th>
+                <th onclick="sortTable(6)" title="The number of Key/Value pairs inserted. (Note that deletes are considered inserted)" class="sortable">Ingest&nbsp;</th>
+                <th onclick="sortTable(7)" title="The number of Key/Value pairs read on the server side.Not all key values read may be returned to client because of filtering." class="sortable">Entries<br/>Read&nbsp;</th>
+                <th onclick="sortTable(8)" title="The number of Key/Value pairs returned to clients during queries. This is not the number of scans." class="sortable">Entries<br/>Returned&nbsp;</th>
+                <th onclick="sortTable(9)" title="The amount of time that ingest operations are suspended while waiting for data to be written to disk." class="sortable">Hold&nbsp;Time&nbsp;</th>
+                <th onclick="sortTable(10)" title="Information about the scans threads. Shows how many threads are running and how much work is queued for the threads." class="sortable">Running<br/>Scans&nbsp;</th>
+                <th onclick="sortTable(11)" title="The action of flushing memory to disk. Multiple tablets can be compacted simultaneously, but sometimes they must wait for resources to be available. The number of tablets waiting for compaction are in parentheses." class="sortable">Minor<br/>Compactions&nbsp;</th>
+                <th onclick="sortTable(12)" title="The action of gathering up many small files and rewriting them as one larger file. The number of tablets waiting for compaction are in parentheses." class="sortable">Major<br/>Compactions&nbsp;</th></tr>
+          </tbody>
         </table>
       </div>
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/tservers.ftl b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/tservers.ftl
index 115a20c..1f40c60 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/tservers.ftl
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/tservers.ftl
@@ -23,6 +23,21 @@
 
         </table>
         <table id="tservers" class="table table-bordered table-striped table-condensed">
-
-        </table>
+            <caption><span class="table-caption">Tablet&nbsp;Servers</span><br/><span class="table-subcaption">Click on the <span style="color: #0000ff;">server address</span> to view detailed performance statistics for that server.</span><br/></caption>
+            <tbody><tr><th class="firstcell" onclick="sortTable(2,0)">Server&nbsp;</th>
+                <th onclick="sortTable(2,1)">Hosted&nbsp;Tablets&nbsp;</th>
+                <th onclick="sortTable(2,2)">Last&nbsp;Contact&nbsp;</th>
+                <th onclick="sortTable(2,3)" title="The time it took for the tserver to return its status.">Response&nbsp;Time&nbsp;</th>
+                <th onclick="sortTable(2,4)" title="Key/value pairs over each instance, table or tablet.">Entries&nbsp;</th>
+                <th onclick="sortTable(2,5)" title="The number of Key/Value pairs inserted. (Note that deletes are inserted)">Ingest&nbsp;</th>
+                <th onclick="sortTable(2,6)" title="The number of key/value pairs returned to clients. (Not the number of scans)">Query&nbsp;</th>
+                <th onclick="sortTable(2,7)" title="The amount of time that ingest operations are suspended while waiting for data to be written to disk.">Hold&nbsp;Time&nbsp;</th>
+                <th onclick="sortTable(2,8)" title="Information about the scans threads. Shows how many threads are running and how much work is queued for the threads.">Running<br/>Scans&nbsp;</th>
+                <th onclick="sortTable(2,9)" title="The action of flushing memory to disk. Multiple tablets can be compacted simultaneously, but sometimes they must wait for resources to be available. The number of tablets waiting for compaction are in parentheses.">Minor<br/>Compactions&nbsp;</th>
+                <th onclick="sortTable(2,10)" title="The action of gathering up many small files and rewriting them as one larger file. The number of tablets waiting for compaction are in parentheses.">Major<br/>Compactions&nbsp;</th>
+                <th onclick="sortTable(2,11)" title="The recent index cache hit rate.">Index Cache<br/>Hit Rate&nbsp;</th>
+                <th onclick="sortTable(2,12)" title="The recent data cache hit rate.">Data Cache<br/>Hit Rate&nbsp;</th>
+                <th onclick="sortTable(2,13)" title="The Unix one minute load average. The average number of processes in the run queue over a one minute interval.">OS&nbsp;Load&nbsp;</th>
+            </tr>
+        </tbody></table>
       </div>

-- 
To stop receiving notification emails like this one, please contact
['"commits@accumulo.apache.org" <commits@accumulo.apache.org>'].

Mime
View raw message