我正在尝试为postgres DB设置XRAY跟踪。按照此链接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)
}发布于 2020-04-28 05:51:15
这可能是X-Ray不支持Doobie的一个不可避免的后果。您可以删除用于X-Ray的postgres仪器库,这将防止未找到段的错误。作为跟踪查询的变通方法,您可以尝试执行以下操作:
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();其中元数据可以是whitelisted SQL fields中的任何一个。由于Doobie是一个scala库,我们还没有正式支持Scala,所以目前我们不打算添加对它的支持。
https://stackoverflow.com/questions/61405991
复制相似问题