JSPM

  • Created
  • Published
  • Downloads 8156408
  • Score
    100M100P100Q234348F
  • License Apache-2.0

OpenTelemetry instrumentation for `pg` and `pg-pool` database client for PostgreSQL

Package Exports

  • @opentelemetry/instrumentation-pg
  • @opentelemetry/instrumentation-pg/build/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@opentelemetry/instrumentation-pg) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

OpenTelemetry Postgres Instrumentation for Node.js

NPM Published Version Apache License

This module provides automatic instrumentation for the pgmodule, which may be loaded using the @opentelemetry/sdk-trace-node package and is included in the @opentelemetry/auto-instrumentations-node bundle.

If total installation size is not constrained, it is recommended to use the @opentelemetry/auto-instrumentations-node bundle with @opentelemetry/sdk-node for the most seamless instrumentation experience.

Compatible with OpenTelemetry JS API and SDK 1.0+.

Installation

npm install --save @opentelemetry/instrumentation-pg

Supported Versions

  • pg versions >=8.0.3 <9
  • pg-pool versions >=2.0.0 <4

Usage

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

const provider = new NodeTracerProvider();
provider.register();

registerInstrumentations({
  instrumentations: [
    new PgInstrumentation(),
  ],
});

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

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
requestHook PgInstrumentationExecutionRequestHook (function) Function for adding custom span attributes using information about the query being issued and the db to which it's directed
responseHook PgInstrumentationExecutionResponseHook (function) Function for adding custom span attributes from db response
requireParentSpan boolean If true, requires a parent span to create new spans (default false)
addSqlCommenterCommentToQueries boolean If true, adds sqlcommenter specification compliant comment to queries with tracing context (default false). NOTE: A comment will not be added to queries that already contain -- or /* ... */ in them, even if these are not actually part of comments

License

Apache 2.0 - See LICENSE for more information.