Как я могу отправить CustomUserId в Appinsight, написав код в .netcore 2.2? - PullRequest
0 голосов
/ 24 октября 2019

Я создал приложение app-insight в Azure, чтобы отслеживать метрики. Все выглядит хорошо и легко увидеть Req / Res.I сделал следующие шаги: добавив appsettings.json:

"ApplicationInsights": {
"InstrumentationKey": "xxxx-7a49-4bc1-yyyy-kkkkk"
},

и добавив UseApplicationInsights в Program.cs

  public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
        .UseApplicationInsights()
            .UseStartup<Startup>();

, но я хочуотправьте что-нибудь в appinsight и посмотрите как столбец, когда я напишу запрос kusto.

есть ли способ, подобный приведенному ниже:

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
        .UseApplicationInsights()
        .ChangeValue("UserId",Httphelper.GetCurrentUserId)
        .AddColumn("MyCustomField", Httphelper.Something)
            .UseStartup<Startup>();

Могу ли я сделать это или каким-либо другим способом отправить или изменить существующийстоимость? Я пытался найти какую-либо статью об этом, но я не мог удовлетворить решение.

1 Ответ

1 голос
/ 24 октября 2019

Вы можете добавить его как пользовательское свойство с помощью ITelemetryInitializer .

. В примере кода вам просто нужно внести несколько изменений, чтобы добавить свойство, как показано ниже:

  public class MyTelemetryInitializer : ITelemetryInitializer
  {
    public void Initialize(ITelemetry telemetry)
    {
      telemetry.Properties["customuserid"] = "your_id";
    }

 }

Чтобы узнать, как зарегистрировать ITelemetryInitializer в основном проекте asp.net, обратитесь к этому разделу « Приложения ASP.NET Core / Worker Service: загрузите инициализатор » в приведенном выше документе. Снимок экрана, приведенный ниже:

enter image description here

После добавления приведенного выше кода все данные телеметрии будут содержать пользовательское свойство. Затем в своем запросе kusto вы можете использовать это свойство.

...