ExuluOtel bootstraps an OpenTelemetry NodeSDK instance pointed at a SigNoz ingest endpoint. It instruments all Node.js auto-instrumentable libraries (HTTP, database drivers, etc.) and sends both traces and logs via OTLP/HTTP with your access token attached.
Call ExuluOtel.create once at the very start of your process (before any other imports that should be instrumented) and start the returned SDK. The SDK shuts down gracefully on SIGTERM.
API surface
ExuluOtel.create
NodeSDK instance. Does not start the SDK — call .start() on the returned object.
SigNoz ingest token. Sent as the
signoz-access-token header on all OTLP requests.OTLP/HTTP endpoint for traces (e.g.
https://ingest.eu.signoz.cloud:443/v1/traces).OTLP/HTTP endpoint for logs (e.g.
https://ingest.eu.signoz.cloud:443/v1/logs).An
@opentelemetry/sdk-node NodeSDK instance ready for .start(). The instance registers a SIGTERM handler that calls .shutdown() and exits the process.Example
Notes
ExuluOtelalways sets the service name to"Exulu". This is the value that appears as the service name in SigNoz.- Traces and logs use separate exporters but share the same access token.
- The SDK uses
BatchLogRecordProcessor— logs are buffered and flushed in batches, not on every log statement. - Do not call
ExuluOtel.createmore than once per process; multiple SDK instances will duplicate spans.
Related
- Self-hosting / Observability: configure SigNoz for your deployment.