public static String renderSummary(PingSummary summary) { final StringBuilder builder = new StringBuilder(); PingSummaryCalculator calculator = new PingSummaryCalculator(summary.getSequences()); builder.append("\n"); builder.append(String.format("--- %s ping statistics ---", summary.getRequest().getInetAddress())); builder.append("\n"); builder.append(String.format("%d packets transmitted, %d packets received, %.2f%% packet loss", calculator.getPacketsTransmitted(), calculator.getPacketsReceived(), calculator.getPacketLoss())); builder.append("\n"); builder.append(String.format("round-trip min/avg/max/stddev = %.2f/%.2f/%.2f/%.2f ms", (double) calculator.getMin(), calculator.getAvg(), (double) calculator.getMax(), calculator.getStdDev())); builder.append("\n"); return builder.toString(); } }
public static String renderHeader(PingSummary summary) { return String.format("PING %s: %d data bytes", summary.getRequest().getInetAddress(), summary.getRequest().getPacketSize()-8); }
public static String renderSequence(PingRequest request, PingSequence sequence) { Objects.requireNonNull(request); Objects.requireNonNull(sequence); final StringBuilder builder = new StringBuilder(); if (sequence.isTimeout()) { builder.append(String.format("Request timeout for icmp_seq %s", sequence.getSequenceNumber())); } if (sequence.isError()) { builder.append( String.format("Request error for icmp_seq %s: %s", sequence.getSequenceNumber(), sequence.getError().getMessage())); } if (sequence.isSuccess()) { builder.append( String.format("%s bytes from %s: icmp_seq=%d time=%.3f ms", request.getPacketSize(), request.getInetAddress(), sequence.getSequenceNumber(), sequence.getResponse().getRtt())); } return builder.toString(); }