Можем ли мы определить, какая зависимость связана с каким запросом телеметрии в коде в appication Insights

#azure #azure-application-insights

#azure #azure-application-insights

Вопрос:

У меня есть требование подавить все автоматически сгенерированные телеметрии зависимостей, которые генерируются для запроса api проверки работоспособности. Есть ли способ определить в коде, какая телеметрия зависимостей генерируется из какого запроса телеметрии, а затем в процессоре телеметрии удалить их

Ответ №1:

Если вы знаете имя операции the health check api request , то это возможно. Чтобы узнать, как получить имя операции запроса api, вы можете установить контрольную точку в своем Telemetry processor классе.

Например, имя операции — «Get api / check», тогда вы можете написать следующий код в своем пользовательском классе процессора телеметрии:

     //your other code

    public void Process(ITelemetry item)
    {
        if (!ProcessItem(item)) { return; }
        this.Next.Process(item);
    }

    private bool ProcessItem(ITelemetry item)
    {            
        if (item is DependencyTelemetry dependencyTelemetry)
        {
            var op_name = dependencyTelemetry.Context.Operation.Name;

            if (op_name == "Get api/check")//please remember replace it to the real operation name.
            {
                return false;
            }
        }

        return true;

    }