@opentelemetry/plugin-pg

OpenTelemetry postgres automatic instrumentation package.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@opentelemetry/plugin-pg
4301010.15.02 years ago3 years agoMinified + gzip package size for @opentelemetry/plugin-pg in KB

Readme

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

License

Apache 2.0 - See LICENSElicense-url for more information.