React 项目的 Application Insights 开发者模式

Application Insights Developer Mode For React Project

有没有办法在 Application Insights 中为 React 项目启用开发人员模式。查看 these docs and this previously asked question 我已将我的配置设置为如下所示

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 个项目时,它们被推送到后端。 开发者模式简单地导致每个项目在没有缓冲的情况下发送。

Telemetry 通常可在 Azure 门户中查看 3-10 分钟(基于后端/索引/等延迟)。

(开发者模式的目的是直接在本地显示数据。即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)
}

更多信息,请参考here