private SafeHtml getPingBarSafeHtml(final NodeStatusResult row) {
        if (row == null) {
            return SafeHtmlUtils.EMPTY_SAFE_HTML;
        }

        final Node node = row.getNode();
        final PingResult pingResult = latestPing.get(node.getName());

        if (pingResult != null) {
            Long ping = pingResult.getPing();
            String pingMsg = null;
            if (!node.isEnabled() && ping == null) {
                // Disabled so bad ping is expected
                ping = 0L;
                pingMsg = pingResult.getError();
            } else if (pingResult.getError() != null) {
                ping = Long.MAX_VALUE;
                pingMsg = pingResult.getError();
            } else if (ping == null || ping < 0) {
                ping = Long.MAX_VALUE;
                pingMsg = "Invalid ping value: "
                          + NullSafe.requireNonNullElse(ping, "null");
            }

            return buildPingBar(ping, pingMsg, pingResult.getNodeMonitoringConfig());
        }
        return SafeHtmlUtil.getSafeHtml("-");
    }
Add the columns to the table.
stroom-core-client/src/main/java/stroom/node/client/presenter/NodeListPresenter.java