# `Stampede.Result`
[🔗](https://github.com/mandar1045/stampede/blob/v0.2.0/lib/stampede/result.ex#L1)

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.

# `t`

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

---

*Consult [api-reference.md](api-reference.md) for complete listing*
