OpenTelemetry postgres automatic instrumentation package.

Usage no npm install needed!

<script type="module">
  import opentelemetryInstrumentationPg from 'https://cdn.skypack.dev/@opentelemetry/instrumentation-pg';


OpenTelemetry Postgres Instrumentation for Node.js

NPM Published Version dependencies devDependencies Apache License

This module provides automatic instrumentation for pg.

For automatic instrumentation see the @opentelemetry/sdk-trace-node package.

Compatible with OpenTelemetry JS API and SDK 1.0+.


npm install --save @opentelemetry/instrumentation-pg

Supported Versions

  • >=7 <9


const { PgInstrumentation } = require('@opentelemetry/instrumentation-pg');
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');

const provider = new NodeTracerProvider();

  instrumentations: [
    new PgInstrumentation(),

PgInstrumentation contains both pg and pg.Pool so it will be instrumented automatically.

See examples/postgres for a short example.

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
responseHook PgInstrumentationExecutionResponseHook (function) Function for adding custom attributes from db response

Useful links


Apache 2.0 - See LICENSE for more information.