我已经开始使用AWSXRay,以便更深入地了解为什么我的lambda函数的性能并不理想。这个lambda函数运行一个gql服务,这意味着它有很多对其他lambda函数以及用于缓存的dynamodb的出站请求。
通过在我的处理程序中使用以下代码,我添加了对所有aws-sdk客户端调用的跟踪。它会更改导入的AWS模块,以便所有后续成功使用的AWS客户端都包括aws-xray跟踪,而不管是哪个模块导入它。太棒了!
import AWS from 'aws-sdk';
import AWSXRay from 'aws-xray-sdk';
AWSXRay.captureAWS(AWS);以下是输出的示例:

问题所在
问题是,“跟踪”中没有任何关于请求参数的注释。每个跟踪的注释和元数据都是空的:

希望
希望有一种方法来配置aws CaptureAWS修改,以便它们在注释或元数据中包含每个AWSXRay客户端请求的参数。
问题是
是否可以请求AWSXRay.captureAWS(AWS);在其生成的跟踪的注释或元数据中包含传递给aws sdk客户端调用的参数?
发布于 2019-05-15 23:14:02
资源部分包含一些客户端的高级参数,例如DynamoDB表名。默认情况下,并非所有参数都会被捕获。这是因为它们可能包含用户不希望在其跟踪中跟踪的信息,也可能是冗长的。
目前,在X-Ray SDK中不能对任意API参数使用选择加入。作为目前的变通方法,我建议您将sdk调用包装在一个本地子段中,并记录您想要捕获的参数作为该子段的注释或元数据。如果您需要任何帮助来查找允许您创建自己的子细分市场的文档,请让我知道。
https://stackoverflow.com/questions/56130852
复制相似问题