2

嘿,我正在尝试跟踪来自快速应用程序的传出请求,但我无法让它工作。

当我不使用 AWSXRAY.captureHttpsGlobal 函数时,传入请求一切正常,我可以在“服务地图”中看到我的应用程序,并且我的传入请求跟踪进入 AWS,但我想跟踪传出请求,只要我添加 AWSXRAY .captureHttpsGlobal 然后没有任何效果,我没有任何异常或任何东西,我的守护进程没有打印通常的“成功发送一批 1 段(0.058 秒)”

这是我的代码。

var AWSXRay = require('aws-xray-sdk');
const express = require("express");

var app = express();
app.use(AWSXRay.express.openSegment('MyApp'));

AWSXRay.captureHTTPsGlobal(require('https')); // works when i comment this out
var http = require('https');


app.get('/', function (req, res) {
    http.get("https://google.com", (resp) => {
        res.send("googlefetched")
    });
    //res.send("hello world")

});

app.use(AWSXRay.express.closeSegment());
app.listen(3000, () => console.log('Example app listening on port 3000!'))
4

1 回答 1

1

您能否分享您的代码运行在哪个节点运行时版本以及您正在使用哪个 X-Ray SDK 版本,以便我们可以尝试在我们这边重现此问题?

同时,我想分享一个自 v1.2.0 以来已修复的上一个问题https://github.com/aws/aws-xray-sdk-node/issues/18,如果没有使用响应正文,则整个段永远不会被刷新到守护进程。

请告诉我。

于 2018-06-11T19:08:46.550 回答