jepsen.checker.plot

Draws plots as a part of the checker. This namespace should eventually subsume jepsen.checker.perf.

op-color-plot!

(op-color-plot! test history opts)

Renders a timeseries plot of each operation in a history, where operations are partitioned into a few distinct groups. Each operation is shown as a single point with its horizontal position given by invocation time, and with its vertical position splayed out such that the overall height of a ‘pile’ of points roughly shows the overall throughput at that time. The color of each point is given by the group. Nemesis activity is also shown, as with perf plots.

Takes a test, a history, and an options map. Options are:

:groups A map of group names to maps defining how that group works. Default: {:ok {:color “#81BFFC”} :info {:color “#FFA400”} :fail {:color “#FF1E90”}} :group-fn A function (f invoke) which takes an invocation to a group name. Defaults to (:type (history/completion history invoke)). If group-fn returns nil, that operation is skipped. :title The title of the plot. Default: ‘ ops’. :filename The filename to write. Default: ‘op-color-plot.png’ :window-count The number of time windows to divide the history into. Default 512.

The options map can include these common checker options too:

:subdirectory Optionally, the subdirectory of the store dir to write to. :nemeses Descriptions of how to render nemeses, as for perf plots. Defaults to (:nemeses (:plot test)).

op-color-plot-points

(op-color-plot-points test history groups group-fn window-count)

Helps op-color-plot! by constructing a map of group names to vectors of x y points. Takes a test, history, the groups map and group-fn, and the window count.