Application Insights 选择性遥测数据捕获
Application Insights selective telemetry data capture
Application Insights 允许捕获遥测数据
页面浏览量、请求、异常和其他几种。如果我只想捕获异常数据,我可以设置我的遥测配置来支持它吗?我正在使用部署在 Azure 上的 Asp.Net 核心 Web 应用程序。
我能够按照记录 here。
通过编写自定义遥测处理器来实现该功能
这正是我在我的应用程序中所做的。
const filterTelemetry = (envelope) => {
if (envelope.data.baseType === 'ExceptionData') {
envelope.sampleRate = 100
return true
}
if (envelope.data.baseType === 'RequestData') {
if (envelope.data.baseData.responseCode >= 400) {
envelope.sampleRate = 100
return true
}
}
if (envelope.data.baseType === 'RemoteDependencyData') {
if (envelope.data.baseData.resultCode >= 400) {
envelope.sampleRate = 100
return true
}
}
if (envelope.data.baseType === 'MetricData') {
envelope.sampleRate = Number(process.env.APPINSIGHTS_SAMPLING) || 100
return true
}
return false
}
Application Insights 允许捕获遥测数据 页面浏览量、请求、异常和其他几种。如果我只想捕获异常数据,我可以设置我的遥测配置来支持它吗?我正在使用部署在 Azure 上的 Asp.Net 核心 Web 应用程序。
我能够按照记录 here。
通过编写自定义遥测处理器来实现该功能这正是我在我的应用程序中所做的。
const filterTelemetry = (envelope) => {
if (envelope.data.baseType === 'ExceptionData') {
envelope.sampleRate = 100
return true
}
if (envelope.data.baseType === 'RequestData') {
if (envelope.data.baseData.responseCode >= 400) {
envelope.sampleRate = 100
return true
}
}
if (envelope.data.baseType === 'RemoteDependencyData') {
if (envelope.data.baseData.resultCode >= 400) {
envelope.sampleRate = 100
return true
}
}
if (envelope.data.baseType === 'MetricData') {
envelope.sampleRate = Number(process.env.APPINSIGHTS_SAMPLING) || 100
return true
}
return false
}