Добавление пользовательских измерений в трассировки Application Insights из .NET Core - PullRequest
0 голосов
/ 07 ноября 2019

Как добавить пользовательское измерение в трассировки Application Insights из .NET Core? Любые указатели приветствуются.

1 Ответ

1 голос
/ 07 ноября 2019

Если это основной веб-проект .net, вы можете использовать ITelemetryInitializer для добавления пользовательского измерения.

Сначала добавьте в проект новый класс с именем MyTelemetryInitializer:

public class MyTelemetryInitializer: ITelemetryInitializer
{
    public MyTelemetryInitializer()
    {
    }

    public void Initialize(ITelemetry telemetry)
    {

        if (telemetry is TraceTelemetry traceTelemetry)
        {

            if (!traceTelemetry.Properties.ContainsKey("my_custom_1"))
            {
                //add the custom dimension here
                traceTelemetry.Properties["my_custom_1"] = "test 12346"; 
            }

        }

    }
 }

Затем в методе Startup.cs -> ConfigureServices добавьте следующие строки кода:

services.AddApplicationInsightsTelemetry();
services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();

И для целей тестирования в HomeController у меня есть этот метод Index для отправки сообщения трассировки:

        public IActionResult Index()
        {
            TelemetryClient client = new TelemetryClient();
            client.TrackTrace("it is a trace message from index page");

            return View();
        }

Наконец, запустите проект. Затем перейдите на портал Azure -> понимание приложения, и вы увидите, что добавлено пользовательское измерение.

enter image description here

...