Skip to main content
Arcbeam uses to automatically capture traces from your LLM applications. Once you add the Arcbeam connector to your code, every model call, retrieval operation, and tool execution is sent to Arcbeam without any additional instrumentation.

How Trace Collection Works

1

Automatic Instrumentation

The connector hooks into your LangChain/LangGraph execution without requiring code changes to your existing application logic.
2

OpenTelemetry Protocol

Traces are captured using the industry-standard , ensuring compatibility and future-proofing.
3

Real-time Transmission

Traces are sent to Arcbeam as they occur, giving you immediate visibility into your application’s behavior.
4

Zero Performance Impact

Traces are sent asynchronously without blocking your application, so observability doesn’t slow down your AI system.

What Gets Captured

  • Input prompts and system prompts
  • Model responses
  • (input and output tokens)
  • Cost calculations
  • Model name and provider
  • Parent-child relationships between steps
  • Timing for each operation
  • Total execution duration
  • Documents retrieved from vector databases
  • Retrieval scores and metadata
  • Source attribution
  • Tool inputs and outputs
  • Tool execution time
  • Tool errors
  • Exception type and message
  • Stack traces
  • Context when error occurred

Supported Frameworks

Arcbeam currently supports Python applications using:
JavaScript/TypeScript support and additional framework integrations are coming soon. Contact support@arcbeam.ai if you need support for a specific framework.

Quick Start

Install the Arcbeam connector:
pip install arcbeam-connector
Initialize it in your code:
from arcbeam_connector.langchain.connector import ArcbeamLangConnector

connector = ArcbeamLangConnector(
    api_key="your-api-key-here",
)
connector.init()

# Now use LangChain/LangGraph as normal - traces are captured automatically

Configuration Options

connector = ArcbeamLangConnector(
    base_url="https://org.arcbeam.ai",
    project_id="f60a7195-665f-4014-8bb3-805ae4337aa9",  # Optional
    environment="production",  # Optional
)
connector.init()

Self-Hosted Configuration

If you’re running Arcbeam on your own infrastructure, configure the connector to send traces to your self-hosted instance by setting the base_url parameter:
from arcbeam_connector.langchain.connector import ArcbeamLangConnector

connector = ArcbeamLangConnector(
    base_url="https://your-domain.com",  # Your self-hosted instance URL
    api_key="your-api-key-here",
)
connector.init()

Security Best Practices

Never hardcode API keys in your source code. Use environment variables:
export ARCBEAM_API_KEY=sk-...
Use a secrets manager like AWS Secrets Manager, HashiCorp Vault, or 1Password for production deployments.
Create separate API keys for each environment:
EnvironmentPurposeBenefits
DevelopmentLocal testingSafe experimentation without affecting production data
StagingPre-production testingValidate changes before production deployment
ProductionLive applicationsIsolated credentials for production security
This makes it easier to track usage and revoke access if needed.

Performance Considerations

Asynchronous Transmission - Traces are sent asynchronously, so they don’t block your application. The connector uses a background thread to batch and send traces.
Network Failures - If the Arcbeam platform is unreachable, traces are queued and retried automatically. Your application continues running normally.
Data Privacy - Traces contain your prompts, responses, and metadata. If you’re handling sensitive data:
  • Use self-hosted Arcbeam in your own infrastructure
  • Review what data is being sent (see What Gets Captured)
  • Consider filtering sensitive information before sending

Next Steps