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

LibraryModuleDisable valueCurrent plugin CI suite
Node.js HTTP and HTTPSBuilt-in http and httpshttpYes
ExpressexpressexpressYes
AxiosaxiosaxiosYes
MySQLmysqlmysqlYes
MySQL2mysql2mysql2Yes
PostgreSQLpgpgYes
pg-cursorpg-cursor through the pg pluginpgNo current coverage
MongoDBmongodbmongodbYes
MongoosemongoosemongooseYes
RabbitMQ clientamqplibamqplibNo dedicated current suite
ioredisioredisioredisYes
AWS SDK for JavaScript v2aws-sdk 2.xSee belowNo 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.