如何为所有 Azure Application Insight 请求添加自定义属性 (JavaScript)
How do you add custom properties for ALL Azure Application Insight requests (JavaScript)
- 给定浏览器单页应用程序
- 使用 AppInsights JS SDK v2.5.3 时
- 然后我想要一个 CustomServiceName 与所有请求一起发送。
a) 自定义属性应该在 envelope.data
、env.data.baseData
还是 envelope.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);
基于https://github.com/microsoft/ApplicationInsights-JS#telemetry-initializers
a) envelope.data
是模型的基础,直接在此对象上设置新属性可能无法正确摄取,并且 env.data.baseData
会因您发送的数据类型而异。 envelope.data.properties
应该存在于所有遥测类型中,并允许您发送任何自定义数据以及您希望的遥测。 envelope.data.properties["CustomServiceName"] = "MyName";
是正确的实现。
b) 使用遥测初始化器是实现此目的的最佳方法 - 向每个请求添加 属性 是它们的用例之一。上下文具有 a small number 个特定数据点,并且列表不可自定义。根据您的其余设置,Cloud Role 可能适合,但您仍需要使用遥测初始化程序来设置它。
- 给定浏览器单页应用程序
- 使用 AppInsights JS SDK v2.5.3 时
- 然后我想要一个 CustomServiceName 与所有请求一起发送。
a) 自定义属性应该在 envelope.data
、env.data.baseData
还是 envelope.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);
基于https://github.com/microsoft/ApplicationInsights-JS#telemetry-initializers
a) envelope.data
是模型的基础,直接在此对象上设置新属性可能无法正确摄取,并且 env.data.baseData
会因您发送的数据类型而异。 envelope.data.properties
应该存在于所有遥测类型中,并允许您发送任何自定义数据以及您希望的遥测。 envelope.data.properties["CustomServiceName"] = "MyName";
是正确的实现。
b) 使用遥测初始化器是实现此目的的最佳方法 - 向每个请求添加 属性 是它们的用例之一。上下文具有 a small number 个特定数据点,并且列表不可自定义。根据您的其余设置,Cloud Role 可能适合,但您仍需要使用遥测初始化程序来设置它。