Supported libraries

The agent installs a plugin only when its target module is present and its version matches the plugin rule. Start the agent before loading these modules.

Automatic instrumentation

Library Module Disable value Current plugin CI suite
Node.js HTTP and HTTPS Built-in http and https http Yes
Express express express Yes
Axios axios axios Yes
MySQL mysql mysql Yes
MySQL2 mysql2 mysql2 Yes
PostgreSQL pg pg Yes
pg-cursor pg-cursor through the pg plugin pg No current coverage
MongoDB mongodb mongodb Yes
Mongoose mongoose mongoose Yes
RabbitMQ client amqplib amqplib No dedicated current suite
ioredis ioredis ioredis Yes
AWS SDK for JavaScript v2 aws-sdk 2.x See below No dedicated current suite

The normal plugin loader uses the plugin file name without its Plugin suffix for SW_AGENT_DISABLE_PLUGINS. Values are not case-sensitive. AWS SDK v2 has four plugins, so disable them separately with AWS2DynamoDB, AWS2Lambda, AWS2SNS, or AWS2SQS.

export SW_AGENT_DISABLE_PLUGINS='mysql,express,AWS2SQS'

Webpack uses a separate static plugin loader and currently checks internal names such as MySQLPlugin. Read Webpack before setting plugin disable values in a bundle.

Version rules

Most current plugins declare * as their module version rule. The AWS plugins declare 2.*. * means that the loader accepts the installed version; it does not mean that every past or future module version has been tested.

CI runs the plugin suites on Node.js 20, 22, and 24 with the dependency versions in the repository lock file. Check the test workflow and package lock when an exact tested version matters.

Libraries without a direct plugin

Libraries built on Node.js HTTP may create spans through the HTTP plugin even when they do not have a plugin of their own. Earlier project documentation named request, request-promise, and koa as examples. The current repository does not run a separate CI suite for these packages, so treat their behavior as indirect HTTP instrumentation.

What the plugins record

  • HTTP plugins record request operations, peers, status codes, and trace context.
  • Database plugins record database type, instance, peer, and statement or command where available.
  • Messaging plugins record broker and queue or topic information where available.
  • AWS SDK v2 plugins record supported DynamoDB, Lambda, SNS, and SQS operations.

Database parameter values are off by default. See Configuration before enabling them.