属性不显示"/>
Application insight 打开遥测属性不显示
我有一个使用
AzureMonitorTraceExporter
的开放遥测设置的 nestjs 应用程序。 (v1.0.0-beta.10).
在内部,我们使用带有自动检测的 Prisma ORM 来跟踪我们的数据库调用。 当通过 jaeger 在本地查看跟踪时,所有 span 属性都正确显示,但是当通过 appinsight 探索跟踪时,所有
db.statement
属性都丢失了。
这里是跨度的概述:
items to be sent [
Span {
attributes: {
'db.statement': 'SELECT "■■■■■■"."■■■■■■■■"."■■■■■■■", "■■■■■■■"."■■■■■■■■■■■■■■■■"."■■■■■■■■■■■■■■■" FROM "■■■■■■■"."■■■■■■■■■■■■■■■■■■" WHERE "■■■■■■■"."■■■■■■■■■■■■■■■■"."■■■■■■■■" = $1 LIMIT $2 OFFSET $3 /* traceparent=■■■■■■■■■■■■■■ */'
},
links: [],
events: [],
status: { code: 0 },
endTime: [ 1669233370, 398610283 ],
_ended: true,
_duration: [ 0, 730381 ],
name: 'prisma:engine:db_query',
_spanContext: {
traceId: '■■■■■■■■■■■■■■■■■■■',
spanId: '■■■■■■■■■■■■■■■■■',
traceFlags: 1
},
parentSpanId: '■■■■■■■■■■■■■■■■■',
kind: 0,
startTime: [ 1669233370, 397879902 ],
resource: Resource { attributes: [Object] },
instrumentationLibrary: { name: 'prisma', version: undefined, schemaUrl: undefined },
_spanLimits: {
attributeValueLengthLimit: Infinity,
attributeCountLimit: 128,
linkCountLimit: 128,
eventCountLimit: 128
},
_spanProcessor: MultiSpanProcessor { _spanProcessors: [Array] },
_attributeValueLengthLimit: Infinity
}
]
知道为什么 appinsight 会去掉这个属性吗?
我已经尝试了各种版本的
AzureMonitorTraceExporter
包以及简单地使用 appInsight nodejs SDK(尽管后来所有 prisma:engine:*
痕迹都与其他痕迹一起消失了)。
我希望我的
db.statement
属性在探索痕迹时显示在custom attributes
部分(就像他们通过Jaeger或Tempo查看它们时所做的那样。
回答如下:
属性
db.statement
将映射到 Application Insights 中依赖项的 Data
字段。这是Data
字段的描述:
这个字段就是这个依赖调用发起的命令。示例是带有所有查询参数的 SQL 语句和 HTTP URL。
请参阅此处以获取执行映射的导出器中的相关代码。
更多推荐
Application insight 打开遥测属性不显示
发布评论