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