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();
});
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.
fixUse 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.
fixUse 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.
fixEnsure you pass a mysql2 (>=2.12.0) module to captureMySQL.
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