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
}