使用 Live Monitor 调试模型驱动应用
Live Monitor 可以帮助您调试和诊断问题,并帮助您构建更快、更可靠的应用程序。 Live Monitor 通过在应用程序运行时提供应用程序中所有关键活动的日志,提供应用程序运行方式的深入视图。 您还可以与支持工程师协作调试已发布的模型驱动应用,或者调试其他用户会话中的问题。 有关如何协作调试已发布的模型驱动应用的更多信息,请转到 使用 Live Monitor 进行协作故障排除。
重要提示
模型驱动应用的实时监视器要求模型驱动应用的客户端版本为 1.4.5973-2307.2 或更高版本。
有关何时应监控应用程序的更多信息,请参阅 监控概述。 要使用画布应用运行实时监视器,请参阅 使用实时监视器调试画布应用。
使用实时监视器诊断模型驱动应用
登录 Power Apps,然后从左侧导航窗格中选择 Apps 。
选择要监控的模型驱动应用,然后在命令栏上选择 实时监控 。
在打开的网页中,选择 Play model-driven app(播放模型驱动应用 )以打开您的应用。
备注
或者,您可以运行模型驱动应用,并在浏览器中的 URL 末尾添加“&monitor=true”。 然后,选择 命令栏上的实时监控 器以在新选项卡中启动监控会话。
从 Live monitor 打开应用程序后,您将看到 Join monitor debug session? 對話方塊。 这让您知道应用程序中的任何数据都将发送给实时监控器所有者。 选择加入。 当事件在应用程序中发生时,它们开始流向 Live monitor 会话屏幕。
选择事件可以在右窗格中显示其他信息。
监视的事件
页面导航、命令执行、表单保存和其他主要操作会将关键性能指标和网络事件发送到 Live Monitor。
FullLoad
FullLoad 表示页面导航完整加载,如编辑窗体加载。 此事件等待某些网络请求完成,所有渲染完成,因此表单可以在 FullLoad 完成之前准备就绪。
选择 FullLoad 事件以显示 详细信息 选项卡。
FullLoad 事件捕获有关页面加载的许多统计信息。 您可以看到在 506 毫秒内加载的任务编辑表单,选择该行将在属性窗格中显示信息。 您可以查看以下 customScriptTime
详细信息(执行自定义所花费的时间 JavaScript)、 loadType
(0 = 首次加载页面类型,1 = 首次加载实体,2 = 首次加载记录,3 = 已访问确切记录)和 FormId
(用于进一步诊断的表单标识符)。 展开 归因 按类型、发布者、解决方案、版本、Web 资源和方法提供自定义 JS 执行时间的细分。 这有助于识别表单加载时间的瓶颈。
网络
Network events( 网络 事件)揭示了从应用程序发出的每个请求的详细信息。
选择网络事件以显示 详细信息 选项卡。
之前,您了解了 Live Monitor 以及如何将其用于模型驱动应用。 让我们看看 Live Monitor 可以帮助您解决脚本错误、意外行为和速度减慢的几种情况。
自定义脚本错误
有时,自定义 JS 中的 bug 会导致在加载页面时出现脚本错误或功能问题。 虽然这通常会在对话中产生调用堆栈,但很难始终知道错误的出处或对错误进行解码。 Live Monitor 从应用程序接收事件,其中包含有关错误的更多详细信息,因此您可以更快、更轻松地进行调试。
例如,假设用户在客户窗体加载时遇到脚本错误对话。 您可以使用 Live monitor 获取有关事件的更多详细信息。 再现场景后,您可以看到脚本错误产生一个以红色突出显示的错误事件。 选择此行不仅会提供调用堆栈, 还会 提供发布者名称 、 解决方案名称/版本、 Web 资源名称和类型 (如 onload 、onchange 、RuleEvaluation 和CustomControl )。 在此示例中,它看起来像脚本中的一个拼写错误。
性能低下
浏览器开发人员工具可以帮助分析页面加载缓慢的问题,但是虽然有很多数据可以筛选,但并不清楚哪些需要查看。 Live Monitor 通过显示有助于页面加载性能的相关事件来解决此问题。
例如,假设用户遇到客户窗体加载缓慢的情况,而且浏览器不断冻结。 在这种情况下,在重现问题后,您可以看到一条性能警告,告诉您在加载期间发送了同步 XMLHttpRequest ,这降低了性能。
有关如何缓解同步 XMLHttpRequest(XHR)性能问题的信息,请参阅 之前的博客文章 。
对于每次页面加载,数据平台都会发送加载序列的所有 KPI 以及前面提到的网络请求详细信息。