AppInsights 中的 Azure Functions 缺少行

Azure Functions missing rows in AppInsights

我需要记录来自 Azure 中函数应用的 所有 次调用的信息,无论成功与否。我首先尝试仅使用 log.LogInformation() 并发现并非所有函数调用都写入消息。通过一些研究,我了解到在高负载场景中(我的场景是高负载场​​景),有时运行时决定不记录一些成功的调用。很公平。

然后我尝试使用自定义事件来记录和捕获我需要的信息:

                    TelemetryConfiguration config = TelemetryConfiguration.CreateDefault();
                    TelemetryClient tc = new TelemetryClient(config);
                    Dictionary<string, string> props = new Dictionary<string, string>();
                    props["msgid"] = msgid;
                    tc.TrackEvent("MsgToBenefitsService", props);

仍然不走运,在我执行的一些运行中,我在 1000 次调用的应用洞察中只看到 82 行。我找不到任何说明可能未记录自定义事件的文档,因此我预计我会看到针对 1000 次调用记录的 1000 个事件。

上面的日志代码有什么问题吗?是否有任何选项可以保证我可以将调用中的信息写入 AppInsights ?或者我是否坚持必须从函数应用程序中明确记录自己?

作为背景,此功能应用程序有一个服务总线触发器来读取主题之外的消息。我正在使用运行时的 v3。

如有任何帮助,我们将不胜感激。

谢谢。

请在host.json中禁用采样:​​

"applicationInsights": {
  "samplingSettings": {
    "isEnabled": false
  }
}

applicationInsights.samplingSettings
Sampling in Application Insights