Как временно прекратить запись RequestTrackingTelemetryModule в Application Insights для ASP.NET MVC (.NET Full) - PullRequest
0 голосов
/ 15 февраля 2019

Как мы можем остановить ведение журнала конкретного модуля, такого как RequestTrackingTelemetryModule, в ASP.NET MVC (.NET Full, а не .NET Core)

Я пытался удалить

<Add Type="Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule, Microsoft.AI.Web">

в ApplicationInsights.config , но это вызывает странное исключение

Я использую веб-приложение Azure как для промежуточных, так и для живых сред.Поэтому я просто хочу прекратить регистрировать информацию о запросах в реальной среде, так как это слишком дорого.

Спасибо за помощь!

1 Ответ

0 голосов
/ 15 февраля 2019

Вы можете использовать ITelemetryProcessor и, следуя этой ссылке .

, добавить собственный класс, который реализует ITelemetryProcessor:

public class MyTelemetryProcessor : ITelemetryProcessor
{
    private ITelemetryProcessor Next { get; set; }

    public MyTelemetryProcessor(ITelemetryProcessor next)
    {
        this.Next = next;
    }

    public void Process(ITelemetry telemetry)
    {

        RequestTelemetry request = telemetry as RequestTelemetry;

        if (request != null)
        {
            return;
        }

        if (request == null)
        {
            this.Next.Process(telemetry);
        }
    }
}

Затем в ApplicationInsights.config добавитьэто:

<TelemetryProcessors>
    <Add Type="WebApplicationMVC.MyTelemetryProcessor, WebApplicationMVC">
      <!-- Set public property -->     
    </Add>
  </TelemetryProcessors>

снимок экрана:

enter image description here

Отфильтрованы все запросы от данных аналитики приложения, результат теста какниже:

enter image description here

...