# `Vllm.Outputs.RequestStateStats`
[🔗](https://github.com/nshkrdotcom/vllm/blob/v0.3.0/lib/snakebridge_generated/vllm/outputs/request_state_stats.ex#L7)

Stats that need to be tracked across delta updates.

# `t`

```elixir
@opaque t()
```

# `arrival_time`

```elixir
@spec arrival_time(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `first_token_latency`

```elixir
@spec first_token_latency(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `first_token_ts`

```elixir
@spec first_token_ts(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `is_corrupted`

```elixir
@spec is_corrupted(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `last_token_ts`

```elixir
@spec last_token_ts(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `new`

```elixir
@spec new(
  [term()],
  keyword()
) :: {:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()}
```

Initialize self.  See help(type(self)) for accurate signature.

## Parameters

- `num_generation_tokens` (integer() default: 0)
- `arrival_time` (float() default: 0.0)
- `queued_ts` (float() default: 0.0)
- `scheduled_ts` (float() default: 0.0)
- `first_token_ts` (float() default: 0.0)
- `last_token_ts` (float() default: 0.0)
- `first_token_latency` (float() default: 0.0)
- `is_corrupted` (boolean() default: False)

# `num_generation_tokens`

```elixir
@spec num_generation_tokens(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `queued_ts`

```elixir
@spec queued_ts(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `scheduled_ts`

```elixir
@spec scheduled_ts(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

---

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