在App洞察页面级别跟踪中添加自定义数据

时间:2016-12-11 18:17:28

标签: azure-application-insights

我在ASp.net MVC角度应用程序中使用App见解。我已经在我的布局文件中插入了javascript块(我从微软网站获得),以便跟踪页面级遥测。我想在此遥测中添加自定义数据(我的会话变量中的用户名)。我怎么能这样做?

对于服务器端,我知道我可以使用初始化程序添加自定义数据,但我不知道如何从javascript中执行此操作。

2 个答案:

答案 0 :(得分:1)

appInsights.trackPageView
(
   "page name",
   "http://domain.com/pageurl.html",
    {
      PropertyA: object.propertyA,
      PropertyB: object.propertyB
    }
 );

有关详细信息:https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-custom-events-metrics#a-namepropertiesafilter-search-and-segment-your-data-with-properties

答案 1 :(得分:0)

AI JavaScript SDK具有非常相似的概念。在这种情况下,您可能需要一个javascript遥测初始化器:

来自https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-filtering-sampling

(还有https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md

    // Adding telemetry initializer.
    // This is called whenever a new telemetry item
    // is created.

    appInsights.queue.push(function () {
        appInsights.context.addTelemetryInitializer(function (envelope) {
            var telemetryItem = envelope.data.baseData;

            // To set custom properties:
            telemetryItem.properties = telemetryItem.properties || {};
            telemetryItem.properties["globalProperty"] = "boo";

            // To set custom metrics:
            telemetryItem.measurements = telemetryItem.measurements || {};
            telemetryItem.measurements["globalMetric"] = 100;
        });
    });

并且在遥测初始化器中你可以设置你想要的任何值。

如果是用户信息,您也可以使用setAuthenticatedUserContext代替遥测初始化程序。