Skip to content

Overview

The ARMS SDK is an OpenTelemetry-native AI observability platform that enables production-ready LLM application and agent monitoring without any code changes.

It includes upstream OpenTelemetry instrumentations for HTTP frameworks, clients, and system components, delivering complete visibility across your entire AI infrastructure.

Goals

  • Zero Code AI Observability - Enable production-ready LLM monitoring for your AI applications without any code changes.

  • OpenTelemetry Native - Built on OpenTelemetry standards for seamless integration with existing observability stacks like Grafana, Datadog, New Relic, and Dash0.

  • Drop-in Replacement - Simply replace opentelemetry-instrument with elsai-arms-instrument to get the same functionality plus comprehensive AI capabilities.

  • Complete Stack Coverage - AI instrumentations + upstream OpenTelemetry instrumentations for full-stack observability.

  • End-to-End Distributed Tracing - Complete visibility: HTTP requests → framework routing → database queries → LLM calls → agent workflows → tool usage → responses

  • Advanced LLM Monitoring - Real-time cost tracking, token usage optimization, performance monitoring, and evaluations scoring.

Supported instrumentations

The ARMS SDK automatically instruments:

  • LLM Providers — OpenAI, Anthropic, Google, Azure OpenAI, AWS Bedrock, Ollama, Groq, Cohere, Mistral, and more
  • AI/Agentic Frameworks — LangChain, LlamaIndex, CrewAI, mem0, AG2, Agno, LangGraph, and more
  • Vector Databases — ChromaDB, Pinecone, Qdrant, Milvus, Astra DB, and more
  • GPUs — NVIDIA and AMD
  • HTTP Frameworks and Clients — FastAPI, Flask, Django, Requests, HTTPX, aiohttp, urllib and more

Install

This SDK tab documents the Python elsai-arms package (3.0.3). It is not on public PyPI. There is no TypeScript package.

bash
pip install --extra-index-url https://arms-packages.elsaifoundry.ai/root/elsai-arms/ elsai-arms==3.0.3

Use elsai-arms-instrument for zero-code instrumentation, or call elsai_arms.init() for manual setup. See Installation.

Send data to ARMS

UseURLAuthentication
Telemetryhttps://<arms-host>/api/ingestOTLP x-api-key via otlp_headers or OTEL_EXPORTER_OTLP_HEADERS
Vault / evals / platform HTTPARMS base URL (ELSAI_ARMS_URL)Authorization: Bearer + ELSAI_ARMS_API_KEY

ELSAI_ARMS_API_KEY does not authenticate OTLP by itself. For ARMS, see ARMS destination. Third-party backends (Datadog, a generic collector, Tempo) keep their own OTLP URLs.

If you set neither otlp_endpoint nor OTEL_EXPORTER_OTLP_ENDPOINT, the SDK uses the console exporter.

How it works

Option 1: Zero code instrumentation

bash
elsai-arms-instrument python your_app.py

Option 2: Manual instrumentation

python

elsai_arms.init()  # Enables Automatic instrumentation for AI apps and agents

Both approaches provide production-ready observability: distributed tracing, real-time cost tracking, latency monitoring, token usage optimization, and evaluation scoring.

Frequently asked questions

What is the ARMS SDK?

The ARMS SDK is an OpenTelemetry-native library that auto-instruments LLM providers, agent frameworks, and vector databases for AI observability - tracing, cost tracking, and evaluation - without code changes.

Does the SDK require changing my code?

No. Run elsai-arms-instrument python your_app.py for zero-code instrumentation, or call elsai_arms.init() once if you prefer manual setup - both produce the same OpenTelemetry traces.

Can I send data to my existing observability stack?

Yes. Since the SDK emits standard OpenTelemetry data, you can export to Datadog, Grafana, New Relic, Dash0, or any OTLP-compatible backend - see Destinations.

Copyright © 2026 elsai foundry.