# `BB.Error.Estimator.StaleInput`
[🔗](https://github.com/beam-bots/bb/blob/main/lib/bb/error/estimator/stale_input.ex#L5)

An input message arrived too late to be useful.

Raised when an estimator's `latency_budget` (Phase 2) is exceeded
between an input's `monotonic_time` and the moment it is dispatched,
or when a non-driver input falls outside the configured
`sync_tolerance` of the driver and the algorithm has opted to surface
the failure rather than silently drop.

# `t`

```elixir
@type t() :: %BB.Error.Estimator.StaleInput{
  __exception__: true,
  age_ms: number(),
  bread_crumbs: term(),
  budget_ms: number(),
  class: term(),
  input_path: [atom()],
  path: term(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}
```

# `exception`

```elixir
@spec exception(opts :: Keyword.t()) :: %BB.Error.Estimator.StaleInput{
  __exception__: true,
  age_ms: term(),
  bread_crumbs: term(),
  budget_ms: term(),
  class: term(),
  input_path: term(),
  path: term(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}
```

Create an `Elixir.BB.Error.Estimator.StaleInput` without raising it.

## Keys

- :input_path
- :age_ms
- :budget_ms

---

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