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
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
AI/ML Frameworks
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