【问题标题】:aws-xray captureAWS annotationsaws-xray 捕获AWS 注释
【发布时间】:2019-10-01 12:09:13
【问题描述】:

我已经开始使用 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);

这是一个输出示例:

问题

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

希望

希望有一种方法可以配置 AWSXRay CaptureAWS 修改,以便它们在注释或元数据中包含每个 aws-client 请求的参数。

问题

是否可以请求 AWSXRay.captureAWS(AWS); 在其生成的跟踪的注释或元数据中包含传递给 aws sdk 客户端调用的参数?

【问题讨论】:

    标签: node.js amazon-web-services aws-lambda aws-xray


    【解决方案1】:

    资源部分包含一些客户端的高级参数,例如DynamoDB 表名。默认情况下,并非所有参数都被捕获。这是因为它们可能包含用户不希望在他们的跟踪中跟踪的信息,并且也可能很冗长。

    目前 X-Ray SDK 中不支持任意 API 参数的选择加入。作为目前的解决方法,我建议您将 sdk 调用包装在本地子段中,并将要捕获的参数记录为该子段的注释或元数据。如果您在查找允许您创建自己的子段的文档方面需要任何帮助,请告诉我。

    【讨论】:

    • 有道理,谢谢。您知道是否计划将选择加入功能添加到 sdk 中?
    • 谢谢,我已将其记录为 AWS X-Ray 内部的功能请求。
    猜你喜欢
    • 2019-12-28
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 2019-02-01
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多