Package Exports
- @opentelemetry/instrumentation-pg
 - @opentelemetry/instrumentation-pg/build/src/index.js
 
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@opentelemetry/instrumentation-pg) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
OpenTelemetry Postgres Instrumentation for Node.js
This module provides automatic instrumentation for the pgmodule, which may be loaded using the @opentelemetry/sdk-trace-node package and is included in the @opentelemetry/auto-instrumentations-node bundle.
If total installation size is not constrained, it is recommended to use the @opentelemetry/auto-instrumentations-node bundle with @opentelemetry/sdk-node for the most seamless instrumentation experience.
Compatible with OpenTelemetry JS API and SDK 1.0+.
Installation
npm install --save @opentelemetry/instrumentation-pgSupported Versions
Usage
const { PgInstrumentation } = require('@opentelemetry/instrumentation-pg');
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const provider = new NodeTracerProvider();
provider.register();
registerInstrumentations({
  instrumentations: [
    new PgInstrumentation(),
  ],
});PgInstrumentation contains both pg and pg.Pool so it will be instrumented automatically.
PostgreSQL Instrumentation Options
PostgreSQL instrumentation has few options available to choose from. You can set the following:
| Options | Type | Description | 
|---|---|---|
enhancedDatabaseReporting | 
boolean | 
If true, additional information about query parameters and results will be attached (as attributes) to spans representing database operations | 
requestHook | 
PgInstrumentationExecutionRequestHook (function) | 
Function for adding custom span attributes using information about the query being issued and the db to which it's directed | 
responseHook | 
PgInstrumentationExecutionResponseHook (function) | 
Function for adding custom span attributes from db response | 
requireParentSpan | 
boolean | 
If true, requires a parent span to create new spans (default false) | 
addSqlCommenterCommentToQueries | 
boolean | 
If true, adds sqlcommenter specification compliant comment to queries with tracing context (default false). NOTE: A comment will not be added to queries that already contain -- or /* ... */ in them, even if these are not actually part of comments | 
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
 - For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js
 - For help or feedback on this project, join us in GitHub Discussions
 
License
Apache 2.0 - See LICENSE for more information.