Я использую версию AppInsights для NPM и не могу подключить этот инициализатор телеметрии к каждому исходящему конверту:
import { ApplicationInsights } from '@microsoft/applicationinsights-web'
appInsights = new ApplicationInsights({ config: {
instrumentationKey: 'removed',
autoTrackPageVisitTime: true
}});
appInsights.loadAppInsights();
var userInitializer = (envelope) => {
var telemetryItem = envelope.baseData;
telemetryItem.properties = telemetryItem.properties || {};
telemetryItem.properties["role"] = userProfile.role;
}
appInsights.queue.push(function () {
appInsights.context.addTelemetryInitializer(userInitializer);
});
Проблема в том, что appInsights.queue всегда неопределен. Единственное, что мне удалось найти, - это завернуть его в проверку, чтобы убедиться, что он не пытается выполнить дважды, но здесь это не так, он никогда не выполняется. Инициализатор телеметрии работает нормально, если я вызываю его индивидуально перед каждым отслеживанием, как это:
appInsights.addTelemetryInitializer(userInitializer);
appInsights.trackPageView();
Когда я console.log (appInsights), определенно никогда не бывает свойства очереди, но оно используется таким образом в каждом примере.