哪种Application Insights自定义api方法最适合跟踪客户端版本

时间:2016-11-04 12:54:36

标签: azure-application-insights

我们通过Application Insights提供移动后端。使用Application Insights API时,我可以使用以下方法跟踪自定义数据

  

TrackPageView - 页面,屏幕,刀片或表格
  TrackEvent - 用户操作和其他事件。用于跟踪用户行为或监控性能   TrackMetric - 性能测量,例如与特定事件无关的队列长度   TrackException - 记录诊断异常。跟踪它们与其他事件相关的位置并检查堆栈跟踪   TrackRequest - 记录服务器请求的频率和持续时间以进行性能分析   TrackTrace - 诊断日志消息。您还可以捕获第三方日志   TrackDependency - 记录对应用所依赖的外部组件的调用持续时间和频率。

哪种方式最适合使用后端记录移动设备的版本?

或者我应该使用这样的属性吗?

var client = new TelemetryClient();
client.InstrumentationKey =     client.Context.Properties.Add("ApiClientVersion", versionNumber);

1 个答案:

答案 0 :(得分:1)

您可能希望将该信息添加到AI发送的每个跟踪请求中。 为此,您需要一个TelemetryInitializer。

有一个样本here

简而言之:您需要创建ITelemetryInitializer的实现,将您的自定义信息添加到遥测上下文,然后您需要将遥测初始值设定项添加到TelemetryConfiguration实例。

TelemetryConfiguration.Active.TelemetryInitializers.Add(
    new YourCustomInformationTelemetryInitializer());

YourCustomInformationTelemetryInitializer中,您可以在Initialize方法中添加信息,如下所示:

public void Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry telemetry)
{
    telemetry.Context.Properties["AppVersion"] = "1.2.3";
    telemetry.Context.Properties["OtherSpecialInfo"] = "whatever;
}

无论您添加到遥测上下文属性,都将在Azure门户中显示。