Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tracelit.io/llms.txt

Use this file to discover all available pages before exploring further.

Tracelit dashboard showing session replays, heatmaps, and error tracking

One SDK per runtime. Same great experience everywhere.

Pick your language, drop in the SDK, and Tracelit handles the rest. Every SDK speaks OTLP, ships traces + metrics + logs, and guarantees error spans are always exported — even when sampling is on.

Node.js

TypeScript-first. Express, Fastify, Koa, NestJS — all auto-instrumented. CJS and ESM bundles included.

Go

Idiomatic functional-options API. Bridges for slog, zap, logrus, and zerolog. Full goroutine-safe context propagation.

Ruby

Zero-touch Rails setup via Railtie. Sinatra and Rack supported. Auto-instruments ActiveRecord, Redis, Sidekiq and more.

.NET

First-class ASP.NET Core DI integration. ILogger forwarding. GC, thread pool, and HttpClient auto-metrics.

What every SDK includes

Distributed Tracing

Automatic + manual spans. Context propagated across HTTP, gRPC, and message queues out of the box.

Custom Metrics

Counter, Histogram, and Gauge helpers. Runtime and process metrics polled automatically — no extra code.

Structured Logs

Every log correlated to the active trace via trace_id + span_id. Your existing logger keeps working.

Error Guarantee

Error spans are always exported — even when the parent trace is outside the sample ratio.

Head-based Sampling

Set sampleRate to reduce volume. 0.1 keeps 10% of traces. Errors bypass the sampler entirely.

Zero-config Disable

Set TRACELIT_ENABLED=false to silence all telemetry in tests — no code changes needed.

Shared environment variables

All SDKs read the same environment variables. Set them once, use them everywhere.
VariableRequiredDefaultDescription
TRACELIT_API_KEYYesYour Tracelit ingest API key
TRACELIT_SERVICE_NAMEYesService name shown in the Tracelit dashboard
TRACELIT_ENVIRONMENTNoproductionDeployment environment tag (staging, development, etc.)
TRACELIT_ENDPOINTNohttps://ingest.tracelit.appOverride only when self-hosting
TRACELIT_SAMPLE_RATENo1.0Head-based sampling ratio between 0.0 and 1.0
TRACELIT_ENABLEDNotrueSet false to disable all telemetry
All variables can also be set in code — useful when you need per-environment logic or secrets management.

Automatic instrumentation matrix

Each SDK instruments a different ecosystem, but the principle is identical: call one function and get traces for free.
Library / Framework Node Go Ruby .NET
HTTP server
HTTP client
SQL / ORM
Redis
gRPC
Message queues
GraphQL
Runtime metrics
Log forwarding

Quick-start comparison

// tracelit.ts (import FIRST)
import Tracelit from "@tracelit/sdk";

Tracelit.configure((config) => {
  config.apiKey      = process.env.TRACELIT_API_KEY;
  config.serviceName = "payments-api";
  config.environment = process.env.NODE_ENV ?? "production";
});
Tracelit.start();

Need help?

Contact Support

Reach the team directly. We respond fast.

SDK Changelog

Every release across all four SDKs, in one place.