Add Laminar for Observability (#6514)

Signed-off-by: sam <sam@aecomposite.co>
This commit is contained in:
Sam Komesarook
2026-02-01 16:02:16 +00:00
committed by GitHub
parent f76a3594dd
commit 665ecbcdcb
2 changed files with 57 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 715 KiB

+57
View File
@@ -0,0 +1,57 @@
---
description: Integrate goose with Laminar to observe performance
---
# Observability with Laminar
This tutorial covers how to integrate goose with Laminar to trace your goose sessions and understand how the agent is performing.
## What is Laminar
[Laminar](https://laminar.sh/) is an open-source observability platform purpose-built for AI agents. It traces LLM calls, tool execution, and custom functions so you can debug, evaluate, and improve agent behavior.
## Why Laminar for goose
- High-signal traces for LLM calls, tools, and sub-agents.
- Replay any span in the Playground to compare prompts and models.
- Build datasets from production traces and run evaluations.
- Analyze trace patterns with natural language queries and dashboards.
## Set up Laminar
Sign up for Laminar Cloud at [laminar.sh](https://laminar.sh) or self-host Laminar from the [open-source repo](https://github.com/lmnr-ai/lmnr). Grab your project API key.
## Configure goose to export OTLP to Laminar
goose exports OpenTelemetry data over OTLP/HTTP. Point the exporter to Laminar and provide your API key as an authorization header.
### Laminar Cloud
```bash
export LMNR_PROJECT_API_KEY=lmnr_proj_...
export OTEL_EXPORTER_OTLP_ENDPOINT="https://api.lmnr.ai"
export OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer ${LMNR_PROJECT_API_KEY}"
export OTEL_EXPORTER_OTLP_TIMEOUT=10000
```
### Self-hosted Laminar
```bash
export LMNR_PROJECT_API_KEY=lmnr_proj_...
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:8000"
export OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer ${LMNR_PROJECT_API_KEY}"
```
If your self-hosted instance does not require auth, you can omit `OTEL_EXPORTER_OTLP_HEADERS`.
:::tip
If you do not see traces, try setting the endpoint to the explicit OTLP path, such as `https://api.lmnr.ai/v1/traces` or `http://localhost:8000/v1/traces`.
:::
## Run goose with Laminar enabled
Start goose normally. With the OTLP environment variables set, Laminar will capture traces of your goose sessions and tool execution.
_[Example trace (public) in Laminar](https://laminar.sh/shared/traces/63010af0-cf31-b8b6-0d77-fc9924bcaa4c)_
![goose trace in Laminar](../assets/guides/laminar.png)