Documentation Index
Fetch the complete documentation index at: https://docs.untrace.dev/llms.txt
Use this file to discover all available pages before exploring further.
Untrace SDKs
Untrace provides native SDKs for all major programming languages, each designed to integrate seamlessly with your existing codebase and framework of choice.Supported Languages
JavaScript/TypeScript
Node.js, React, Next.js, Express
Zero-latency instrumentation with decorators and auto-instrumentation
Zero-latency instrumentation with decorators and auto-instrumentation
Python
FastAPI, Django, Flask
Async support with context managers and framework integration
Async support with context managers and framework integration
Go
Gin, Echo, Fiber
High-performance tracing with context propagation
High-performance tracing with context propagation
Rust
Axum, Actix, Tokio
Zero-cost abstractions with async/await support
Zero-cost abstractions with async/await support
C#/.NET
ASP.NET Core, Console apps
Built-in DI support and activity-based tracing
Built-in DI support and activity-based tracing
Elixir
Phoenix, LiveView, OTP
Actor model integration with supervision trees
Actor model integration with supervision trees
Quick Comparison
| Language | Package Manager | Key Features | Best For |
|---|---|---|---|
| JavaScript/TypeScript | npm install @untrace/sdk | Decorators, Auto-instrumentation | Web apps, APIs, Full-stack |
| Python | pip install untrace-sdk | Async/await, Context managers | ML/AI apps, APIs, Data processing |
| Go | go get github.com/untrace-dev/untrace-sdk-go | Context propagation, Performance | Microservices, APIs, CLI tools |
| Rust | cargo add untrace-sdk | Zero-cost abstractions, Memory safety | High-performance systems, WebAssembly |
| C#/.NET | dotnet add package Untrace.Sdk | DI integration, Activities | Enterprise apps, Windows services |
| Elixir | {:untrace_sdk, "~> 0.1.2"} | OTP integration, Telemetry | Real-time apps, Distributed systems |
Common Features
All SDKs provide:- Zero-latency instrumentation - Minimal performance overhead
- OpenTelemetry compliance - Industry-standard observability
- Automatic provider detection - Works with all major LLM providers
- Token usage tracking - Automatic cost calculation
- Error handling - Comprehensive error capture and reporting
- Custom attributes - Add your own metadata and context
- Sampling support - Control data volume and costs
- Batch processing - Efficient data transmission
Getting Started
1. Choose Your Language
Select the SDK that matches your tech stack:- Web Development: JavaScript/TypeScript, Python, C#/.NET
- Microservices: Go, Rust, Elixir
- AI/ML: Python, JavaScript/TypeScript
- High Performance: Rust, Go
- Enterprise: C#/.NET, Java (coming soon)
2. Install the SDK
Each language has its own installation method:3. Initialize and Start Tracing
Framework Integration
Web Frameworks
| Framework | JavaScript | Python | Go | Rust | C# | Elixir |
|---|---|---|---|---|---|---|
| React/Next.js | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Express | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| FastAPI | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Django | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Flask | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Gin | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Echo | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Fiber | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Axum | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Actix | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| ASP.NET Core | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
| Phoenix | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
AI/ML Frameworks
| Framework | JavaScript | Python | Go | Rust | C# | Elixir |
|---|---|---|---|---|---|---|
| LangChain | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| LlamaIndex | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Anthropic | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Hugging Face | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
Migration Between Languages
If you’re switching between languages or have a polyglot codebase, Untrace makes it easy to maintain consistent observability:Consistent Data Model
All SDKs use the same trace data structure:Cross-Language Correlation
Traces from different languages are automatically correlated using:- Trace IDs - Unique identifiers for each trace
- Parent-Child relationships - Link related operations
- Workflow IDs - Group related traces across services
- User/Session context - Maintain user journey across languages
Best Practices
1. Choose the Right SDK
- JavaScript/TypeScript: Web applications, full-stack development
- Python: AI/ML applications, data processing, APIs
- Go: Microservices, high-performance APIs, CLI tools
- Rust: High-performance systems, WebAssembly, embedded
- C#/.NET: Enterprise applications, Windows services
- Elixir: Real-time applications, distributed systems
2. Consistent Naming
Use consistent naming conventions across all your services:3. Shared Context
Pass context between services using standard headers:Next Steps
Choose Your SDK
Start with the main SDK documentation
Language-Specific Guides
Deep dive into your chosen language
Framework Examples
See real-world implementations
Dashboard Setup
Configure your observability dashboard