Doob ie и AWS XRay Tracing - PullRequest
       135

Doob ie и AWS XRay Tracing

0 голосов
/ 24 апреля 2020

Я пытаюсь настроить трассировку XRAY для postgres БД. Я продолжаю получать сообщение «Сегмент не найден», следуя инструкциям, приведенным в этой ссылке https://docs.aws.amazon.com/xray/latest/devguide/scorekeep-workerthreads.html

 def save(event: EventRow): IO[Int] = {
    AWSXRay.getGlobalRecorder.setTraceEntity(segment)
    sql"insert into events (id, name, data, created) values (${event.id}, ${event.name}, ${event.data}, ${event.created})".update.run
      .transact(xs)
  }

1 Ответ

0 голосов
/ 28 апреля 2020

Это может быть неизбежным следствием того, что X-Ray не поддерживает Doob ie. Вы можете удалить инструментальную библиотеку postgres для X-Ray, и это предотвратит ошибки в сегменте не найдены. В качестве обходного пути для отслеживания ваших запросов вы можете попробовать это:

Subsegment sub = AWSXRay.beginSubsegment('doobieCall');
sql"insert into events (id, name, data, created) values (${event.id}, ${event.name}, ${event.data}, ${event.created})".update.run
      .transact(xs)
Map<String, Object> sqlMap = new HashMap<>();
// Add desired metadata
sub.putAllSql(sqlMap);
AWSXRay.endSubsegment();

Где метаданными может быть любое из белых списков SQL полей . Поскольку Doob ie является библиотекой scala и мы официально не поддерживаем Scala, мы не планируем добавлять поддержку для нее в настоящее время.

...