OpenTelemetry Postgres Instrumentation for Node.js
!NPM Published Versionnpm-imgnpm-url
!dependenciesdependencies-imagedependencies-url
!devDependenciesdevDependencies-imagedevDependencies-url
!Apache Licenselicense-imagelicense-imageThis 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:
- For more about OpenTelemetry JavaScript:
- For help or feedback on this project, join us in GitHub Discussionsdiscussions-url