> ## 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.

# Trace Emitter • AI Agent SDK

> TraceEmitter: Emitter for action trace events.

# TraceEmitter

> Defined in the [**protocol**](https://praison.ai/docs/sdk/reference/praisonaiagents/modules/protocol.md) module.

AI Agent

Emitter for action trace events.

Provides a high-level API for emitting trace events.
Handles redaction and sink management.

## Constructor

**sink** `Optional[TraceSink]`

No description available.

**enabled** `bool` (default: True)

No description available.

**redact** `bool` (default: True)

No description available.

## Methods

> [card] [agent\_start()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/TraceEmitter-agent_start.md)
>
> Emit agent start event.

> [card] [agent\_end()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/TraceEmitter-agent_end.md)
>
> Emit agent end event.

> [card] [tool\_start()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/TraceEmitter-tool_start.md)
>
> Emit tool start event.

> [card] [tool\_end()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/TraceEmitter-tool_end.md)
>
> Emit tool end event.

> [card] [error()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/TraceEmitter-error.md)
>
> Emit error event.

> [card] [output()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/TraceEmitter-output.md)
>
> Emit final output event.

> [card] [flush()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/TraceEmitter-flush.md)
>
> Flush the sink.

> [card] [close()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/TraceEmitter-close.md)
>
> Close the sink.

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
sink = ListSink()
    emitter = TraceEmitter(sink=sink)
    
    emitter.agent_start("researcher")
    emitter.tool_start("search", {"query": "AI"})
    emitter.tool_end("search", duration_ms=100, status="ok")
    emitter.agent_end("researcher", duration_ms=500)
```

## Source

> [card] [View on GitHub](https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/trace/protocol.py#L208)
>
> `praisonaiagents/trace/protocol.py` at line 208


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.