XSLT Profiling
Starting the Profiler
Note that execution time results displayed in the Profiler may be influenced by other applications that are running on your computer. When analyzing files using the Profiler, it is best to run only the XMLSpy application.
To analyze an XSLT stylesheet:
1. | In XMLSpy, open the XML file that will be used as input data for the XSLT transformation. |
2. | Activate the Profiler by selecting XSL/XQuery | Enable XSLT / XQuery profiling. A dialog opens. |
3. | Select Hitcount Profiling or Callgraph Profiling. Click OK to confirm. An empty Profiler window appears. |
4. | Run the XSL transformation (XSL/XQuery | XSL Transformation). A dialog opens in which you select the path to the XSLT stylesheet you want to analyze. When the transformation is finished, the execution time statistics appear in the Profiler. |
5. | Click the "+" icons to expand rows in the Profiler to view the execution time statistics for the XSLT stylesheet (see screenshot). Note that in the case of these screenshots, Hitcount Profiling was selected. |
Click on a row in the Profiler to highlight the corresponding instruction in the file that was analyzed.
The following screenshot shows the Tree View in the Profiler:
The following screenshot shows List View in the Profiler for the same XSLT stylesheet:
Using the Information in the Profiler
The Profiler displays the following information about each instruction in the XSLT stylesheet:
•Index: A number assigned to each instruction in the order in which the instruction was called.
•Name: The name of the XSLT instruction.
•Hit Count: The total number of times the instruction was called during the transformation.
•Duration (ms) and %: The number of milliseconds that the instruction took to execute without taking the execution time of its descendants into account, and the percentage of the total execution time.
•Descendants (ms): The number of milliseconds that the descendents of the instruction took to execute.
•Descendants and Self and %: The number of milliseconds that the instruction and its descendants took to execute, and the percentage of the total execution time.
•XPath: If the instruction contains an XPath statement, this column contains the time it took that statement to execute.
Note: | When using hitcount profiling, the times in the Profiler window are the sum total of execution time for all the hits to the instruction. When using callgraph profiling, because each call of the instruction is listed separately, the times shown in the Profiler window are the duration of a single execution of the instruction. |