oping manual page: Document the "-g histogram" option.
[liboping.git] / src / mans / oping.pod
index f0af718..313789c 100644 (file)
@@ -166,6 +166,77 @@ I<Explicit Congestion Notification> (ECN), even if the deprecated
 I<Type of Service> (ToS) aliases were used to specify the bits of outgoing
 packets.
 
+=item B<-u>|B<-U>
+
+I<noping only> B<-u> forces UTF-8 output, B<-U> disables UTF-8 output. If
+neither is given, the codeset is automatically determined from the locale.
+
+=item B<-g> B<none>|B<prettyping>|B<boxplot>|B<histogram>
+
+I<noping only> Selects the graph to display.
+
+=over 4
+
+=item B<none>
+
+Do not show a graph.
+
+=item B<prettyping>
+
+Show a graph with time on the x-axis in a round-robin fashion, i.e. continue on
+the left if the right edge is reached. The y-axis shows the round-trip time.
+This is the default.
+
+=item B<boxplot>
+
+Show a I<box plot> where the x-axis, i.e. the width of the window, is the
+round-trip time. The entire width of the window it the ping interval, set with
+the B<-i> option.
+
+The box is sized so it contains 50% of the replies. The vertical line shows the
+median. The whiskers are sized to contain 95% of the replies -- 2.5% below the
+whiskers and 2.5% above.
+
+  |----------[#####|##########]--------------------------------------------|
+  ^          ^     ^          ^                                            ^
+ 2.75%      25%   50%        75%                                         97.5%
+
+=item B<histogram>
+
+Show a I<histrogram> of the round-trip times. The width of the window is taken
+as round-trip time from 0ms on the left to the I<interval> (the B<-i> option,
+default 1000ms) on the right.
+
+The height of the graph is scaled so that the most-used buckets vertically fills
+the line. The buckets are colored green up to and including the median, yellow
+up to and including the 95th percentile and red for the remainder.
+
+In addition, the histogram is colored, if supported by the terminal. The green
+bars include the median (50% of responses), yellow bars include the 95th
+percentile and outliers are colored red.
+
+=back
+
+=item B<-P> I<percent>
+
+Configures the latency percentile to report. I<percent> must be a number
+between zero and 100, exclusively in both cases. In general, defaults to B<95>.
+If B<-c> is given and a number less than 20, this would be the same as the
+maximum. In this case the default is chosen so that it excludes the maximum,
+e.g. if B<-cE<nbsp>5> is given, the default is I<80>.
+
+The calculated percentile has roughly millisecond precision. If precision is of
+importance, read on for a more detailed explanation. In order to calculate the
+percentile without keeping all replies in memory, I<oping> divides the
+I<interval> (the B<-i> option) in 1000 "buckets". Each bucket counts the number
+of packets received in the represented time. That means that the precision
+decreases if the interval is increased, because each bucket represents a larger
+(fraction of the) response time. The code looks for the first bucket
+representing at least I<percent> responses and returns the upper-bound latency
+represented by that bucket. Since the represented percentage may be larger than
+the configured percentile, this algorithm I<overestimes> the actual percentile
+by at most 1000th of I<interval>.
+
 =item B<-Z> I<percent>
 
 If any hosts have a drop rate higher than I<percent>, where I<percent> is a
@@ -175,6 +246,9 @@ limit will effectively disable the feature (the default). Setting the option to
 zero means that the exit status will only be zero if I<all> replies for I<all>
 hosts have been received.
 
+The exit status will indicate the number of hosts with more than I<percent>
+packets lost, up to a number of 255 failing hosts.
+
 =back
 
 =head1 COLORS