AWS X-RAY показывает странную ошибку при получении сводок трассировки за то же время

У меня есть лямбда, которая извлекает сводки трассировки из 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. Как я мог это решить?


person ABCD    schedule 21.11.2018    source источник
comment
Любое предложение?   -  person ABCD    schedule 29.11.2018


Ответы (1)


Консоль X-Ray вызывает GetTraceSummaries от вашего имени и использует NextToken, возвращенный из ответа, чтобы продолжать звонить, пока что-то не найдет. Для прямого вызова с помощью js SDK вам также потребуется использовать NextToken, поэтому он ведет себя так же, как и консоль X-Ray.

person haotian465    schedule 20.12.2018
comment
Да, получил свои данные от NextToken. Он использует концепцию, аналогичную разбиению на страницы. - person ABCD; 24.12.2018