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

# Introduction

> Getting started with tracing in HoneyHive.

HoneyHive provides distributed tracing for AI applications, everything from RAG to multi-agent systems, giving you a hierarchical view of execution across agent invocations, LLM requests, tool calls, and handoffs.

<Frame caption="Visualization of a trace in HoneyHive">
  <img src="https://mintcdn.com/honeyhiveai/sFOpWw98R-jnkhpC/images/product-traces.png?fit=max&auto=format&n=sFOpWw98R-jnkhpC&q=85&s=99d66a25e27f2188b49cc0185ec8b607" alt="Tree structure of a trace showing nested events" width="3024" height="1560" data-path="images/product-traces.png" />
</Frame>

***

## Getting Started

### Automatic Tracing

The fastest way to start is automatic tracing, which instruments major LLM providers and vector databases with minimal setup using OpenTelemetry semantic conventions.

<Tip>
  **Using an agent framework?** We currently document framework-specific setup for [AWS Strands](/v2/integrations/strands), [Google ADK](/v2/integrations/google-adk), and [PydanticAI](/v2/integrations/pydantic-ai).
</Tip>

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rectangle-terminal" href="/v2/introduction/tracing-quickstart">
    Begin tracing OpenAI requests with HoneyHive in minutes
  </Card>

  <Card title="Supported Integrations" icon="puzzle-piece" href="/v2/integrations/google-adk">
    Pre-built integrations for common model providers and frameworks
  </Card>
</CardGroup>

<Tip>
  Deploying in Lambda, FastAPI, Flask, or Django? Read [Tracer Initialization](/v2/tracing/tracer-initialization) next to choose the right runtime setup pattern before you wire tracing into production.
</Tip>

### Custom Spans

Automatic tracing covers LLM and vector DB calls. For any other function in your codebase (preprocessing, postprocessing, business logic), use the `@trace()` decorator to create custom spans that appear in your trace tree.

<Card title="Custom Spans" icon="brackets-curly" href="/v2/tracing/custom-spans">
  Trace any function in Python/TS using decorators
</Card>

### Advanced Features

<CardGroup cols={2}>
  <Card title="Distributed Tracing" icon="network-wired" href="/v2/tracing/distributed-tracing">
    Propagate trace context across service boundaries so multi-service calls appear in a single session
  </Card>

  <Card title="Sampling" icon="filter" href="/v2/tracing/sampling">
    Control which requests get traced in high-volume applications
  </Card>

  <Card title="Span Filtering" icon="ban" href="/v2/tracing/filtering">
    Drop noisy framework spans using prefix-based rules
  </Card>

  <Card title="Multi-Instance Tracing" icon="layer-group" href="/v2/tracing/multi-instance">
    Run multiple tracer instances for multi-tenant, A/B testing, or environment routing
  </Card>

  <Card title="Multi-Modal Tracing" icon="images" href="/v2/tracing/multi-modal">
    Trace pipelines that combine text, image, audio, or video operations
  </Card>

  <Card title="Multi-Threaded Tracing" icon="gears" href="/v2/tracing/multithreading">
    Propagate context across threads in Python applications
  </Card>

  <Card title="Tracing via API" icon="code" href="/v2/tracing/manual-instrumentation">
    Log events directly via REST API for languages without SDK support
  </Card>
</CardGroup>
