AWS X-RAY 在同时获取跟踪摘要时显示奇怪的错误

AWS X-RAY showing weird error while fetching trace summaries for same time

我有一个 lambda,它根据用户在给定的持续时间内从 X-RAY 获取跟踪摘要。当我输入 startTime 17:10:03.021Z & endTime 17:52:03.097Z 时,X-RAY 显示有痕迹,但当我更改时间 startTime 17:10:03.021Z & endTime 18:00:03.097Z 时,它显示没有痕迹。

    var params = {
        EndTime: '2018-11-18T17:52:03.097Z',
        StartTime: '2018-11-18T17:10:03.021Z' ,
        FilterExpression: 'Annotation.User ="username"'
      };
xray.getTraceSummaries(params, function(err, data) {
    if (err) console.log(err, err.stack);
    else {
      console.log('data.TraceSummaries.length ',data.TraceSummaries.length);
      var numberOfTraceIds = data.TraceSummaries.length;
      if (numberOfTraceIds === 0) {
        console.log('Data empty ',JSON.stringify(data))
        return callback(null, 'no data');
      }

这是我写的一段代码。 时间改变时的输出

{ "TraceSummaries": [], "ApproximateTime": "2018-11-18T18:00:00.000Z", 
 "TracesProcessedCount": 0, "NextToken": "****" }

在这两种情况下,X-RAY 控制台上都提供了跟踪。我该如何解决这个问题?

X-Ray 控制台代表您调用 GetTraceSummaries,它使用从响应返回的 NextToken 继续调用,直到它找到一些东西。要使用 js SDK 直接调用,您还需要使用 NextToken,因此它与 X-Ray 控制台具有相似的行为。