如何为所有Azure Application Insight请求(JavaScript)添加自定义属性 给定一个浏览器单页应用程序 使用AppInsights JS SDK v2.5.3时 然后我想要一个CustomServiceName与所有请求一起发送
a) 自定义属性是否应位于如何为所有Azure Application Insight请求(JavaScript)添加自定义属性 给定一个浏览器单页应用程序 使用AppInsights JS SDK v2.5.3时 然后我想要一个CustomServiceName与所有请求一起发送,javascript,azure,appinsights,Javascript,Azure,Appinsights,a) 自定义属性是否应位于信封.data、环境数据.baseData或信封.data.properties上 它似乎会根据所拨打电话的类型而变化 b) 我是否可以在操作上下文而不是每个请求上设置CustomServiceName 目前我们正在使用这个 var telemetryInitializer = (envelope) => { envelope.tags["ai.application.ver"] = "1.2.3";
信封.data
、环境数据.baseData
或信封.data.properties
上
它似乎会根据所拨打电话的类型而变化
b) 我是否可以在操作上下文而不是每个请求上设置CustomServiceName
目前我们正在使用这个
var telemetryInitializer = (envelope) => {
envelope.tags["ai.application.ver"] = "1.2.3";
if (envelope.data) {
envelope.data["CustomServiceName"] = "MyName";
if (envelope.data.properties) {
envelope.data.properties["CustomServiceName"] = "MyName";
}
}
};
aisdk.addTelemetryInitializer(telemetryInitializer);
基于a)信封。数据
是模型的基础,直接在此对象上设置新属性可能无法正确接收,并且env.data.baseData
将根据您发送的数据类型而有所不同<代码>信封.data.properties应存在于所有遥测类型上,并允许您随遥测发送任何自定义数据<代码>信封.数据.属性[“CustomServiceName”]=“MyName”代码>是正确的实现
b) 使用遥测初始值设定项是实现这一点的最佳方法-为每个请求添加属性是它们的一个用例。上下文中有一组特定的数据点,列表是不可自定义的。根据设置的其他部分,云角色可能适合,但您仍需要使用遥测初始值设定项进行设置。不确定SDK是否已更新<代码>信封.数据.属性现在未定义,至少对于
页面视图
遥测而言。遥测初始值设定项中的信封.data.XXXX
现在通过检查发送的请求自动添加到数据.properties
SDK@Smokovsky说清楚一点,这是新方法吗<代码>var telemetryInitializer=(信封)=>{envelope.tags[“ai.cloud.role”]=“CLOUDROLEHERE”;if(envelope.data){envelope.data[“Name”]=aiName;envelope.data[“Email”]=aiEmail;envelope.data[“role”]=aiRole;}; appInsights.addTelemetryInitializer(telemetryInitializer)代码>