我们有一个网站在生产中运行速度非常慢。 API 使用 .NET 4.8。网站前端调用我们的 API,而我们的 API 又调用另一个第 3 方 API。这三个都位于同一资源组中。总的来说,加载网站大约需要一分钟。我正在尝试利用 App Insights 来找出需要这么长时间的代码或调用。我觉得应用程序见解没有连接到基于应用程序地图的 API webapp。如何确保应用程序见解确实连接到 API Web 应用程序? 这是应用程序见解的屏幕截图当前的样子。目的是应用程序洞察应该监听 API 应用程序服务或两者。我没有看到任何 API 调用、某些单页应用程序 chunk.js、徽标调用。我进入 kudu 控制台并使用 https:///DiagnosticServices。 我不知道这是否重要,但我正在尝试使用 APi web 应用程序而不是 UI web 应用程序的见解
没有对此应用程序的见解
从屏幕截图中可以清楚地看出,您已为这两个应用程序启用了 Application Insights。
您的两个应用程序必须在配置部分中设置
Instrumentation Key/Connection String
。
确保您为 Web 和 API 应用程序设置了相同的密钥。
我读到 Profiler 是实现此目的的方法。
您可以在
Application Insights
=> Perfomance
部分找到分析器选项。
这是进行应用程序洞察的无代码方式。
使用无代码 AppInsights,您的 API 可能仅收集默认请求/跟踪。如果您想跟踪其他 API 调用和日志,最好在代码中进行配置。
配置无代码 AppInsights 可能与 WebApp 配合使用效果更好,但由于您甚至使用 WebAPI,因此建议使用来自代码的 SDK 来记录 Application Insights。
生产有自己的仪器密钥吗?开发有自己的钥匙来让它们分开吗?最佳做法是什么?
正如我提到的,我们可以在这两种环境中使用相同的人工智能。但根据您的要求,如果您想区分日志,是的,您可以根据环境拥有不同的人工智能。