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

# Context Trace Emitter • AI Agent SDK

> ContextTraceEmitter: Emitter for context trace events.

# ContextTraceEmitter

> Defined in the [**Context Events**](../modules/context_events) module.

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

Emitter for context trace events.

Provides a high-level API for emitting context events during
agent execution. Handles sequence numbering and redaction.

## Constructor

<ParamField query="sink" type="Optional[ContextTraceSink]" required={false}>
  No description available.
</ParamField>

<ParamField query="session_id" type="str" required={false} default="''">
  No description available.
</ParamField>

<ParamField query="enabled" type="bool" required={false} default="True">
  No description available.
</ParamField>

<ParamField query="redact" type="bool" required={false} default="True">
  No description available.
</ParamField>

<ParamField query="full_content" type="bool" required={false} default="False">
  No description available.
</ParamField>

## Methods

<CardGroup cols={2}>
  <Card title="set_branch()" icon="function" href="../functions/ContextTraceEmitter-set_branch">
    Set current branch context for parallel execution tracking.
  </Card>

  <Card title="clear_branch()" icon="function" href="../functions/ContextTraceEmitter-clear_branch">
    Clear the current branch context.
  </Card>

  <Card title="session_start()" icon="function" href="../functions/ContextTraceEmitter-session_start">
    Emit session start event.
  </Card>

  <Card title="session_end()" icon="function" href="../functions/ContextTraceEmitter-session_end">
    Emit session end event.
  </Card>

  <Card title="agent_start()" icon="function" href="../functions/ContextTraceEmitter-agent_start">
    Emit agent start event.
  </Card>

  <Card title="agent_end()" icon="function" href="../functions/ContextTraceEmitter-agent_end">
    Emit agent end event.
  </Card>

  <Card title="message_added()" icon="function" href="../functions/ContextTraceEmitter-message_added">
    Emit message added event.
  </Card>

  <Card title="tool_call_start()" icon="function" href="../functions/ContextTraceEmitter-tool_call_start">
    Emit tool call start event.
  </Card>

  <Card title="tool_call_end()" icon="function" href="../functions/ContextTraceEmitter-tool_call_end">
    Emit tool call end event.
  </Card>

  <Card title="llm_request()" icon="function" href="../functions/ContextTraceEmitter-llm_request">
    Emit LLM request event.
  </Card>

  <Card title="llm_response()" icon="function" href="../functions/ContextTraceEmitter-llm_response">
    Emit LLM response event.
  </Card>

  <Card title="context_snapshot()" icon="function" href="../functions/ContextTraceEmitter-context_snapshot">
    Emit context snapshot event with full context state.
  </Card>

  <Card title="agent_handoff()" icon="function" href="../functions/ContextTraceEmitter-agent_handoff">
    Emit agent handoff event for tracking agent-to-agent flow.
  </Card>

  <Card title="memory_store()" icon="function" href="../functions/ContextTraceEmitter-memory_store">
    Emit memory store event for tracking memory writes.
  </Card>

  <Card title="memory_search()" icon="function" href="../functions/ContextTraceEmitter-memory_search">
    Emit memory search event for tracking memory reads.
  </Card>

  <Card title="knowledge_search()" icon="function" href="../functions/ContextTraceEmitter-knowledge_search">
    Emit knowledge search event for tracking knowledge retrieval.
  </Card>

  <Card title="knowledge_add()" icon="function" href="../functions/ContextTraceEmitter-knowledge_add">
    Emit knowledge add event for tracking knowledge indexing.
  </Card>

  <Card title="flush()" icon="function" href="../functions/ContextTraceEmitter-flush">
    Flush the sink.
  </Card>

  <Card title="close()" icon="function" href="../functions/ContextTraceEmitter-close">
    Close the sink.
  </Card>

  <Card title="session_id()" icon="function" href="../functions/ContextTraceEmitter-session_id">
    Get the session ID.
  </Card>

  <Card title="enabled()" icon="function" href="../functions/ContextTraceEmitter-enabled">
    Check if emitter is enabled.
  </Card>

  <Card title="enabled()" icon="function" href="../functions/ContextTraceEmitter-enabled">
    Set enabled state.
  </Card>
</CardGroup>

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
sink = ContextListSink()
    emitter = ContextTraceEmitter(sink=sink, session_id="my-session")
    
    emitter.session_start()
    emitter.agent_start("researcher")
    emitter.message_added("researcher", "user", "Hello", 1, 10)
    emitter.agent_end("researcher")
    emitter.session_end()
```

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/trace/context_events.py#L352">
  `praisonaiagents/trace/context_events.py` at line 352
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Context Concept" icon="layer-group" href="/docs/docs/concepts/context" />

  <Card title="Context Management" icon="sliders" href="/docs/docs/features/context-management" />

  <Card title="Context Strategies" icon="diagram-project" href="/docs/docs/features/context-strategies" />
</CardGroup>
