我正在使用 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) 绝对没有队列属性但它在每个例子中都是这样使用的。
达令说
相关分类