Может кто-то пролить свет на то, почему данные трассировки сегмента aws отображаются в облачном хранилище вместо XRay? - PullRequest
0 голосов
/ 26 сентября 2019

Я использую автоматический режим AWS XRay и хочу добавить аннотацию в некоторых ситуациях (я хочу перехватить исключение и записать его в XRay в качестве аннотации).Но они не отображаются в XRay, а сегментные данные как-то отображаются в cloudwatch (хотя и без моей аннотации).

Я использую реагировать, но без промежуточного программного обеспечения Express.Я использую AWSXRay.captureAsyncFunc для захвата трассировки.

const AWSXRay = require("aws-xray-sdk");
const aws = AWSXRay.captureAWS(require("aws-sdk"));
...
exports.createSessionHandler = async event => {
      const doc = AWSXRay.getSegment();
      const subSeg = doc.addNewSubsegment("My  SubSegment");
      subSeg.addAnnotation("ABC", "test1");
      await auth.getToken().then(async token => {
        await AWSXRay.captureAsyncFunc("exports.getPrice", async function() {
          await exports
            .getPrice(param1, token)
            .then(resp => {
              ({ price, fee } = resp);
            })
            .catch(err => {
              subSeg.addAnnotation("ABC", "test  error stuff");
              console.log(`Error Getting Price: ${err}`);
              // throw err;
            });
        });
        subSeg.close();
      });

}

Я ожидаю, что аннотация XRay будет иметь мою аннотацию, но ее там не было.если я смотрю в cloudwatch, я тоже не могу найти его, но я нашел там некоторые данные сегмента:

Найдены данные лямбда-трасс: Root = 1-6a8c2986-663a2c914d6da39ea37dd0a9; Родитель = 335b679c363c7aa7; Отобранный = 1 отправленный сегмент: {"trace_id:" 1-6a8c2986-663a2c914d6da39ea37dd0a9 "," id ":" d589f4a17a3a87ad "}

почему это отображается в cloudwatch?

...