Программа Service Trace Viewer (SvcTraceViewer.exe)

Средство просмотра трассировки службы Windows Communication Foundation (WCF) помогает анализировать диагностические трассировки, созданные WCF. Средство просмотра трассировки службы позволяет легко объединять, просматривать и фильтровать сообщения трассировки в журнале, чтобы можно было диагностировать, восстановить и проверить проблемы со службой WCF.

Настройка трассировки

Диагностические трассировки предоставляют информацию о том, что происходит на всем протяжении работы приложения. Как следует из названия, можно проследить операции от их источника до назначения, а также выяснить, что происходило в промежуточных точках.

Трассировку можно настроить с помощью файла конфигурации приложения — web.config для веб-размещенных приложений или Appname.config для локальных приложений. Ниже приведен пример:

<system.diagnostics>
    <trace autoflush="true" />
    <sources>
            <source name="System.ServiceModel"
                    switchValue="Information, ActivityTracing"
                    propagateActivity="true">
            <listeners>
               <add name="sdt"
                   type="System.Diagnostics.XmlWriterTraceListener"
                   initializeData= "SdrConfigExample.e2e" />
            </listeners>
         </source>
    </sources>
</system.diagnostics>

В этом примере указываются имя и тип прослушивателя трассировки. Прослушиватель имеет имя sdt, а в качестве типа добавляется стандартный прослушиватель трассировки .NET Framework (System.Diagnostics.XmlWriterTraceListener). Атрибут initializeData используется для задания имени файла журнала для этого прослушивателя SdrConfigExample.e2e. Для файла журнала можно заменить полный путь на простое имя файла.

В этом примере в корневом каталоге создается файл с именем SdrConfigExample.e2e. При использовании средства просмотра трассировки для открытия файла, как описано в разделе "Открытие и просмотр файлов трассировки WCF", можно просмотреть все отправленные сообщения.

Уровень трассировки контролируется параметром switchValue. Доступные уровни трассировки приведены в следующей таблице.

Уровень трассировки Description
Критически важно — журналы записей журнала сбоя и журнала событий, а также сведения о корреляции трассировки. Ниже приводится несколько примеров ситуаций, в которых может потребоваться использовать уровень Critical.
— Ваш домен приложения снизился из-за необработанного исключения.
— Не удается запустить приложение.
— Сообщение, вызвавшее сбой, возникшее из процесса MyApp.exe.
Ошибка — регистрирует все исключения. Уровень Error можно использовать в следующих ситуациях.
— Код произошел сбой из-за недопустимого исключения приведения.
— Исключение "не удалось создать конечную точку", что приводит к сбою запуска приложения.
Предупреждение — Условие существует, которое может привести к ошибке или критическому сбою. Этот уровень можно использовать в следующих ситуациях.
— приложение получает больше запросов, чем разрешены его параметры регулирования.
— Получение очереди составляет 98 процентов от настроенной емкости.
Информация — Создаются сообщения, полезные для мониторинга и диагностики состояния системы, измерения производительности или профилирования. Эту информацию можно использовать для планирования загрузки и управления производительностью. Этот уровень можно использовать в следующих ситуациях.
— Сбой произошел после того, как сообщение достигло домена приложения и было десериализовано.
— Произошел сбой при создании привязки HTTP.
Подробный — трассировка на уровне отладки для пользовательского кода и обслуживания. Этот уровень используется в следующих ситуациях.
— Вы не уверены, какой метод в коде был вызван, когда произошел сбой.
— У вас настроена неправильная конечная точка, и служба не удалось запустить, так как запись в хранилище резервирования заблокирована.
ActivityTracing События переходов между действиями по обработке и компонентами.

Этот уровень позволяет администраторам и разработчикам коррелировать приложения из одного домена приложений.

— трассировки для границ действий: запуск и остановка.
— трассировки для передачи.

С помощью add можно задать имя и тип прослушивателя трассировки, который требуется использовать. В примере конфигурации прослушиватель имеет имя sdt, а в качестве типа добавляется стандартный прослушиватель трассировки .NET Framework (System.Diagnostics.XmlWriterTraceListener). Чтобы задать имя файла журнала для этого прослушивателя, используйте initializeData. Кроме того, можно заменить простое имя файла полным путем.

Начиная с платформа .NET Framework 4.8 элементы управления ComboBox в некоторых темах высокой контрастности отображаются в правильном цвете. Это изменение можно отключить, удалив следующий параметр из файла конфигурации svcTraceViewer.exe.config :

<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false" />

Использование программы Service Trace Viewer

Открытие и просмотр файлов трассировки WCF

Программа Service Trace Viewer поддерживает три типа файлов:

  • Файл трассировки WCF (SVCLog)

  • Файлы трассировки событий (ETL)

  • Файлы трассировки Crimson

Программа Service Trace Viewer позволяет открыть любой поддерживаемый файл трассировки, добавить или интегрировать дополнительные файлы трассировки, а также открыть и выполнить одновременное слияние группы файлов трассировки.

Открытие файла трассировки
  1. Запустите средство просмотра трассировки службы с помощью командного окна, чтобы перейти к расположению установки WCF (C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin), а затем введите SvcTraceViewer.exe.

Примечание.

Программу Service Trace Viewer можно ассоциировать с двумя типами файлов: SVCLOG и STVPROJ. С помощью двух параметров в командной строке можно регистрировать и отменять регистрацию расширений файлов.

/register: зарегистрировать связь расширений файлов "SVCLOG" и "STVPROJ" с программой SvcTraceViewer.exe.

/unregister: отменить регистрацию связи расширений файлов "SVCLOG" и "STVPROJ" с программой SvcTraceViewer.exe.

  1. При запуске средства просмотра трассировки службы нажмите кнопку "Файл" и выберите команду "Открыть". Перейдите в папку, где находятся файлы трассировки.

  2. Дважды щелкните имя файла трассировки, который требуется открыть.

    Примечание.

    Щелкните несколько файлов трассировки, удерживая нажатой клавишу SHIFT, и откройте их одновременно. Service Trace Viewer производит слияние содержимого всех файлов и отображает данные в одном представлении. Например, можно открыть файлы трассировки как для клиента, так и для службы. Это удобно, если в конфигурации включено ведение журнала сообщений и распространение действий. Таким образом, можно проверить обмен сообщениями между клиентом и службой. Вы также можете перетащить несколько файлов в средство просмотра или использовать вкладку "Проект ". Дополнительные сведения см. в разделе "Управление проектом".

  3. Чтобы добавить дополнительные файлы трассировки в открытую коллекцию, нажмите кнопку "Файл " и выберите пункт "Добавить". В открывшемся окне перейдите в расположение файлов трассировки и дважды щелкните левой кнопкой мыши файл, который нужно добавить.

Внимание

Не рекомендуется загружать файлы журнала трассировки размером более 200 МБ. Загрузка файла, размер которого превышает указанное значение, может занять длительное время в зависимости от ресурсов компьютера. Программа Service Trace Viewer может не отвечать в течение длительного времени или исчерпать память компьютера. Во избежание этого рекомендуется настроить частичную загрузку. Дополнительные сведения см. в разделе "Загрузка больших файлов трассировки".

Трассировка событий и трассировка Crimson

Собственный формат средства просмотра — это формат трассировки действий, который WCF выдает. Трассировки, создаваемые в различных форматах, должны конвертироваться перед их отображением в средстве просмотра. На данный момент кроме формата трассировки действий средство просмотра поддерживает трассировку событий и трассировку Crimson.

При открытии файла, не содержащего трассировок действий, средство просмотра пытается преобразовать файл. Необходимо указать имя и расположение файла, который будет содержать преобразованные данные трассировки. После преобразования данных средство просмотра отображает содержимое в новом файле.

Примечание.

Для сохранения преобразованных данных трассировки требуется свободное пространство на диске. Перед запуском преобразования убедитесь, что на диске достаточно свободного пространства для сохранения данных. В противном случае преобразование не будет выполнено.

Управление проектами

Средство просмотра поддерживает проекты, что позволяет просматривать несколько файлов трассировки одновременно. Например, если имеется файл трассировки клиента и файл трассировки службы, их можно добавить в проект. После этого при каждом открытии проекта все файлы трассировки проекта будут загружаться одновременно.

Существует два способа управления проектами.

  • В меню "Файл" можно открыть, сохранить и закрыть проекты.

  • На вкладке "Проект" можно добавить файлы в проект.

Просмотр трассировок WCF

WCF выдает трассировки с помощью формата трассировки действий. В модели трассировки действий отдельные трассировки группируются в действиях в соответствии со своим назначением. Логический поток управления переходит между действиями. Например, во время работы приложения появляется и исчезает множество действий "отправка сообщения". Дополнительные сведения о просмотре трассировок и действий и пользовательском интерфейсе средства просмотра трассировки службы см. в разделе "Использование средства просмотра трассировки службы" для просмотра коррелированных трассировок и устранения неполадок.

Переключение между различными представлениями

В программе Service Trace Viewer предусмотрены следующие различные представления. Они отображаются как вкладки на левой панели средства просмотра, а также могут быть доступны в меню "Вид ".

  • Представление действия

  • представление проекта

  • Представление сообщения

  • Представление диаграммы

Представление действия

После открытия файлов трассировки можно просмотреть трассировки, сгруппированные в действия и отображаемые в представлении действий в области слева.

В представлении действия отображаются имена действий, количество трассировок в действии, время длительности, время начала и время окончания.

При щелчке на любом из перечисленных действий на панели трассировок справа отображаются трассировки этого действия. После этого можно выбрать трассировку, чтобы просмотреть сведения о ней.

Можно выбрать несколько действий, нажав клавиши CTRL или SHIFT и щелкнув нужные действия. Панель трассировок отображает все трассировки выбранных действий.

Вы можете дважды щелкнуть действие, чтобы отобразить его в представлении графа . Альтернативным способом является выбор действия и переход на представление графа .

Примечание.

Действие "000000000000000" — это специальное действие, которое невозможно отобразить в представлении графа. Поскольку все остальные действия привязаны к нему, отображение данного действия может сильно повлиять на производительность.

Чтобы выполнить сортировку списка действий, щелкните заголовок столбца. Действия, содержащие трассировки предупреждений, имеют желтый фон, а действия, содержащие трассировки ошибок, - красный фон.

Существуют различные типы действий, и каждому типу соответствует значок, расположенный слева от каждого действия. Обратитесь к разделу "Значки трассировок", чтобы получить информацию об их значении.

представление проекта

Это представление позволяет управлять файлами трассировки текущего проекта. Дополнительные сведения см. в разделе «Управление проектом».

Представление сообщения

Это представление позволяет просматривать все трассировки журнала сообщений, включая действия, дату и время, процесс, действие и от/в, а также перейти к сведениям о связанной трассировки журнала сообщений. Вы можете сгруппировать трассировки журнала сообщений по границам действия, процессу или потоку или отправке и получению для упрощения навигации потока сообщений.

Представление диаграммы

В этом представлении отображаются данные трассировки для заданного действия в форме диаграммы. Диаграмма позволяет просматривать последовательные этапы выполнения событий и взаимосвязи между множеством действий при перемещении данных между ними.

Чтобы переключиться на представление Graph , выберите действие в представлении действия и перейдите на вкладку "Действие " или трассировку журнала сообщений в представлении сообщений . Если загружено несколько файлов трассировки и действие включает трассировки из нескольких файлов, в представлении графика отображаются все соответствующие трассировки. Дважды щелкнув действия и трассировки журналов сообщений, вы также можете перейти к представлению Graph .

В представлении Graph каждый вертикальный столбец представляет действие, и каждый блок в столбце представляет трассировку. Действия группируются в процессы (или потоки). Небольшие стрелки между действиями обозначают перенаправления. Большие стрелки между процессами обозначают обмен сообщениями. Выбранное действие всегда обозначается желтым цветом.

Выбор трассировок на графике
  1. Щелкните блок на графике.

  2. Используйте клавиши СТРЕЛКА ВВЕРХ и СТРЕЛКА ВНИЗ для выбора соседних трассировок.

  3. Просматривайте данные трассировки на панели трассировки и в области сведений.

Развертывание и свертывание перенаправлений действий

Можно развернуть перенаправление действия, если выбранное действие перенаправляется на другое действие. Это позволяет следить за перенаправлениями.

Развертывание и свертывание перенаправлений действий

  1. Найдите трассировку передачи со знаком "+" слева от значка передачи.

  2. Щелкните "+" или нажмите клавиши CTRL и "+" с помощью клавиатуры.

  3. На графике отображается следующее действие.

  4. Значок передачи отображается слева от значка передачи. Щелкните знак -" или нажмите клавиши CTRL и "-", передача действий свернута.

Примечание.

Если развернуть одно из нескольких перенаправлений на одно действие, будут отображены действия, ведущие к новому действию из корневого действия. Эти новые действия отобразятся в свернутом виде. Если необходимо просмотреть подробные сведения об этих действиях, разверните их по вертикали, щелкнув значок развертывания в заголовке графика.

Вертикальное развертывание и свертывание действий

Средство просмотра позволяет скрыть ненужные сведения на графике действий путем свертывания действий. В свернутом действии отдельные трассировки не отображаются. Отображаются только перенаправления трассировок. Чтобы просмотреть все трассировки в действии, разверните действие вертикально, щелкнув значок развертывания действия в заголовке графика.

Вертикальное развертывание и свертывание действий

  1. Щелкните значок "+" в заголовке действия, чтобы развернуть действие по вертикали.

  2. Обратите внимание, что на графике отображаются все трассировки.

  3. Щелкните значок "-" в заголовке действия, чтобы свернуть действие по вертикали.

  4. Обратите внимание, что в действии отображаются только важные трассировки перенаправлений, журналов сообщений, предупреждений и исключений.

Параметры

В представлении Graph можно выбрать два параметра.

  • Показать трассировки границ действий. Если этот параметр отключен, трассировки границ действий на графике игнорируются.

  • Показать подробные трассировки, не относящиеся к сообщениям. Если этот параметр отключен, игнорируются все подробные трассировки, за исключением трассировок сообщений. В большинстве случаев подробные трассировки не очень важны для анализа. Этот параметр полезен, если не требуется анализировать подробные трассировки, и необходимо сосредоточиться на более важных трассировках.

Режим макета

Средство просмотра имеет два режима макета: процесс и поток. Этот параметр определяет самый большой элемент организации. Режим макета по умолчанию — "Процесс", то есть действия группируются по процессам в графе.

Список выполнения

В этом раскрывающемся списке можно выбрать процесс или поток для отображения на графике. Например, если имеется два файла трассировки двух клиентов (А и Б) и открыта одна служба и необходимо отобразить на графике только службу и клиент А, можно отменить выбор клиента Б в списке.

Просмотр сведений трассировки

Для просмотра сведений трассировки выберите трассировку на панели трассировки. Подробные сведения отобразятся в области сведений.

Панель трассировки

Панель, расположенная в правой верхней части окна Service Trace Viewer, - это панель трассировки. В ней отображаются все трассировки, существующие в выбранном действии, вместе с дополнительной информацией, такой как уровень трассировки, идентификатор потока и имя процесса.

Вы можете скопировать необработанный XML-код трассировки в буфер обмена, щелкнув правой кнопкой мыши трассировку и выбрав "Копировать трассировку в буфер обмена".

Панель «Подробности»

Левая нижняя область окна Service Trace Viewer - это область сведений. Она содержит три вкладки для просмотра сведений трассировок.

Форматируемое представление отображает информацию более упорядоченным способом. Все известные XML-элементы отображаются в таблицах и деревьях, что облегчает чтение и восприятие информации.

В представлении XML отображается XML , соответствующий выбранной трассировки. Это представление поддерживает выделение цветом и раскраску синтаксических конструкций. При использовании find to search strings он выделяет результаты поиска.

В представлении сообщений отображается часть сообщения XML в трассировках журнала сообщений. Эти данные скрыты при выборе трассировок, не связанных с сообщениями.

Фильтрация трассировок WCF

Чтобы упростить анализ файлов трассировки, их можно фильтровать следующими способами.

  • Панель инструментов фильтрации предоставляет доступ к встроенным и настраиваемым фильтрам. Его можно включить в меню "Вид ".

  • Предварительно определенный фильтр средства просмотра можно использовать для выборочного фильтрации частей трассировки WCF. По умолчанию он настроен на пропускание всех трассировок инфраструктуры. Параметры этого фильтра определяются в подмене "Параметры фильтра" в меню "Вид".

  • Пользовательские фильтры XPath позволяют пользователям полностью контролировать процесс фильтрации. Их можно определить в меню "Настраиваемый фильтр" в меню "Вид".

Отображаются только трассировки, которые проходят через все фильтры.

Использование панели инструментов фильтра

Панель фильтра отображается в верхней части инструмента. Если он отсутствует, его можно активировать в меню "Вид ". Панель содержит три компонента.

  • Поиск: найдите тему для поиска в операции фильтра. Например, если вы хотите найти все трассировки, которые были созданы в контексте процесса X, задайте для этого поля значение X, а поле "Поиск в поле" — "Имя процесса". Это поле заменяется элементом управления выбора даты и времени, если выбран фильтр времени.

  • Диапазон поиска: это поле определяет тип применяемого фильтра.

  • Уровень: определяет минимальный уровень трассировки, допускаемый фильтром. Например, при значении "Ошибка и выше" отображаются только трассировки уровня Error или Critical. Этот фильтр комбинируется с критериями, заданными в полях «Искать» и «Диапазон поиска».

Кнопка "Фильтр теперь" запускает операцию фильтра. Некоторые фильтры, особенно если они применяются к большим объемам данных, работают достаточно долго. Вы можете отменить операцию фильтра, нажав кнопку "Остановить ", которая отображается в строке состояния в меню "Операции ".

Кнопка "Очистить " сбрасывает предварительно определенные и настраиваемые фильтры, чтобы разрешить прохождение всех трассировок.

Параметры фильтрации

Средство просмотра может автоматически удалять трассировки WCF из представления. Он также может выборочно удалять трассировки, относящиеся к отдельным областям WCF, например, удалять из представления трассировки, относящиеся к транзакциям.

Параметры этого фильтра определяются в подмене "Параметры фильтра" в меню "Вид".

Настраиваемые фильтры

С помощью языка XML Path (XPath) можно создавать настраиваемые фильтры, позволяющие выполнять поиск данных трассировки для любого XML-элемента. Фильтры доступны на панели инструментов фильтрации.

В пользовательских фильтрах могут быть предусмотрены параметры. Также можно импортировать уже имеющиеся настраиваемые фильтры.

Создание пользовательского фильтра

Фильтры можно создавать двумя способами:

Создание настраиваемого фильтра с помощью мастера шаблонов

Можно щелкнуть существующую трассировку и создать фильтр на основе структуры этой трассировки. В этом примере создается настраиваемый фильтр на основе идентификатора потока.

  1. На панели трассировки в правой части средства просмотра выберите трассировку, содержащую элемент, для которого требуется выполнить фильтрацию.

  2. Нажмите кнопку "Создать настраиваемый фильтр", расположенную в верхней части области трассировки.

  3. В появившемся диалоговом окне введите имя фильтра. Для данного примера введите Thread ID. Также можно ввести описание фильтра.

  4. В древовидном представлении слева представлена структура записи трассировки, выбранной на шаге 1. Перейдите к элементу, для которого нужно создать условие. В этом примере перейдите к ThreadID, который должен находиться в узле XPath: /E2ETraceEvent/System/Execution/@ThreadID. Дважды щелкните атрибут ThreadID в древовидном представлении. Будет создано выражение для атрибута в правой части диалогового окна.

  5. Измените поле параметра для условия ThreadID с None на "{0}". В результате выполнения этого действия при применении фильтра станет возможной настройка значения ThreadID. (См. раздел "Применение фильтра".) Можно определить до четырех параметров. Условия комбинируются с помощью оператора "ИЛИ".

  6. Нажмите кнопку "ОК ", чтобы создать фильтр.

Примечание.

Если фильтр создан с помощью мастера шаблонов, его можно изменять только вручную. Невозможно запустить мастер для фильтра, который уже был создан. Кроме того, условия фильтра XPath, созданного с помощью мастера шаблонов, комбинируются с помощью оператора "ИЛИ". Если необходимо использовать оператор «И», выражение фильтра можно отредактировать после его создания.

Создание пользовательского фильтра вручную

В меню "Настраиваемые фильтры" можно создавать фильтры XPath вручную.

  1. В меню "Вид" выберите пункт меню "Настраиваемые фильтры".

  2. В появившемся диалоговом окне нажмите кнопку "Создать".

  3. Как минимум, следует указать имя фильтра и выражение XPath.

  4. Щелкните OK.

Применение пользовательского фильтра

После создания настраиваемый фильтр доступен на панели инструментов фильтрации. Выберите фильтр, который нужно применить в поле "Поиск в " панели инструментов фильтра. В предыдущем примере выберите "Идентификатор потока".

  1. Укажите значение, которое вы ищете в поле "Найти что ". В данном примере введите идентификатор потока, который требуется найти.

  2. Нажмите кнопку " Фильтр сейчас" и просмотрите результат операции.

Если фильтр использует несколько параметров, введите их с помощью ";" в качестве разделителя в поле "Найти что ". Например, следующая строка определяет 3 параметра: '1; Findvalue; text'. Средство просмотра применяет значение "1" к {0} параметру фильтра. "findValue" и "text" применяются к {1} и {2} соответственно.

Совместное использование настраиваемых фильтров

Настраиваемые фильтры могут совместно использоваться различными сеансами и пользователями. Фильтры можно экспортировать в файл определения, который затем можно импортировать в другое расположение.

Импорт настраиваемого фильтра

  1. В меню "Вид" щелкните "Настраиваемые фильтры".

  2. В открывшемся диалоговом окне нажмите кнопку "Импорт ".

  3. Перейдите к пользовательскому файлу фильтра (STVCF), щелкните файл и нажмите кнопку "Открыть ".

Экспорт настраиваемого фильтра

  1. В меню "Вид" щелкните "Настраиваемые фильтры".

  2. В появившемся диалоговом окне выберите фильтр, который следует экспортировать.

  3. Нажмите кнопку "Экспорт ".

  4. Укажите имя и расположение файла определения пользовательского фильтра (STVCF) и нажмите кнопку "Сохранить ".

Примечание.

Эти пользовательские фильтры можно импортировать и экспортировать только в Service Trace Viewer. Выполнить их чтение другими средствами невозможно.

Поиск данных

В средстве просмотра предусмотрены следующие способы поиска данных.

  • Панель поиска предоставляет быстрый доступ к наиболее распространенным поисковым параметрам.

  • Диалоговое окно поиска предоставляет дополнительные параметры поиска. Он доступен в меню "Изменить" или с помощью короткого клавиши CTRL+F.

Панель инструментов поиска отображается в верхней части средства просмотра. Если он отсутствует, его можно активировать в меню "Вид ". Панель содержит два компонента.

  • Искать: позволяет ввести искомое ключевое слово.

  • Диапазон поиска: позволяет указать область поиска. Можно выбрать поиск во всех действиях или только в текущем действии.

Диалоговое окно поиска содержит два дополнительных параметра.

  • Найти объект.

    • Параметр "Необработанные данные журнала" выполняет поиск ключевое слово во всех необработанных данных.

    • Параметры "XML-текст" и "АТРИБУТ XML" выполняют поиск только в XML-элементах.

    • Параметр "Зарегистрированное сообщение" выполняет поиск ключевое слово только в сообщениях.

  • Игнорировать корневое действие: поиск игнорирует трассировки в действии "000000000000". Этот параметр увеличивает производительность при работе с большими файлами трассировки, если корневое действие содержит тысячи трассировок, большая часть которых является перенаправлениями.

Поскольку трассировки записываются поэтапно во время работы приложения, навигация по трассировкам может помочь при отладке приложения. Программа Service Trace Viewer предоставляет различные способы навигации по трассировкам.

Шаг вперед или назад

Если вы рассматриваете каждую трассировку как строку кода в программе, шаг вперед очень похож на шаг вперед в интегрированной среде разработки Visual Studio (IDE). Единственное отличие заключается в том, что при работе с трассировками можно также совершать шаги назад. Шаг вперед означает переход к следующей трассировке в действии.

  • Шаг вперед: используйте меню действий или нажмите клавишу F10. Кроме того, в области трассировки можно использовать клавишу со стрелкой вниз.

  • Шаг назад: используйте меню действий или нажмите клавишу F9. Кроме того, в области трассировки можно использовать клавишу со стрелками вверх.

Примечание.

Это может занять действия, происходящие в другом процессе или даже на другом компьютере, так как сообщения WCF могут содержать идентификаторы действий, охватывающие компьютеры.

Отслеживание перенаправлений

Трассировки перенаправлений — это специальные трассировки в файле трассировки. Посредством трассировки перенаправления одно действие может перенаправляться другому действию. Например, "Действие А" может передаваться в "Activity B". В таком случае в действии A есть трассировка передачи с именем "To: Activity" и значком передачи. Эта трассировка перенаправления является связью между двумя трассировками. В действии B также может быть трассировка передачи в конце действия, чтобы вернуться в действие A. Это похоже на вызовы функций в программах: А вызывает Б, затем Б возвращает значение.

"Следовать передаче" аналогично "Шаг в" в отладчике. Отслеживается перенаправление от "Действия А" к "Действию Б". Это не оказывает какого-либо воздействия на другие трассировки.

Предусмотрено два способа отслеживания перенаправлений: с помощью мыши или с помощью клавиатуры.

  • При помощи мыши: дважды щелкните трассировку перенаправления на панели трассировки.

  • Клавиатура: выберите трассировку передачи и в меню "Действие" и нажмите клавишу F11.

Примечание.

Во многих случаях, когда «Действие А» перенаправляется к «Действию Б», «Действие А» ожидает обратного перенаправления «Действия Б» к «Действию А». Это означает, что «Действие А» не имеет запланированных трассировок во время выполнения трассировки «Действием Б». Однако "Действие А" может не находиться в состоянии ожидания, а продолжать записывать трассировки. Также возможна ситуация, когда "Действие Б" не перенаправляется обратно к "Действию А". Таким образом, перенаправления действий все же отличаются от вызовов функций. Представление графика позволяет лучше понять суть перенаправления действий.

Переход к следующему или предыдущему перенаправлению

При анализе текущего действия (или нескольких выбранных действий) может потребоваться быстро найти действия, к которым оно перенаправляется. Переход к следующей передаче позволяет найти следующую трассировку передачи в действии. После поиска трассировки передачи можно использовать "Следовать передаче" для перехода к следующему действию.

  • Переход к следующей передаче: используйте меню действий или нажмите клавиши CTRL+F10.

  • Переход к предыдущей передаче: используйте меню действий или нажмите клавиши CTRL+F9.

Несмотря на то, что навигация в области действий и области трассировки аналогична отладке, использование представления Graph обеспечивает гораздо лучший интерфейс навигации. Дополнительные сведения см. в разделе "Представление графа".

Загрузка больших файлов трассировки

Файлы трассировки могут быть очень большими. Например, если включить трассировку на уровне "Подробный", результирующий файл трассировки для выполнения через несколько минут может быть сотнями мегабайт или даже большими, в зависимости от скорости сети и шаблона связи.

При открытии очень большого файла трассировки в программе Service Trace Viewer производительность системы может значительно снизиться. Скорость загрузки может быть медленной, и может увеличиться время отклика. Фактическая скорость периодически меняется в зависимости от конфигурации оборудования. На большинстве компьютеров загрузка файла трассировки размером более 200 МБ значительно снижает производительность системы. При работе с файлами трассировки, имеющими размер более 1 Гб, программа может использовать всю доступную оперативную память или очень долго не отвечать на запросы.

Чтобы избежать медленной загрузки и отклика при анализе больших файлов трассировки, средство просмотра трассировки службы предоставляет функцию с именем "Частичная загрузка", которая загружает только небольшую часть трассировки за раз. Например, имеется файл трассировки размером более 1 Гб, работающий на сервере на протяжении нескольких дней. При возникновении некоторых ошибок и попытке анализа трассировки не требуется открывать файл трассировки целиком. Вместо этого можно загрузить трассировки за определенный период времени, когда, скорее всего, произошла ошибка. Поскольку область данных сокращается, программа Service Trace Viewer загружает файл быстрее, и можно найти ошибку, используя небольшой объем данных.

Включение частичной загрузки

Включать частичную загрузку вручную не требуется. Если общий размер открываемых файлов трассировки превышает 40 МБ, программа Service Trace Viewer автоматически отображает диалоговое окно частичной загрузки, чтобы можно было выбрать часть, которую требуется загрузить.

Примечание.

Поскольку трассировки могут быть распределены по времени неравномерно, длительность периода времени, который указывается на панели инструментов частичной загрузки, может не быть пропорциональна отображаемому размеру загружаемых данных. Фактический размер загружаемых данных может быть меньше, чем предполагаемый размер, который отображается в диалоговом окне частичной загрузки.

Настройка частичной загрузки

После частичной загрузки файла трассировки может потребоваться изменить набор загружаемых данных. Это можно сделать с помощью панели инструментов частичной загрузки, расположенной в верхней части средства просмотра.

  1. Переместите панель инструментов с помощью мыши или введите время начала и окончания.

  2. Нажмите кнопку "Изменить ".

Значки трассировок

Ниже приведен список значков, которые средство просмотра трассировки служб использует в представлении действий , представлении графа и области трассировки для представления различных элементов.

Примечание.

Некоторые трассировки, которые не классифицируются (например, "сообщение закрыто") не имеют значка.

Трассировки действий

Icon Description
Warning trace Трассировка предупреждения: трассировка, создаваемая на пороге предупреждений
Error trace Трассировка Error: трассировка, создаваемая на уровне Error.
Activity Start trace: Трассировка Start: трассировка, обозначающая начало действия. В ней содержится имя действия. Разработчику приложений необходимо определить одну трассировку Start для каждого идентификатора действия для каждого процесса или потока.

После распространения идентификатора действия по источникам трассировки для корреляции трассировок можно увидеть несколько трассировок Start для одного идентификатора действия (один для каждого источника трассировки). Трассировка Start создается, если функция ActivityTracing включена для источника трассировки.
Activity Stop trace Трассировка Stop: трассировка, обозначающая конец действия. . В ней содержится имя действия. Разработчику приложений необходимо определить одну трассировку Stop для каждого идентификатора действия для каждого источника трассировки. Ни одна трассировка из заданного источника трассировки не появляется после создания трассировки Stop источником трассировки, кроме случая, когда временное разбиение трассировки не слишком мало. В этом случае две трассировки с одним значением временного разбиения, включая Stop, могут чередоваться при отображении. После распространения идентификатора действия по источникам трассировки для корреляции трассировок можно увидеть несколько трассировок Stop для одного идентификатора действия (один для каждого источника трассировки). Трассировка Stop создается, если функция ActivityTracing включена для источника трассировки.
Activity Suspend trace Трассировка Suspend: трассировка, обозначающая время приостановки действия. До возобновления приостановленного действия никакие трассировки не создаются. Приостановленное действие означает, что никакой обработки в этом действии в области источника трассировки не выполняется. Трассировки Suspend и Resume полезны для профилирования. Трассировка Suspend создается, если функция ActivityTracing включена для источника трассировки.
Activity resume trace Трассировка Resume: обозначает время возобновления действия после приостановки. В этом действии трассировки могут создаваться повторно. Трассировки Suspend и Resume полезны для профилирования. Трассировка Resume создается, если функция ActivityTracing включена для источника трассировки.
Transfer Transfer: трассировка, создаваемая при перенаправлении логики потока управления от одного действия к другому. Действие, от которого происходит перенаправление, может продолжать выполнение работы параллельно действию, к которому осуществляется перенаправление. Трассировка Transfer создается, если функция ActivityTracing включена для источника трассировки.
Transfer From Transfer From: трассировка, определяющая перенаправление от другого действия к текущему действию.
Transfer To Transfer To: трассировка, определяющая перенаправление логического потока управления от текущего действия к другому.

Трассировки WCF

Icon Description
Message Log trace Трассировка журнала сообщений: трассировка, которая создается при регистрации сообщения WCF функцией ведения журнала сообщений при System.ServiceModel.MessageLogging включении источника трассировки. При щелчке трассировки отображается сообщение. Существует четыре настраиваемые точки ведения журнала для сообщения: ServiceLevelSendRequest, TransportSend, TransportReceive и ServiceLevelReceiveRequest, которые также могут быть заданы атрибутом messageSource в трассировке журнала сообщений.
Message Received trace Полученная трассировка сообщения: трассировка, которая создается при получении сообщения WCF, если System.ServiceModel источник трассировки включен на уровне сведений или подробных сведений. Эта трассировка необходима для просмотра стрелки корреляции сообщений в представлении Графа действий.
Message Sent trace Трассировка отправки сообщения: трассировка, которая создается при отправке сообщения WCF, если System.ServiceModel источник трассировки включен на уровне сведений или подробных сведений. Эта трассировка необходима для просмотра стрелки корреляции сообщений в представлении Графа действий.

Процедуры

Icon Description
Activity Activity: указывает, что текущее действие является общим действием.
Root activity Действие Root: обозначает корневое действие процесса.

Действия WCF

Icon Description
Environment activity Действие среды: действие, которое создает, открывает или закрывает узел WCF или клиент. Ошибки, произошедшие в ходе этих этапов, отображаются в данном действии.
Listen activity Действие Listen: действие, записывающее трассировки, которые относятся к прослушивателю. В этом действии можно просматривать информацию о прослушивателе и запросы соединения.
Receive Bytes activity Действие Receive Bytes: действие, группирующее все трассировки, которые относятся к получению входящих байтов при установленном соединении между двумя конечными точками. Это действие необходимо для корреляции с действиями транспорта, распространяющими свой идентификатор действия, например http.sys. В этом действии отображаются ошибки соединения, такие как прерывание связи.
Process Message activity Действие сообщения об обработке: действие, которое группирует трассировки, связанные с созданием сообщения WCF. В этом действии отображаются ошибки, связанные с неправильным конвертом или неправильно сформированным сообщением. В этом действии можно просматривать заголовки сообщений, чтобы проверить выполнение распространения идентификатора действия от вызывающего. Если это верно, при передаче в действие действия процесса (следующий значок) можно также назначить этому действию идентификатор распространяемого действия для корреляции между вызывающим и вызывающим трассировками.
Message Log trace Действие действия процесса: действие, которое группирует все трассировки, связанные с запросом WCF на две конечные точки. Если в конфигурации обеих конечных точек для параметра propagateActivity задано значение true, все трассировки от этих конечных точек объединяются в одно действие для непосредственной корреляции. Такое действие будет содержать ошибки, обусловленные обработкой транспорта или безопасности, а также расширением до границы пользовательского кода и обратным сужением (если существует отклик).
Process Message activity Действие Execute User Code: действие, группирующее трассировки пользовательского кода для обработки запроса.

Устранение неполадок

Если у вас нет разрешения на запись в реестр, вы получите следующее сообщение об ошибке "Средство просмотра трассировки службы Майкрософт не зарегистрировано в системе" при использовании команды "svctraceviewer /register" для регистрации средства. В этом случае необходимо войти в систему с использованием учетной записи, у которой имеется право записи в реестр.

Кроме того, программа Service Trace Viewer записывает некоторые параметры (например, параметры настраиваемых фильтров и фильтрации) в файл SvcTraceViewer.exe.settings в папке сборки. При отсутствии разрешения на чтение файла можно по-прежнему запустить программу, но нельзя загрузить параметры.

Отображение сообщения об ошибке "Неизвестная ошибка во время обработки одной или более трассировок" при открытии ETL-файла означает, что этот файл имеет недопустимый формат.

Если открыть журнал трассировки в операционной системе на арабском языке, можно заметить, что фильтр времени не работает. Например, 2005 год соответствует 1427 году в арабском календаре. Однако диапазон времени, поддерживаемый фильтром в программе «Просмотр трассировки службы», не включает даты ранее 1752 г. В результате может оказаться невозможным выбрать правильную дату в фильтре. Чтобы устранить эту проблему, можно создать пользовательский фильтр (просмотр и настраиваемые фильтры) с помощью выражения XPath для включения определенного диапазона времени.

См. также