---
url: >-
  https://adk.nht.io/api/@nhtio/adk/dispatch_runner/interfaces/GenerationStatsEvent.md
description: >-
  Payload fired on the observability `generationStats` hook for every record
  emitted via [`DispatchExecutorHelpers.reportGenerationStats`](https://adk.nht.io/api/@nhtio/adk/dispatch_runner/interfaces/DispatchExecutorHelpers#reportgenerationstats).
---

# Interface: GenerationStatsEvent

Defined in: [lib/types/dispatch\_runner.ts:285](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L285)

Payload fired on the observability `generationStats` hook for every record emitted via
[DispatchExecutorHelpers.reportGenerationStats](DispatchExecutorHelpers.md#reportgenerationstats).

## Remarks

The runner enriches the executor-supplied [GenerationStats](GenerationStats.md) with the active `dispatchId`
and 0-based `iteration` index (and an `emittedAt` timestamp) so subscribers can correlate stats
across multiple in-flight dispatches without threading extra context — exactly as [LogEvent](LogEvent.md)
does for the `log` channel.

## Extends

* [`GenerationStats`](GenerationStats.md)

## Properties

| Property                                                           | Type                                                                                                               | Description                                                                                | Inherited from                                                                                                     | Defined in                                                                                                                |
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
|  `completionTokens?`         | `number`                                                                                                           | Tokens in the completion / output (OpenAI `usage.completion_tokens`, Ollama `eval_count`). | [`GenerationStats`](GenerationStats.md).[`completionTokens`](GenerationStats.md#property-completiontokens)         | [lib/types/dispatch\_runner.ts:254](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L254) |
|  `dispatchId`                      | `string`                                                                                                           | Stable identifier for the dispatch that produced the event.                                | -                                                                                                                  | [lib/types/dispatch\_runner.ts:287](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L287) |
|  `emittedAt`                        | `DateTime`                                                                                                         | When the event was emitted.                                                                | -                                                                                                                  | [lib/types/dispatch\_runner.ts:291](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L291) |
|  `evalDurationNs?`             | `number`                                                                                                           | Time spent generating the response in nanoseconds (Ollama `eval_duration`).                | [`GenerationStats`](GenerationStats.md).[`evalDurationNs`](GenerationStats.md#property-evaldurationns)             | [lib/types/dispatch\_runner.ts:264](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L264) |
|  `finishReason?`                 | `string`                                                                                                           | Why generation stopped (Ollama `done_reason`, OpenAI `finish_reason`).                     | [`GenerationStats`](GenerationStats.md).[`finishReason`](GenerationStats.md#property-finishreason)                 | [lib/types/dispatch\_runner.ts:266](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L266) |
|  `iteration`                        | `number`                                                                                                           | 0-based iteration index within the dispatch.                                               | -                                                                                                                  | [lib/types/dispatch\_runner.ts:289](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L289) |
|  `loadDurationNs?`             | `number`                                                                                                           | Time spent loading the model in nanoseconds (Ollama `load_duration`).                      | [`GenerationStats`](GenerationStats.md).[`loadDurationNs`](GenerationStats.md#property-loaddurationns)             | [lib/types/dispatch\_runner.ts:260](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L260) |
|  `model?`                               | `string`                                                                                                           | Model identifier the provider echoed back.                                                 | [`GenerationStats`](GenerationStats.md).[`model`](GenerationStats.md#property-model)                               | [lib/types/dispatch\_runner.ts:268](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L268) |
|  `promptEvalDurationNs?` | `number`                                                                                                           | Time spent evaluating the prompt in nanoseconds (Ollama `prompt_eval_duration`).           | [`GenerationStats`](GenerationStats.md).[`promptEvalDurationNs`](GenerationStats.md#property-promptevaldurationns) | [lib/types/dispatch\_runner.ts:262](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L262) |
|  `promptTokens?`                 | `number`                                                                                                           | Tokens in the prompt / input (OpenAI `usage.prompt_tokens`, Ollama `prompt_eval_count`).   | [`GenerationStats`](GenerationStats.md).[`promptTokens`](GenerationStats.md#property-prompttokens)                 | [lib/types/dispatch\_runner.ts:252](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L252) |
|  `provider?`                         | `string`                                                                                                           | Stable provider discriminator (e.g. `'ollama'`, `'openai_chat_completions'`).              | [`GenerationStats`](GenerationStats.md).[`provider`](GenerationStats.md#property-provider)                         | [lib/types/dispatch\_runner.ts:270](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L270) |
|  `raw?`                                   | [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`string`, `unknown`> | Full provider-native stats object, verbatim, for forward-compatibility.                    | [`GenerationStats`](GenerationStats.md).[`raw`](GenerationStats.md#property-raw)                                   | [lib/types/dispatch\_runner.ts:272](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L272) |
|  `totalDurationNs?`           | `number`                                                                                                           | Total wall-clock generation time in nanoseconds (Ollama `total_duration`).                 | [`GenerationStats`](GenerationStats.md).[`totalDurationNs`](GenerationStats.md#property-totaldurationns)           | [lib/types/dispatch\_runner.ts:258](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L258) |
|  `totalTokens?`                   | `number`                                                                                                           | Total tokens, when the provider reports a combined figure.                                 | [`GenerationStats`](GenerationStats.md).[`totalTokens`](GenerationStats.md#property-totaltokens)                   | [lib/types/dispatch\_runner.ts:256](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/lib/types/dispatch_runner.ts#L256) |
