Supporting functions for performance analysis.
Supporting functions for performance analysis.
(bucket-points dt points)
Takes a time window dt and a sequence of [time, _] points, and emits a seq of [time, points-in-window] buckets, ordered by time. Time is at the midpoint of the window.
Takes a time window dt and a sequence of [time, _] points, and emits a seq of [time, points-in-window] buckets, ordered by time. Time is at the midpoint of the window.
(bucket-scale dt b)
Given a bucket size dt, and a bucket number (e.g. 0, 1, ...), returns the time at the midpoint of that bucket.
Given a bucket size dt, and a bucket number (e.g. 0, 1, ...), returns the time at the midpoint of that bucket.
(bucket-time dt t)
Given a bucket size dt and a time t, computes the time at the midpoint of the bucket this time falls into.
Given a bucket size dt and a time t, computes the time at the midpoint of the bucket this time falls into.
(buckets dt)
(buckets dt tmax)
Given a bucket size dt, emits a lazy sequence of times at the midpoints of each bucket.
Given a bucket size dt, emits a lazy sequence of times at the midpoints of each bucket.
(completions-by-f-type history)
Takes a history and returns a map of f -> type-> ops, for all completions in history.
Takes a history and returns a map of f -> type-> ops, for all completions in history.
(fs->points fs)
Given a sequence of :f's, yields a map of f -> gnuplot-point-type, so we can render each function in a different style.
Given a sequence of :f's, yields a map of f -> gnuplot-point-type, so we can render each function in a different style.
(invokes-by-f history)
Takes a history and returns a map of f -> ops, for all invocations.
Takes a history and returns a map of f -> ops, for all invocations.
(invokes-by-f-type history)
Takes a history and returns a map of f -> type -> ops, for all invocations.
Takes a history and returns a map of f -> type -> ops, for all invocations.
(invokes-by-type ops)
Splits up a sequence of invocations into ok, failed, and crashed ops by looking at their corresponding completions.
Splits up a sequence of invocations into ok, failed, and crashed ops by looking at their corresponding completions.
(latencies->quantiles dt qs points)
Takes a time window in seconds, a sequence of quantiles from 0 to 1, and a sequence of [time, latency] pairs. Groups pairs by their time window and emits a emits a map of quantiles to sequences of [time, latency-at-that-quantile] pairs, one per time window.
Takes a time window in seconds, a sequence of quantiles from 0 to 1, and a sequence of [time, latency] pairs. Groups pairs by their time window and emits a emits a map of quantiles to sequences of [time, latency-at-that-quantile] pairs, one per time window.
(latency-point op)
Given an operation, returns a [time, latency] pair: times in seconds, latencies in ms.
Given an operation, returns a [time, latency] pair: times in seconds, latencies in ms.
(latency-preamble test output-path)
Gnuplot commands for setting up a latency plot.
Gnuplot commands for setting up a latency plot.
(nemesis-events history opts)
Given a history, constructs a sequence of times, in seconds, marking nemesis events other than start/stop pairs.
Given a history, constructs a sequence of times, in seconds, marking nemesis events other than start/stop pairs.
(nemesis-intervals history)
(nemesis-intervals history opts)
Given a history, constructs a sequence of [start-time, stop-time] intervals when the nemesis was active, in units of seconds.
Given a history, constructs a sequence of [start-time, stop-time] intervals when the nemesis was active, in units of seconds.
(nemesis-keys nemeses)
Takes a set of nemeses and renders the keys for the legend
Takes a set of nemeses and renders the keys for the legend
(nemesis-lines history)
(nemesis-lines history opts)
Emits a sequence of gnuplot commands rendering vertical lines where nemesis events occurred.
Takes an options map for nemesis regions and styling ex: {:name "Your Nemesis Here (TM)" :start #{:start1 :start2} :stop #{:stop1 :stop2} :line-color #"dddddd" :line-width 1}
Emits a sequence of gnuplot commands rendering vertical lines where nemesis events occurred. Takes an options map for nemesis regions and styling ex: {:name "Your Nemesis Here (TM)" :start #{:start1 :start2} :stop #{:stop1 :stop2} :line-color #"dddddd" :line-width 1}
(nemesis-regions history nemeses)
Wraps nemesis-regions* to work with collections of nemeses.
Wraps nemesis-regions* to work with collections of nemeses.
(nemesis-regions* history)
(nemesis-regions* history opts)
Emits a sequence of gnuplot commands rendering shaded regions where the nemesis is active. We can render a maximum of 12 nemeses; this keeps nemesis size and spacing consistent.
{:name "Your Nemesis Here (TM)" :start #{:start1 :start2} :stop #{:stop1 :stop2} :fill-color "#000000" :transparency 0.05}
:name must be provided for the nemesis to be displayed in the legend.
Emits a sequence of gnuplot commands rendering shaded regions where the nemesis is active. We can render a maximum of 12 nemeses; this keeps nemesis size and spacing consistent. {:name "Your Nemesis Here (TM)" :start #{:start1 :start2} :stop #{:stop1 :stop2} :fill-color "#000000" :transparency 0.05} :name must be provided for the nemesis to be displayed in the legend.
(point-graph! test history {:keys [subdirectory nemeses] :as opts})
Writes a plot of raw latency data points.
Writes a plot of raw latency data points.
(qs->colors qs)
Given a sequence of quantiles q, yields a map of q -> gnuplot-color, so we can render each latency curve in a different color.
Given a sequence of quantiles q, yields a map of q -> gnuplot-color, so we can render each latency curve in a different color.
(quantiles qs points)
Takes a sequence of quantiles from 0 to 1 and a sequence of values, and returns a map of quantiles to values at those quantiles.
Takes a sequence of quantiles from 0 to 1 and a sequence of values, and returns a map of quantiles to values at those quantiles.
(quantiles-graph! test history {:keys [subdirectory nemeses]})
Writes a plot of latency quantiles, by f, over time.
Writes a plot of latency quantiles, by f, over time.
(rate history)
Map breaking down the mean rate of completions by f and type, plus totals at each level.
Map breaking down the mean rate of completions by f and type, plus totals at each level.
(rate-graph! test history {:keys [subdirectory nemeses]})
Writes a plot of operation rate by their completion times.
Writes a plot of operation rate by their completion times.
(rate-preamble test output-path)
Gnuplot commands for setting up a rate plot.
Gnuplot commands for setting up a rate plot.
Takes a type of operation (e.g. :ok) and returns a gnuplot color.
Takes a type of operation (e.g. :ok) and returns a gnuplot color.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close