Language SDKs
Language-specific configuration guides for StatusRadar OTLP integration.
Installation
For OpenTelemetry SDK installation instructions, refer to the official documentation:
StatusRadar Configuration
After installing the OpenTelemetry SDK for your language, configure it to send data to StatusRadar.
Node.js / JavaScript
const { NodeSDK } = require('@opentelemetry/sdk-node');
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-http');
const sdk = new NodeSDK({
traceExporter: new OTLPTraceExporter({
url: 'https://otlp.statusradar.dev/v1/traces',
headers: { 'X-App-Token': process.env.STATUSRADAR_TOKEN }
}),
instrumentations: [getNodeAutoInstrumentations()]
});
sdk.start();
Auto-instrumented frameworks: Express, Fastify, Koa, NestJS
Python
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.resources import Resource
trace.set_tracer_provider(TracerProvider(
resource=Resource.create({"service.name": "my-service"})
))
exporter = OTLPSpanExporter(
endpoint="https://otlp.statusradar.dev/v1/traces",
headers={"X-App-Token": os.environ["STATUSRADAR_TOKEN"]}
)
trace.get_tracer_provider().add_span_processor(
BatchSpanProcessor(exporter)
)
Auto-instrumented frameworks: Django, Flask, FastAPI
Go
import (
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
)
func initTracer() {
exporter, _ := otlptracehttp.New(
context.Background(),
otlptracehttp.WithEndpoint("otlp.statusradar.dev"),
otlptracehttp.WithURLPath("/v1/traces"),
otlptracehttp.WithHeaders(map[string]string{
"X-App-Token": os.Getenv("STATUSRADAR_TOKEN"),
}),
)
tp := sdktrace.NewTracerProvider(
sdktrace.WithBatcher(exporter),
)
otel.SetTracerProvider(tp)
}
Auto-instrumented frameworks: Gin, Echo, gRPC
PHP
use OpenTelemetry\SDK\Trace\TracerProvider;
use OpenTelemetry\SDK\Trace\SpanProcessor\BatchSpanProcessor;
use OpenTelemetry\Contrib\Otlp\SpanExporter;
$exporter = new SpanExporter(
'https://otlp.statusradar.dev/v1/traces',
['X-App-Token' => getenv('STATUSRADAR_TOKEN')]
);
$tracerProvider = new TracerProvider(
new BatchSpanProcessor($exporter)
);
Auto-instrumented frameworks: Laravel, Symfony
Java
SdkTracerProvider tracerProvider = SdkTracerProvider.builder()
.addSpanProcessor(BatchSpanProcessor.builder(
OtlpHttpSpanExporter.builder()
.setEndpoint("https://otlp.statusradar.dev/v1/traces")
.addHeader("X-App-Token", System.getenv("STATUSRADAR_TOKEN"))
.build()
).build())
.build();
Auto-instrumented frameworks: Spring Boot, Micronaut, Quarkus
.NET / C
using OpenTelemetry;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;
var tracerProvider = Sdk.CreateTracerProviderBuilder()
.AddOtlpExporter(options => {
options.Endpoint = new Uri("https://otlp.statusradar.dev/v1/traces");
options.Headers = "X-App-Token=" + Environment.GetEnvironmentVariable("STATUSRADAR_TOKEN");
})
.Build();
Auto-instrumented frameworks: ASP.NET Core, gRPC
Ruby
require 'opentelemetry/sdk'
require 'opentelemetry/exporter/otlp'
OpenTelemetry::SDK.configure do |c|
c.service_name = 'my-service'
c.use_all
c.add_span_processor(
OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
OpenTelemetry::Exporter::OTLP::Exporter.new(
endpoint: 'https://otlp.statusradar.dev/v1/traces',
headers: { 'X-App-Token' => ENV['STATUSRADAR_TOKEN'] }
)
)
)
end
Auto-instrumented frameworks: Rails, Sinatra, Rack
Endpoints
Configure your SDK to use StatusRadar OTLP endpoints:
| Signal | Endpoint |
|---|---|
| Traces | https://otlp.statusradar.dev/v1/traces |
| Logs | https://otlp.statusradar.dev/v1/logs |
| Metrics | https://otlp.statusradar.dev/v1/metrics |
Authentication: All requests must include X-App-Token header with your app token.
Next Steps
- Traces - Implement distributed tracing
- Logs - Add structured logging
- Metrics - Track custom metrics
- Troubleshooting - Common issues