Добавление пользовательского свойства ко всем трассировкам Application Insight - PullRequest
0 голосов
/ 14 сентября 2018

Я хочу добавить пользовательское свойство ко всем трассировкам в Application Insights.

В Asp.Net Core я добавил этот код

internal class TelemetryProperties : ITelemetryInitializer
{
    private IConfiguration configuration;

    public TelemetryProperties(IConfiguration configuration)
    {
        this.configuration = configuration;
    }

    // TODO: Not being added to all traces.
    // http://apmtips.com/blog/2014/12/01/telemetry-initializers/
    public void Initialize(ITelemetry telemetry)
    {
        var applicationName = configuration["Application:Name"];
        telemetry.Context.Properties.Add("Application", applicationName);
    }
}

и в методе настройки Startup.cs я добавил:

TelemetryConfiguration.Active.TelemetryInitializers.Add(new TelemetryProperties(Configuration));

Цель состояла в том, чтобы добавить «Приложение» ко всем трассировкам, даже те, которые были сделаны автоматически с помощью Application Insights, но в результате он добавляется ТОЛЬКО к моим настраиваемым трассировкам, которые я вызываю через мой код.

Как добавить свойство ко ВСЕМ трассам, даже к тем, которые я не создаю.

Редактировать: Цель этого состоит в том, чтобы я хотел, чтобы в одном журнале аналитики приложений было несколько API, но я хочу иметь возможность секционирования при необходимости, добавляя определяющее свойство, такое как имя приложения.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Я использовал ваш код (без изменений), и на моей стороне все трассировки (добавляет понимание приложения, я не использовал никаких методов Trackxx), включая исключение, все имеют свойство «Приложение».Пожалуйста, смотрите скриншоты ниже: enter image description here

Если это все еще происходит на вашей стороне, предоставьте скриншоты журналов appInsights.

0 голосов
/ 15 сентября 2018

Изменение TelemetryConfiguration.Active - не рекомендуемый подход в приложениях Asp.Net Core.Можете ли вы добавить инициализатор телеметрии, используя приведенный ниже код в ConfigureServices?

services.AddSingleton<ITelemetryInitializer, TelemetryProperties>();

https://github.com/Microsoft/ApplicationInsights-aspnetcore/wiki/Custom-Configuration#adding-new-telemetryinitializer

Пожалуйста, дайте мне знать, если это поможет.

...