@opentelemetry/instrumentation-oracledb
OpenTelemetry instrumentation for `oracledb` database client for Oracle DB
Community Reviews
Solid auto-instrumentation with minimal security overhead for Oracle tracing
Error handling is well-designed from a security perspective. Stack traces in spans don't leak connection details, and bind parameters are redacted by default unless you explicitly enable them. The library follows secure-by-default principles - you opt into more verbose logging rather than having to opt out. Integration with OpenTelemetry's context propagation works reliably for tracking queries across service boundaries.
The main limitation is dependency on the broader OpenTelemetry SDK ecosystem, which means you're pulling in a significant dependency tree. Updates sometimes lag behind oracledb client library changes, though the maintainers have been responsive to compatibility issues in my experience.
Best for: Production Oracle applications needing observability without manual instrumentation where credential leakage is a concern.
Avoid if: You need minimal dependencies or require bleeding-edge oracledb features immediately upon release.
Solid auto-instrumentation with minimal setup, but requires OpenTelemetry knowledge
The main challenge is the learning curve isn't about this package specifically, but understanding OpenTelemetry's broader ecosystem. You need to configure exporters, resource detection, and sampling separately. Error messages when misconfigured tend to be generic OpenTelemetry errors rather than oracledb-specific guidance. Documentation is sparse - mostly just a README with basic usage - so you'll need to rely on the general OpenTelemetry docs and your understanding of how instrumentations work.
In practice, it does what it promises reliably. Query spans include useful attributes like db.statement and db.operation. I haven't encountered bugs in production, and it handles connection pooling correctly. Debugging requires enabling OpenTelemetry's diagnostic logging, which can be verbose but ultimately helpful.
Best for: Teams already using OpenTelemetry who need automatic tracing for Oracle database operations with minimal configuration.
Avoid if: You're new to OpenTelemetry and need extensive hand-holding or want a tracing solution that works independently of the OpenTelemetry ecosystem.
Solid auto-instrumentation for Oracle DB with minimal setup friction
Type definitions are well-structured and integrate cleanly with the core OpenTelemetry types. The instrumentation config options are sensible, including hooks for sanitizing sensitive data from SQL queries before they're recorded in spans. Error handling is transparent—database errors propagate normally while still being captured in span status and events.
The main gotcha is documentation being scattered across the OpenTelemetry docs site rather than consolidated in the package README. You'll need to reference the general instrumentation docs and examples from other database instrumentations to understand all configuration options. Also, semantic conventions for database spans occasionally lag behind spec updates, requiring manual attribute mapping for newer conventions.
Best for: Teams using Oracle DB with node-oracledb who want automatic distributed tracing without instrumenting every query manually.
Avoid if: You need fine-grained control over every span attribute or work with heavily customized oracledb wrapper abstractions that break auto-instrumentation.
Sign in to write a review
Sign In