Stampede.Result (stampede v0.2.0)

Copy Markdown View Source

The outcome of Stampede.run/2.

  • :scenario - the scenario that ran
  • :duration - how long it ran, in milliseconds
  • :metrics - a map from each metric's name to its summary:
    • timings have type: :timing, :count, :rate, :min, :mean, :p50, :p90, :p95, :p99 and :max, with times in milliseconds
    • counters have type: :counter, :count and :rate
    • checks have type: :check, :count, :rate, :passed, :failed and :failed_rate, the share of checks that failed
  • :timeline - one point per second of the run, each with the time it ends at (:at, in milliseconds), the number of busy :vus, and the :metrics of that second alone
  • :thresholds - one map per limit, with :metric, :stat, :limit, the :value it had and whether it :passed?
  • :errors - the iterations that failed, grouped by kind of error, with a :message and a :count, most frequent first
  • :passed? - whether every threshold passed

Rates are per second.

Summary

Types

t()

@type t() :: %Stampede.Result{
  duration: non_neg_integer(),
  errors: [%{message: String.t(), count: pos_integer()}],
  metrics: %{optional(String.t()) => map()},
  passed?: boolean(),
  scenario: module(),
  thresholds: [map()],
  timeline: [%{at: non_neg_integer(), vus: non_neg_integer(), metrics: map()}]
}