演练:XSLT 探查器

XSLT 探查器可创建详细的 XSLT 性能报告,有助于度量、评估和锁定 XSLT 代码中与性能相关的问题。XSLT 探查器包含有关 XSL 和 XSLT 样式表优化的有用提示。对于需要最佳性能的 XSLT 应用程序,此工具必不可少。

先决条件

以下演练过程中需要 Visual Studio 2010 和 .NET Framework 4.0 版。XSLT 探查器仅在已安装分析工具的 Microsoft Visual Studio Team System 中可用。

创建性能报告

  1. 在 Visual Studio 中打开 XSLT 文档。

  2. 单击 XML 菜单中提供的**“探查 XSLT”**选项。

  3. 提供一个输入 XML 文档。如果尚未打开 XML 文档,系统会提示您提供该文件。

  4. 分析开始,进度栏会显示编辑器中的进度。

  5. XSLT 输出将显示在输出窗格中。

  6. 性能会话结束后,请检查性能报告。通过保存在性能报告中的数据,您可以查看和分析 XSLT 性能。

获取所有可用视图

  1. 单击**“当前视图”**下拉列表可获取所有可用视图。

  2. 选择**“当前视图”下拉列表中的“摘要”视图选项。默认情况下,性能报告显示在“摘要”视图中。此视图是确定 XSLT 文档性能问题的起始点。“摘要”**视图列出下列数据点:

    • 最频繁调用的函数

    • 执行单独工作最多的函数

    • 执行时间最长的函数

  3. 默认情况下,每个数据点有以下三列:函数的名称、调用次数的绝对值和命名函数调用相对总函数调用的百分比值。从**“摘要”**视图中的每个数据点,您可以通过右击函数数据点定位到更详细的视图中。

  4. 在**“当前视图”下拉列表中,选择“函数”视图选项。“函数”**视图列出分析过程中调用的函数。可以通过单击列名对数据进行排序。默认情况下,显示的列有:

    • 函数名

    • 已用非独占时间

    • 已用独占时间

    • 应用程序包含时间

    • 应用程序独占时间

    • 调用数

  5. 所有时间列以绝对值和百分比形式显示。术语**“独占”**指在排除函数执行过程中被调用的其他函数所用的时间之后,执行此函数所用的总时间。

  6. 术语**“非独占”**指执行函数所用的总时间,包含其调用的所有函数的执行时间,以及任何这些被调用函数调用的其他函数的执行时间。

选择“调用方/被调用方”视图

  1. 在**“当前视图”下拉列表中,选择“调用方/被调用方”**视图。

  2. **“调用方/被调用方”**视图包含下列三个不同部分:

    • 调用...的函数:所有调用特定函数的函数在视图的顶部列出。

    • 当前函数:被调用的特定函数列在视图的中间部分。

    • “由...调用的函数”:由特定函数调用的所有函数列在视图的底部。

  3. 如果名为 SyncToNavigator 的函数显示在视图的中间部分,则调用 SyncToNavigator 函数的所有函数会显示在视图顶部,而 SyncToNavigator 函数调用的所有函数显示在视图底部。

  4. 您可以通过双击列在视图的其他两个部分中的任何函数,更改视图中间部分的函数。然后,该视图会自动更新,以反映所做的更改。

  5. 您也可以通过单击列名对数据进行排序。

选择“调用关系树”视图

  1. 在**“当前视图”下拉列表中,选择“调用关系树”视图**。此视图为程序执行的关系树视图。

  2. “调用关系树”视图将关系树的根显示为进程名称。函数为关系树中的节点。此视图允许深化到特定调用跟踪并分析对性能影响最大的跟踪。该视图与调试期间可用的“调用堆栈”视图相似。除了“函数”视图中的列外,在“调用关系树”视图中还有附加列以显示“模块名”

  3. 在**“当前视图”下拉列表中,选择“标记”**。

  4. 使用 SLT 探查器时,在数据收集流中会显示一些标记,并带有关联的注释。标记是代码中放置有计数器的位置。当您指示 XSLT 探查器收集 XSLT 性能计数器时,每当执行其中一个标记时就会收集这些计数器。数据显示在包含**“标记 ID”“标记名”“启动程序”“结束程序”)和“时间戳”的表中。不会对标记进行聚合,这些标记将按时间顺序显示在性能报告的“标记”**视图中。

选择当前视图中的模块

  1. 在**“当前视图”下拉列表中,选择“模块”**。

  2. 模块视图是聚合到模块级别的所有函数的平面列表。展开或折叠模块名称可显示或关闭模块性能数据的视图。可以通过单击列名对数据进行排序。默认情况下,“已用非独占时间”“已用独占时间”“应用程序包含时间”、**“应用程序独占时间”“调用数”**既有绝对值,又有百分比数字。

  3. 在**“当前视图”下拉列表中,选择“进程”**。

  4. 进程视图显示包含**“进程 ID”“进程名”“开始时间”“结束时间”**的表。可以通过单击列名对数据进行排序。

请参阅

任务

演练:使用 XSLT 层次结构