JavaScript Node/Bun SDK

Backend instrumentation for Node.js and Bun

Install

npm install @obtrace/sdk-js
# or
bun add @obtrace/sdk-js

Configuration

import { initNodeSDK } from "@obtrace/sdk-js/node";
 
const sdk = initNodeSDK({
  apiKey: process.env.OBTRACE_API_KEY!,
  ingestBaseUrl: process.env.OBTRACE_INGEST_BASE_URL!,
  tenantId: process.env.OBTRACE_TENANT_ID,
  projectId: process.env.OBTRACE_PROJECT_ID,
  env: process.env.OBTRACE_ENV,
  appId: "api",
  serviceName: "api"
});

Quick start

sdk.log("info", "service.started");
sdk.metric("request.count", 1);
sdk.span("db.query");
await sdk.shutdown();

Production hardening

  1. Store keys only in secret managers.
  2. Tune queue and flush settings by latency budget.
  3. Validate telemetry after each deploy.
  4. Use retry with fail-open behavior.

Troubleshooting

  • 401/403: validate key and tenant/project mapping.
  • Dropped events: review maxQueueSize and flush configuration.
  • Use debug mode in non-production.

On this page