0

我有一个 lambda,它根据用户在给定的持续时间内从 X-RAY 获取跟踪摘要。当我输入 startTime17:10:03.021Z和 endTime时, 17:52:03.097ZX-RAY 显示存在痕迹,但是当我更改时间 startTime17:10:03.021Z和 endTime18: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 控制台上都提供了轨迹。我该如何解决这个问题?

4

1 回答 1

1

X-Ray 控制台GetTraceSummaries代表您调用,并使用NextToken从响应返回的内容继续调用,直到找到某些内容。对于使用 js SDK 直接调用,您还需要使用它,NextToken因此它与 X-Ray 控制台具有类似的行为。

于 2018-12-20T20:53:56.793 回答