> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Execution Metrics • AI Agent SDK

> ExecutionMetrics: Metrics collected during execution.

# ExecutionMetrics

> Defined in the [**observability**](../modules/observability) module.

<Badge color="blue">AI Agent</Badge>

Metrics collected during execution.

## Properties

<ResponseField name="total_duration_ms" type="float">
  No description available.
</ResponseField>

<ResponseField name="stage_durations_ms" type="Dict[str, float]">
  No description available.
</ResponseField>

<ResponseField name="total_steps" type="int">
  No description available.
</ResponseField>

<ResponseField name="tool_calls" type="int">
  No description available.
</ResponseField>

<ResponseField name="tool_errors" type="int">
  No description available.
</ResponseField>

<ResponseField name="escalations" type="int">
  No description available.
</ResponseField>

<ResponseField name="deescalations" type="int">
  No description available.
</ResponseField>

<ResponseField name="tokens_used" type="int">
  No description available.
</ResponseField>

<ResponseField name="checkpoints_created" type="int">
  No description available.
</ResponseField>

<ResponseField name="doom_loops_detected" type="int">
  No description available.
</ResponseField>

<ResponseField name="recovery_attempts" type="int">
  No description available.
</ResponseField>

<Accordion title="Internal & Generic Methods">
  * **to\_dict**: Convert to dictionary.
</Accordion>

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/escalation/observability.py#L77">
  `praisonaiagents/escalation/observability.py` at line 77
</Card>
