@opentelemetry/instrumentation-pg
TypeScript icon, indicating that this package has built-in type declarations

0.40.0 • Public • Published

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

  • >=8 <9

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.

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
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

Useful links

License

Apache 2.0 - See LICENSE for more information.

Package Sidebar

Install

npm i @opentelemetry/instrumentation-pg

Weekly Downloads

619,433

Version

0.40.0

License

Apache-2.0

Unpacked Size

105 kB

Total Files

27

Last publish

Collaborators

  • pichlermarc
  • bogdandrutu
  • dyladan