---
title: "Overview: Tracing"
description: Tracing the execution of LLM applications using Telemetry
sidebarTitle: "Overview"
---

Phoenix traces AI applications, via OpenTelemetry and has first-class integrations with LlamaIndex, LangChain, OpenAI, and others.

LLM tracing records the paths taken by requests as they propagate through multiple steps or components of an LLM application. For example, when a user interacts with an LLM application, tracing can capture the sequence of operations, such as document retrieval, embedding generation, language model invocation, and response generation to provide a detailed timeline of the request's execution.

Tracing is a helpful tool for understanding how your LLM application works. Phoenix offers comprehensive tracing capabilities that are not tied to any specific LLM vendor or framework. Phoenix accepts traces over the OpenTelemetry protocol (OTLP) and supports first-class instrumentation for a variety of frameworks ( [LlamaIndex](/docs/phoenix/integrations/python/llamaindex), [LangChain](/docs/phoenix/integrations/python/langchain), [DSPy](/docs/phoenix/integrations/python/dspy/dspy-tracing)), SDKs ([OpenAI](/docs/phoenix/integrations/llm-providers/openai), [Bedrock](/docs/phoenix/integrations/llm-providers/amazon-bedrock), [Mistral](/docs/phoenix/integrations/llm-providers/mistralai), [Vertex](/docs/phoenix/integrations/llm-providers/vertexai)), and languages. ([Python](/docs/phoenix/integrations/python/agno), [TypeScript](/docs/phoenix/integrations/typescript/beeai), etc.)

<Frame caption="View the inner workings for your LLM Application">
  <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/phoenix-docs-images/15fe0366-image.jpeg" />
</Frame>

Using Phoenix's tracing capabilities can provide important insights into the inner workings of your LLM application. By analyzing the collected trace data, you can identify and address various performance and operational issues and improve the overall reliability and efficiency of your system.

* **Application Latency**: Identify and address slow invocations of LLMs, Retrievers, and other components within your application, enabling you to optimize performance and responsiveness.

* **Token Usage**: Gain a detailed breakdown of token usage for your LLM calls, allowing you to identify and optimize the most expensive LLM invocations.

* **Runtime Exceptions**: Capture and inspect critical runtime exceptions, such as rate-limiting events, that can help you proactively address and mitigate potential issues.

* **Retrieved Documents**: Inspect the documents retrieved during a Retriever call, including the score and order in which they were returned to provide insight into the retrieval process.

* **Embeddings**: Examine the embedding text used for retrieval and the underlying embedding model to allow you to validate and refine your embedding strategies.

* **LLM Parameters**: Inspect the parameters used when calling an LLM, such as temperature and system prompts, to ensure optimal configuration and debugging.

* **Prompt Templates**: Understand the prompt templates used during the prompting step and the variables that were applied, allowing you to fine-tune and improve your prompting strategies.

* **Tool Descriptions**: View the descriptions and function signatures of the tools your LLM has been given access to in order to better understand and control your LLM’s capabilities.

* **LLM Function Calls**: For LLMs with function call capabilities (e.g., OpenAI), you can inspect the function selection and function messages in the input to the LLM, further improving your ability to debug and optimize your application.

By using tracing in Phoenix, you can gain increased visibility into your LLM application, empowering you to identify and address performance bottlenecks, optimize resource utilization, and ensure the overall reliability and effectiveness of your system.

## Features

<CardGroup cols={2}>
  <Card title="Projects" icon="folder" href="/docs/phoenix/tracing/llm-traces/projects">
    Organize traces into separate projects for different applications
  </Card>
  <Card title="Sessions" icon="messages" href="/docs/phoenix/tracing/llm-traces/sessions">
    Group related traces into conversations and user sessions
  </Card>
  <Card title="Annotations" icon="tags" href="/docs/phoenix/tracing/llm-traces/how-to-annotate-traces">
    Add feedback, labels, and scores to your traces
  </Card>
  <Card title="Metrics" icon="chart-line" href="/docs/phoenix/tracing/llm-traces/metrics">
    Monitor latency, token usage, and error rates
  </Card>
</CardGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/docs/phoenix/get-started/get-started-tracing">
    Send your first traces to Phoenix
  </Card>
  <Card title="Concepts" icon="book" href="/docs/phoenix/tracing/concepts-tracing/what-are-traces">
    Learn how traces and spans work
  </Card>
  <Card title="How-To Guides" icon="compass" href="/docs/phoenix/tracing/how-to-tracing">
    Step-by-step tutorials for common tasks
  </Card>
  <Card title="Add Metadata & Tags" icon="tags" href="/docs/phoenix/tracing/how-to-tracing/add-metadata/customize-spans">
    Enrich traces with custom attributes for filtering and analysis
  </Card>
  <Card title="Integrations" icon="puzzle-piece" href="/docs/phoenix/integrations">
    Connect LangChain, LlamaIndex, Anthropic, and 20+ frameworks
  </Card>
  <Card title="Manual Instrumentation" icon="code" href="/docs/phoenix/tracing/how-to-tracing/setup-tracing/instrument">
    Add custom spans with decorators and wrappers
  </Card>
  <Card title="Run Evaluations" icon="chart-line" href="/docs/phoenix/get-started/get-started-evaluations">
    Score your traces with LLM-as-a-judge evaluators
  </Card>
  <Card title="Advanced Setup" icon="gear" href="/docs/phoenix/tracing/how-to-tracing/setup-tracing/setup-using-phoenix-otel">
    Configure batching, gRPC, headers, and more
  </Card>
</CardGroup>


