我正在尝试获取自定义X射线片段报告,但我没有看到任何痕迹。我的代码看起来像这样:
var AWSXRay = require('aws-xray-sdk-core'); AWSXRay.captureAsyncFunc('callSoapService', subsegment => { doSomethingAsync(params, err => { if (err) { subsegment.close(err); } else { doSomethingElse().then(result => { console.info('all done, now close the segment'); subsegment.close(); }, subsegment.close); } }); });
我是否需要将其添加到父段或其他内容?
答案 0 :(得分:0)
啊。 AWSXRay.captureHTTPs()
似乎存在错误 - 如果我删除该调用captureAsyncFunc()
开始工作
答案 1 :(得分:-1)
对于AWS X-Ray Node SDK,自动模式构建在continuation-local-storage(cls)包上,该包已知与promise库的兼容性问题。这就是为什么你的'然后'似乎失去了背景。但是,大多数这些库都有各种CLS填充程序可用于提供工作所需的兼容性。
您使用的是哪个承诺库? 对于蓝鸟,那里有蓝鸟'或者对于Q' cls-q'可以使它发挥作用。
他们通常会要求传入CLS命名空间,该命名空间可从xray.getNamespace()获得。
希望这有帮助。