avgLastContact += (now - status.lastContact);
}
final long MINUTES = 3 * 60 * 1000;
tServerList.addSortableColumn("Server", new TServerLinkType(), null);
tServerList.addSortableColumn("Hosted Tablets", new NumberType<Integer>(0, Integer.MAX_VALUE), null);
tServerList.addSortableColumn("Last Contact", new DurationType(0l, (long) Math.min(avgLastContact * 4, MINUTES)), null);
tServerList.addSortableColumn("Entries", new NumberType<Long>(), "The number of key/value pairs.");
tServerList.addSortableColumn("Ingest", new NumberType<Long>(), "The number of key/value pairs inserted. (Note that deletes are also 'inserted')");
tServerList.addSortableColumn("Query", new NumberType<Long>(), "The number of key/value pairs returned to clients. (Not the number of scans)");
tServerList.addSortableColumn("Hold Time", new DurationType(), "The amount of time ingest is suspended waiting for data to be written to disk.");
tServerList.addSortableColumn("Running<br />Scans", new CompactionsType("scans"), "The number of scans running and queued on this tablet server.");
tServerList
.addSortableColumn(
"Minor<br />Compactions",
new CompactionsType("minor"),