App Insights: отключить телеметрию зависимостей SQL
Я использую Azure Application Insights для веб-сайта (служба приложений Azure). На этом я использую кластерную установку Umbraco и hangfire. Только эти два продолжают попадать в базу данных каждую минуту и наводняют мои "App Insights".
Итак, мой вопрос: Как отключить трекер зависимостей Sql?
Я посмотрел на приложения.config и не смог найти ничего очевидного.
Я вижу Microsoft.ApplicationInsights.DependencyCollector
что, вероятно, ответственно, но я не хочу удалять все типы телеметрия зависимостей,только sql.
спасибо
1 ответов
лучше всего использовать процессор телеметрии для фильтрации определенных типов запросов зависимостей. Проверьте эти ресурсы ниже для информации.
выборка, фильтрация и предварительная обработка телеметрии в Application Insights SDK
фильтрация запросов в Application Insights с процессором телеметрии
пример обработчика может выглядеть следующим образом.
using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights.DataContracts;
public class NoSQLDependencies : ITelemetryProcessor
{
private ITelemetryProcessor Next { get; set; }
// Link processors to each other in a chain.
public NoSQLDependencies(ITelemetryProcessor next)
{
this.Next = next;
}
public void Process(ITelemetry item)
{
if (IsSQLDependency(item)) { return; }
this.Next.Process(item);
}
private bool IsSQLDependency(ITelemetry item)
{
var dependency = item as DependencyTelemetry;
if (dependency?.DependencyTypeName == "SQL")
{
return true;
}
return false;
}
}