Registry / devops / aws-xray-sdk-mysql

aws-xray-sdk-mysql

JSON →
library3.12.0jsnpmunverified

Automatically captures trace data from MySQL queries for AWS X-Ray. Current stable version 3.12.0, follows AWS SDK release cadence with minor updates. Key differentiator: wraps the mysql2/mysql Node.js driver to record query information, errors, and response data in X-Ray subsegments under a parent segment. Supports both automatic (cls-hooked) and manual segment management modes. Requires aws-xray-sdk-core as a peer dependency. Ships TypeScript definitions.

npm install aws-xray-sdk-mysql
INSTALL
IMPORT
SIG · AWS-XRAY-SDK-MYSQL
A
aws-xray-sdk-mysql
devopsjavascriptv3.12.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

captureMySQL
import { captureMySQL } from 'aws-xray-sdk-mysql'
const captureMySQL = require('aws-xray-sdk-mysql')
Package is ESM-compatible; default import is a function. For CommonJS require, use require('aws-xray-sdk-mysql').captureMySQL or set esModuleInterop.
AWSXRay
import AWSXRay from 'aws-xray-sdk-core'
const AWSXRay = require('aws-xray-sdk-core')
aws-xray-sdk-core exports a default object; using require without .default may break in ESM contexts.
mysql module (instrumented)
const mysql = captureMySQL(require('mysql2'))
const mysql = require('mysql2')
You must pass the mysql2 module through captureMySQL to enable tracing. Using raw mysql2 bypasses X-Ray instrumentation.

Shows how to instrument the mysql2 module and run a query with automatic X-Ray tracing.

import AWSXRay from 'aws-xray-sdk-core'; import { captureMySQL } from 'aws-xray-sdk-mysql'; import mysql from 'mysql2'; const instrumentedMysql = captureMySQL(mysql); const config = { host: process.env.MYSQL_HOST ?? 'localhost', user: process.env.MYSQL_USER ?? 'root', password: process.env.MYSQL_PASSWORD ?? '', database: process.env.MYSQL_DATABASE ?? 'test' }; const connection = instrumentedMysql.createConnection(config); connection.query('SELECT 1 + 1 AS solution', (err, results) => { if (err) throw err; console.log('The solution is:', results[0].solution); connection.end(); });
Debug
Known issues
gotchaUsing raw mysql2 without captureMySQL will not generate X-Ray subsegments.
fix
Always wrap mysql2 with captureMySQL before using it.
affects: >=3.0.0
deprecatedManual mode requires passing segment as a last argument to query calls; in automatic mode this is not needed.
fix
Prefer automatic mode (default) and avoid passing segment manually unless necessary.
affects: >=3.0.0
gotchaThe package expects a mysql2 compatible driver; using older mysql package may cause type issues.
fix
Use mysql2 version >= 2.12.0 as specified in requirements.
affects: >=3.0.0
breakingIn v3, the package is ESM-only; CommonJS require may fail without named import destructuring.
fix
Use import syntax or require('aws-xray-sdk-mysql').captureMySQL.
affects: >=3.0.0
Errors
Common errors & fixes
Cannot find module 'aws-xray-sdk-mysql'. Did you mean to import "aws-xray-sdk-mysql" instead of require('aws-xray-sdk-mysql')?
Using CommonJS require in an ESM project or vice versa; package exports are ESM.
fix
Use import { captureMySQL } from 'aws-xray-sdk-mysql' or use dynamic import().
TypeError: captureMySQL is not a function
CommonJS require returns the default export if esModuleInterop is enabled; otherwise you need .default.
fix
Use const { captureMySQL } = require('aws-xray-sdk-mysql') or set esModuleInterop and use require('aws-xray-sdk-mysql').default.
TypeError: instrumentedMysql.createConnection is not a function
Passed an incompatible driver (e.g., mysql instead of mysql2) or forgot to call captureMySQL with the require result.
fix
Ensure you pass a mysql2 (>=2.12.0) module to captureMySQL.
Upgrade
Version history
3.12.0latest on npm
Audit
Dependencies
aws-xray-sdk-corerequiredPeer dependency providing segment/subsegment management and X-Ray API communication
mysql2requiredInstrumented driver; any compatible MySQL driver version >= 2.12.0
Agent activity
17 hits · last 30 days
node
14
OpenAI (training)
1
Resources
aws-xray-sdk-mysql — npm install aws-xray-sdk-mysql · libregistry