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