OpenTelemetry Postgres Instrumentation for Node.js
This module provides automatic instrumentation for pg
.
For automatic instrumentation see the @opentelemetry/node package.
Installation
npm install --save @opentelemetry/plugin-pg
npm install --save @opentelemetry/plugin-pg-pool
Usage
To load all of the default supported plugins, use the below approach. Each plugin is only loaded when the module that it patches is loaded; in other words, there is no computational overhead for listing plugins for unused modules.
const { NodeTracerProvider } = require('@opentelemetry/node');
const provider = new NodeTracerProvider(); // All default plugins will be used
If instead you would just want to load a specific plugin (pg in this case), specify it in the NodeTracer
configuration.
const { NodeTracerProvider } = require('@opentelemetry/node');
const provider = new NodeTracerProvider({
plugins: {
pg: {
enabled: true,
// You may use a package name or absolute path to the module
path: '@opentelemetry/plugin-pg',
}
}
});
If you are using any of the pg.Pool
APIs, you will also need to include the pg-pool
plugin.
const { NodeTracerProvider } = require('@opentelemetry/node');
const provider = new NodeTracerProvider({
plugins: {
pg: {
enabled: true,
// You may use a package name or absolute path to the module
path: '@opentelemetry/plugin-pg',
},
'pg-pool': {
enabled: true,
// You may use a package name or absolute path to the module
path: '@opentelemetry/plugin-pg-pool',
},
}
});
See examples/postgres for a short example.
PostgreSQL Plugin Options
PostgreSQL plugin 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 |
Supported Versions
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.