---
title: Overview
description: Learn how to instrument your application with Agenta for enhanced observability. This guide covers the benefits of observability, how Agenta helps, and how to get started.
---

```mdx-code-block
import DocCard from '@theme/DocCard';
import clsx from 'clsx';
import Image from "@theme/IdealImage";

```

## Why Observability?

Observability is the practice of monitoring and understanding the behavior of your LLM application. With Agenta, you can add a few lines of code to start tracking all inputs, outputs, and metadata of your application.
This allows you to:

- **Debug Effectively**: View exact prompts sent and contexts retrieved. For complex workflows like agents, you can trace the data flow and quickly identify root causes.
- **Bootstrap Test Sets**: Track real-world inputs and outputs and use them to bootstrap test sets in which you can continuously iterate.
- **Find Edge Cases**: Identify latency spikes and cost increases. Understand performance bottlenecks to optimize your app's speed and cost-effectiveness.
- **Track Costs and Latency Over Time**: Monitor how your app's expenses and response times change.
- **Compare App Versions**: Compare the behavior in productions of different versions of your application to see which performs better.

<Image
  style={{ display: "block", margin: "10 auto" }}
  img={require("/images/observability/observability.png")}
  alt="Illustration of observability"
  loading="lazy"
/>

## Observability in Agenta

Agenta's observability features are built on **OpenTelemetry (OTel)**, an open-source standard for application observability. This provides several advantages:

- **Wide Library Support**: Use many supported libraries right out of the box.
- **Vendor Neutrality**: Send your traces to platforms like New Relic or Datadog without code changes. Switch vendors at will.
- **Proven Reliability**: Use a mature and actively maintained SDK that's trusted in the industry.
- **Ease of Integration**: If you're familiar with OTel, you already know how to instrument your app with Agenta. No new concepts or syntax to learn—Agenta uses familiar OTel concepts like traces and spans.

## Key Concepts

**Traces**: A trace represents the complete journey of a request through your application. In our context, a trace corresponds to a single request to your LLM application.

**Spans**: A span is a unit of work within a trace. Spans can be nested, forming a tree-like structure. The root span represents the overall operation, while child spans represent sub-operations. Agenta enriches each span with cost information and metadata when you make LLM calls.

## Next Steps

<section className='row'>
<article key='1' className="col col--6 margin-bottom--lg">

  <DocCard
    item={{
      type: "link",
      href: "/observability/quickstart",
      label: "Quick Start",
      description: "Get started with observability in Agenta",
    }}
  />
  </article>

  <article key='2' className="col col--6 margin-bottom--lg">
  <DocCard
    item={{
      type: "link",
      href: "/observability/observability-sdk",
      label: "Observability SDK",
      description: "Learn how to use the Agenta observability SDK",
    }}
  />
  </article>
  </section>

### Integrations

<section className='row'>

<article key="1" className="col col--6 margin-bottom--lg">
  <DocCard
    item={{
      type: "link",
      href: "/observability/integrations/openai",
      label: "OpenAI",
      description:
        "Learn how to instrument your OpenAI application with Agenta",
    }}
  />
</article>

  <article key='2' className="col col--6 margin-bottom--lg">
  <DocCard
    item={{
      type: "link",
      href: "/evaluation/sdk-evaluation",
      label: "LiteLLM",
      description: "Learn how to instrument your LiteLLM application with Agenta",
    }}
    />
  </article>
  </section>
<section className='row'>

<article key="1" className="col col--6 margin-bottom--lg">
  <DocCard
    item={{
      type: "link",
      href: "/observability/integrations/langchain",
      label: "LangChain",
      description:
        "Learn how to instrument your LangChain application with Agenta",
    }}
  />
</article>

  <article key='2' className="col col--6 margin-bottom--lg">
  <DocCard
    item={{
      type: "link",
      href: "/observability/integrations/instructor",
      label: "Instructor",
      description: "Learn how to instrument your Instructor application with Agenta",
    }}
    />
  </article>
  </section>
