Недавно я начал выпуск своего первого приложения. Я пошел вперед и активировал анализ приложений, который, по моему мнению, имеет большую ценность. Тем не менее, я получаю статистику, которая поступает со стороны разработчика, например, журналы записывают записи из localhost: xxxx. Я уверен, что есть способ отключить это. Может ли кто-нибудь дать мне несколько указателей, пожалуйста?Как игнорировать localhost на основе приложений Azure
5
A
ответ
7
- Вы можете отфильтровать уже собранную телеметрию, что вы получаете с помощью F5 в пользовательском интерфейсе, так как он имеет свойство IsDeveloperMode = истина
- Вы можете иметь преобразование web.config, который удаляет модуль Application Insights из web.debug.config и листьев это только в web.release.config (если у вас есть только автоматически собранные свойства)
- Вы можете удалить ключ из конфигурации и установить его только для версии выпуска в коде: TelemetryConfiguration.Active.InsrumentationKey = «MyKey» (если вы не предоставляйте iKey в отладочном состоянии, вы все равно можете видеть всю телеметрию в концентраторе AI в VS 2015)
- Вы можете использовать differen т iKeys для отладки и выпуска снова установив его в коде
- Вы можете отключить ApplicationInsights полностью отладить установку TelemetryConfiguration.Active.DisableTelemetry = истина
8
Вы также можете фильтровать LOCALHOST телеметрию с помощью TelemetryProcessor (если вы используете последняя (предварительная версия Application Insights Web SDK). Вот пример. Добавьте этот класс в проект:
public class LocalHostTelemetryFilter : ITelemetryProcessor
{
private ITelemetryProcessor next;
public LocalHostTelemetryFilter(ITelemetryProcessor next)
{
this.next = next;
}
public void Process(ITelemetry item)
{
var requestTelemetry = item as RequestTelemetry;
if (requestTelemetry != null && requestTelemetry.Url.Host.Equals("localhost", StringComparer.OrdinalIgnoreCase))
{
return;
}
else
{
this.next.Process(item);
}
}
}
А затем зарегистрировать его в ApplicationInsights.config:
<TelemetryProcessors>
<Add Type="LocalhostFilterSample.LocalHostTelemetryFilter, LocalHostFilterSample"/>
</TelemetryProcessors>
+0
Это лучше, потому что я могу отправить пользовательский заголовок с Selenium, и этот код может игнорировать мои тесты. Да, я знаю, у меня должна быть специальная тестовая среда. Но, по крайней мере, я тестирую ..: D – ppumkin
Я добавил следующие строки кода в моих FilterConfig.cs: '#if RELEASE TelemetryConfiguration .Active.DisableTelemetry = true; # endif' Анастасия, Как вы думаете, это сработает? – chesco
Если у вас стандартное приложение, определяющее RELEASE, и если вы не создаете какую-либо пользовательскую конфигурацию TelemetryConfiguration в коде, чем yes. DisableTelemetry применима к каждой TelemetryConfiguration. Autocollection использует только TelemetryConfiguration.Active. Также я не знаю, если вы отследите smth до того, как код в FilterConfig будет достигнут (например, некоторые следы). Если да, то телеметрия, очевидно, будет отправлена. –