Work in progress: Telemetry documentation is still being updated. Integration steps and APIs may be incomplete or out of date. Verify against your SDK versions and check back for revisions.
Overview
This guide shows you how to integrate Latitude Telemetry into an application that uses LangChain.
You’ll keep calling LangChain exactly as you do today. Telemetry simply
observes and enriches those calls.
Requirements
- A Latitude account and API key
- A Latitude project slug
- A project that uses LangChain
Steps
Install
npm install @latitude-data/telemetry
pip install latitude-telemetry
Initialize and use
import { initLatitude, capture } from "@latitude-data/telemetry"
import { ChatOpenAI } from "@langchain/openai"
import { HumanMessage } from "@langchain/core/messages"
const latitude = initLatitude({
apiKey: process.env.LATITUDE_API_KEY!,
projectSlug: process.env.LATITUDE_PROJECT_SLUG!,
instrumentations: ["langchain"],
})
await latitude.ready
const llm = new ChatOpenAI({ modelName: "gpt-4o" })
await capture("langchain-query", async () => {
const response = await llm.invoke([new HumanMessage("Hello")])
return response.content
})
await latitude.shutdown()
from latitude_telemetry import init_latitude, capture
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage
latitude = init_latitude(
api_key="your-api-key",
project_slug="your-project-slug",
instrumentations=["langchain"],
)
llm = ChatOpenAI(model="gpt-4o")
def langchain_query():
response = llm.invoke([HumanMessage(content="Hello")])
return response.content
capture("langchain-query", langchain_query)
latitude.shutdown()
Seeing Your Traces
Once connected, traces appear automatically in Latitude:
- Open your project in the Latitude dashboard
- Each execution shows input/output messages, model, token usage, latency, and errors
- LangChain chain steps appear as child spans
That’s It
No changes to your LangChain calls: just initialize Latitude and your LLM calls are traced.