Trace Anthropic Claude API calls with Netra auto-instrumentation. Monitor prompts, completions, token usage, and response latency automatically.
The Netra SDK automatically instruments Anthropic Claude API calls, capturing prompts, completions, token usage, and performance metrics through OpenTelemetry tracing.
from netra import Netraimport anthropicimport os# Initialize Netra with your API keyNetra.init(headers=f"x-api-key={os.getenv('NETRA_API_KEY')}")# Use Anthropic client as normalclient = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))message = client.messages.create( model="claude-3-5-sonnet-20241022", max_tokens=1024, messages=[ {"role": "user", "content": "Hello, Claude"} ])print(message.content)
import { Netra } from "netra-sdk";import Anthropic from "@anthropic-ai/sdk";async function main() { // Initialize Netra with your API key (must await) await Netra.init({ headers: `x-api-key=${process.env.NETRA_API_KEY}` }); // Use Anthropic client as normal const client = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY }); const message = await client.messages.create({ model: "claude-3-5-sonnet-20241022", max_tokens: 1024, messages: [ { role: "user", content: "Hello, Claude" } ] }); console.log(message.content);}main();
The SDK automatically traces streaming responses from Claude.
from netra import Netraimport anthropicimport osNetra.init(headers=f"x-api-key={os.getenv('NETRA_API_KEY')}")client = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))with client.messages.stream( model="claude-3-5-sonnet-20241022", max_tokens=1024, messages=[{"role": "user", "content": "Tell me a story"}]) as stream: for text in stream.text_stream: print(text, end="", flush=True)
import { Netra } from "netra-sdk";import Anthropic from "@anthropic-ai/sdk";async function main() { await Netra.init({ headers: `x-api-key=${process.env.NETRA_API_KEY}` }); const client = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY }); const stream = await client.messages.create({ model: "claude-3-5-sonnet-20241022", max_tokens: 1024, messages: [{ role: "user", content: "Tell me a story" }], stream: true }); for await (const chunk of stream) { if (chunk.type === 'content_block_delta') { process.stdout.write(chunk.delta.text); } }}main();