Пошаговое руководство. Профилировщик XSLT
Профилировщик XSLT создает подробные отчеты о производительности XSLT, помогающие измерять, оценивать и выявлять проблемы в XSLT коде, связанные с производительностью.Профилировщик XSLT содержит полезные указания по оптимизации таблиц стилей XSL и XSLT.Для приложений XSLT, требующих максимальной производительности, данное средство может стать незаменимым.
Предварительные требования
Процедуры следующего пошагового руководства требуют наличия Visual Studio 2010 и .NET Framework версии 4.0.Профилировщик XSLT доступен только с Microsoft Visual Studio Team System с установленными средствами профилирования.
Создание отчета о производительности
Откройте XSLT-документ в редакторе Visual Studio.
Щелкните параметр Профиль XSLT, доступный в меню XML.
Предоставьте входной XML документ.Если XML-документ до сих пор не был открыт, появится приглашение открыть файл.
Начнется анализ и индикатор выполнения в редакторе будет отображать прогресс.
Выходные данные XSLT отображаются в области вывода.
По окончании сеанса проверьте отчет о производительности.Данные, сохраненные в отчете о производительности, позволяют просматривать и анализировать производительность XSLT.
Получить список доступных представлений
Нажмите раскрывающийся список Текущее представление, чтобы получить список всех доступных представлений.
Выберите параметр Представление «Сводка» в раскрывающемся списке Текущее представление.По умолчанию отчет о производительности отображается в Представлении «Сводка».Это представление является отправной точкой для определения проблем производительности XSLT-документов.Представление «Сводка» содержит следующие точки данных:
Наиболее часто вызываемые функции
Функции с максимальным объемом индивидуальной работы
Функции с наибольшим временем выполнения
По умолчанию каждая точка данных имеет три столбца: имя функции, количество вызовов в абсолютном значении и процентное отношение вызовов названной функции к общему числу вызовов функции.Из каждой точки данных в Представлении «Сводка» можно перейти к более подробным представлениям, щелкнув правой кнопкой мыши точки данных функции.
Выберите параметр Представление функций в раскрывающемся списке Текущее представление.Представление функций содержит список функций, вызванных во время профилирования.Щелкнув имя столбца, можно сортировать данные.По умолчанию отображаются следующие столбцы:
Имя функции
Затраченное инклюзивное время
Затраченное эксклюзивное время
Инклюзивное время приложения
Эксклюзивное время приложения
Число вызовов
Все столбцы времени отображаются в абсолютном и процентном значениях.Термин Эксклюзивный относится к общему времени, затраченному на выполнение функции, из которого вычтено время, затраченное другими функциями, вызванными в процессе выполнения данной функции.
Термин Инклюзивный относится к общему времени, затраченному функцией на выполнение, включая время выполнения всех функций, к которым она обращалась, и любых других функций, вызванных в процессе выполнения данных функций.
Выберите представление «Вызывающий/вызываемый»
Выберите представление Вызывающий/вызываемый в раскрывающемся списке Текущее представление.
Представление Вызывающий/вызываемый состоит их трех отдельных частей:
Вызывавшие функции: все функции, вызывавшие определенную функцию, перечислены в верхней части представления.
Текущая функция: Конкретная функция, которая вызывалась, отображена в средней части представления.
Вызывавшиеся функции: Все функции, вызывавшиеся конкретной функцией, перечислены в нижней части представления.
Если функция по имени SyncToNavigator появится в средней части представления, то все функции, вызывавшие функцию SyncToNavigator, будут отображены в верхней части представления, а все функции, которые вызывались функцией SyncToNavigator, будут отображены в нижней части представления.
Можно изменить функцию в средней части представления, дважды щелкнув любую из функций, перечисленных в двух других частях представления.Представление обновится автоматически, чтобы отобразить произведенные изменения.
Можно также сортировать данные, щелкая имена столбцов.
Выберите представление «Дерево вызовов»
Выберите Представление «Дерево вызовов» в раскрывающемся списке Текущее представление.Данное представление является древовидным представлением выполнения программы.
Представление «Дерево вызовов» показывает имя процесса в качестве корневого элемента дерева.Функции являются узлами дерева.Данное представление позволяет углубляться в конкретные трассировки вызовов и анализировать, какие из трассировок оказывают большее влияние на производительность.Представление подобно Представлению «Стек вызова», доступному во время отладки.Помимо столбцов в Представлении функции, в Представлении «Дерево вызовов» имеется дополнительный столбец, отображающий Имя модуля.
Выберите Метки в раскрывающемся списке Текущее представление.
В профилировщике SLT имеются метки, которые отображаются в потоке сбора данных с соответствующим комментарием.Метки представляют собой места в коде, имеющие счетчики.Когда профилировщику XSLT поставлена задача сбора счетчиков производительности XSLT, счетчики собираются каждый раз, когда одна из этих меток выполняется.Данные отображаются в таблице, содержащей Идентификатор метки, Имя метки (Запуск программы, Завершение программы) и Отметка времени.Метки не проходят статистическую обработку и отображаются в хронологическом порядке в Представлении меток отчета о производительности.
Выбор модуля в текущем представлении.
Выберите Модули в раскрывающемся списке Текущее представление.
Представление модулей — это плоский список всех функций, агрегированных на уровне модуля.Чтобы отобразить или свернуть данные о производительности модуля, следует отобразить или закрыть имя модуля.Щелкнув имя столбца, можно сортировать данные.По умолчанию для разделов Затраченное инклюзивное время, Затраченное эксклюзивное время, Инклюзивное время приложения, Эксклюзивное время приложения и Количество вызовов отображаются абсолютное и процентное значение.
Выберите Процесс в раскрывающемся списке Текущее представление.
Представление процесса содержит таблицу, включающую Идентификатор процесса, Имя процесса, Время начала и Время окончания.Данные можно сортировать, щелкая имена столбцов.