使用 X-Ray SDK for Node.js 跟踪 SQL 查询 - AWS X-Ray
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 X-Ray SDK for Node.js 跟踪 SQL 查询

通过将 SQL 客户端包含在相应的 X-Ray SDK for Node.js 客户端方法中来分析 SQL 数据库查询。

  • PostgreSQLAWSXRay.capturePostgres()

    var AWSXRay = require('aws-xray-sdk'); var pg = AWSXRay.capturePostgres(require('pg')); var client = new pg.Client();
  • MySQLAWSXRay.captureMySQL()

    var AWSXRay = require('aws-xray-sdk'); var mysql = AWSXRay.captureMySQL(require('mysql')); ... var connection = mysql.createConnection(config);

在使用分析过的客户端发起 SQL 查询时,适用于 Node.js 的 X-Ray 开发工具包会在子分段中记录有关连接和查询的信息。

在 SQL 子分段中添加其他数据

您可以将其他信息添加到为 SQL 查询生成的子分段,前提是这些信息映射到加入白名单的 SQL 字段。例如,若要在某个子分段中记录经过清理的 SQL 查询字符串,可以将其直接添加到该子分段的 SQL 对象。

例 将 SQL 分配给子分段

const queryString = 'SELECT * FROM MyTable'; connection.query(queryString, ...); // Retrieve the most recently created subsegment const subs = AWSXRay.getSegment().subsegments; if (subs & & subs.length > 0) { var sqlSub = subs[subs.length - 1]; sqlSub.sql.sanitized_query = queryString; }

有关加入白名单的 SQL 字段的完整列表,请参阅 AWS X-Ray 开发人员指南中的 SQL 查询