javascript - 适用于 React 项目的 Application Insights 开发人员模式
问题描述
有没有办法在 Application Insights 中为反应项目启用开发人员模式。查看这些文档和之前提出的问题,我已将配置设置为如下所示
if(process.env.NODE_ENV === 'development')
{
config = {
instrumentationKey: process.env.REACT_APP_AI_INSTRUMENTATION_KEY,
extensions: [reactPlugin, clickPlugin],
extensionConfig: {
[clickPlugin.identifier]: clickPluginConfig,
reactPlugin: {history: browserHistory}
},
// send telemetry immediately
maxBatchInterval: 0,
maxBatchSizeInBytes: 0,
loggingLevelConsole: 2 // log internal app insights errors to console
}
}
我希望在本地运行我的项目时,遥测数据将更快地发送到门户,但在我执行操作和它出现在 Application Insights 门户中之间仍有至少 10 分钟的延迟。
开发者模式文档为 JavaScript 实现指定了 Node.js 运行时。老实说,我不确定 Create-React-App 应用程序使用什么运行时,尽管我相信它是 Node.js。
解决方案
是的!Node.js 提供了一个(服务器端)运行时环境来从浏览器外部执行 JavaScript 代码。NPM 是 Node 包管理器,用于管理和共享 React 或 Angular 的包。
DeveloperMode仅表示 SDK 通道不会在内存中存储任何遥测项。常规行为是将遥测数据缓冲在内存中,每 30 秒或当缓冲区有 500 个项目时,它们被推送到后端。开发者模式只是让每个项目在没有缓冲的情况下被发送。
遥测数据通常可在 3-10 分钟内在 Azure 门户中查看(基于后端/索引/等延迟)。
(开发者模式背后的意图是直接在本地显示数据。即Visual Studio本身在调试时显示遥测。这个开发者不需要显式激活。添加调试器会自动激活开发者模式)
如果您的应用程序包含聚合数据大约需要 5-10 分钟才能出现。此外,当我们遇到处理延迟时,我们会在门户的 Application Insights 的“概述”页面上显示横幅。 也喜欢,
如果应用程序延迟超过 10 分钟,则可能是处理管道有问题,或者由于配置中的一些故障,我们这边的检测问题。
更新:
要获得有关 MaxBatchSize 和延迟的更多控制,您应该初始化一个新的TelemetryConfiguration对象并使用它来创建客户端:
import "time"
import "github.com/microsoft/ApplicationInsights-Go/appinsights"
func main() {
telemetryConfig := appinsights.NewTelemetryConfiguration("<instrumentation key>")
// Configure how many items can be sent in one call to the data collector:
telemetryConfig.MaxBatchSize = 8192
// Configure the maximum delay before sending queued telemetry:
telemetryConfig.MaxBatchInterval = 2 * time.Second
client := appinsights.NewTelemetryClientFromConfig(telemetryConfig)
}
有关更多信息,请参阅此处