Аналитика приложений Azure - исключение настраиваемого события из выборки

У меня есть веб-приложение .NET Core, которое отправляет телеметрию некоторых настраиваемых событий в Application Insights. Пользовательские события отправляются с помощью клиента телеметрии instace, например. как это:

  telemetryClient.TrackEvent(Names.FileDownload, new Dictionary<string, string>()
            {
                {PropertyKeys.ProjectName, project.ProjectName},
                {PropertyKeys.ProjectUri, project.ProjectUri},
                {PropertyKeys.IsLocal, isLocal.ToString() },
                {PropertyKeys.FileSize, fileSize?.ToString() },
            });

Большинство событий данных происходят в огромных количествах, и меня не интересуют все они, поэтому я установил выборку на 50%.

Однако у меня есть одно или два события, которые происходят очень редко, и для них я хочу, чтобы каждое событие отслеживалось.

При включенной выборке я вижу, что это важное событие почти никогда не сохраняется. Когда отключаю выборку, начинает работать.

Можно ли каким-то образом исключить определенные элементы телеметрии из фильтрации с помощью выборки?

С уважением,
Бартош


person Bartosz    schedule 04.05.2020    source источник
comment
что за веб-приложение? .net core или .net framework или другие?   -  person Ivan Yang    schedule 04.05.2020
comment
@IvanYang - .NET Core   -  person Bartosz    schedule 04.05.2020


Ответы (1)


Да, это возможно. Вы можете написать собственный TelemetryInitializer, который устанавливает для SamplingPercentage значение 100 для элемента телеметрии, который вы хотите сохранить.

Вот пример кода:

public class MyTelemetryInitializer : ITelemetryInitializer
{
    public void Initialize(ITelemetry telemetry)
    {
        #write your own logic for somecondition
        if(somecondition)
        {
            ((ISupportSampling)telemetry).SamplingPercentage = 100;
        }
    }
}

Для получения дополнительных сведений обратитесь к этому статья в разделе «Есть некоторые редкие события, которые я всегда хочу видеть. Как я могу пройти их через модуль выборки?».

person Ivan Yang    schedule 05.05.2020