0.12.1 • Published 3 years ago

@mothership/plugin-pg v0.12.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

OpenTelemetry Postgres Instrumentation for Node.js

Gitter chat dependencies devDependencies Apache License

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:

OptionsTypeDescription
enhancedDatabaseReportingbooleanIf true, additional information about query parameters and results will be attached (as attributes) to spans representing database operations

Supported Versions

Useful links

License

Apache 2.0 - See LICENSE for more information.