SDKs
Node.js & TypeScript SDK
Instrument your application with @owlpane/node to stream traces, metrics, and structured logs to Owlpane over OTLP.
Installation
npm install @owlpane/node@0.1.8Minimal setup
import { owlpane } from "@owlpane/node";
owlpane.start({
service: "checkout-api",
endpoint: process.env.OTEL_EXPORTER_OTLP_ENDPOINT,
ingestKey: process.env.OWLPANE_INGEST_KEY,
release: process.env.OWLPANE_RELEASE,
});Zero-code alternative — preload the register hook:
node --import @owlpane/node/register dist/main.jsEnvironment Variables
| Variable | Description | Example |
|---|---|---|
OTEL_EXPORTER_OTLP_ENDPOINT (or OWLPANE_INGEST_URL) | Owlpane OTLP HTTP base URL | https://ingest.owlpane.com |
OWLPANE_INGEST_KEY | Project ingest key | owl_ing_... |
OTEL_SERVICE_NAME | Service name resource attribute | checkout-api |
OWLPANE_ENVIRONMENT | Deploy environment | production |
OWLPANE_RELEASE | Deploy release / version | 2024.10.0 |
OTEL_SDK_DISABLED | Disable all export when true | false |
OTEL_TRACES_SAMPLER_ARG | Trace sampler ratio (0–1) | 0.1 |
OWLPANE_METRICS_EXPORT_INTERVAL_MS | Metric export cadence in ms | 5000 |
Helpers
- NestJS integration:
@owlpane/node/nest owlpane.job(),owlpane.setUser(),owlpane.setFeatureFlag(),owlpane.pipeline(),owlpane.recordFinding(),owlpane.mobileResource()
Optional signals
owlpane.start({
service: "checkout-api",
profiling: true,
liveDebugger: { apiUrl: "https://api.owlpane.com" },
});Verification
Open Observability → Logs (/observability/logs), Traces (/observability/traces), or Runtimes → Node (/observability/runtimes/node) to confirm telemetry is arriving.
Last updated