# `Runic.Runner.Scheduler.Adaptive.NodeProfile`
[🔗](https://github.com/zblanco/runic/blob/main/lib/runic/runner/scheduler/adaptive.ex#L73)

Per-node execution statistics tracked by the Adaptive scheduler.

Uses exponential moving average (EMA) for duration tracking and
a running count for error rate calculation.

# `t`

```elixir
@type t() :: %Runic.Runner.Scheduler.Adaptive.NodeProfile{
  avg_duration_ms: float(),
  error_count: non_neg_integer(),
  last_seen: integer(),
  sample_count: non_neg_integer()
}
```

---

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