Программа 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. Доступные уровни трассировки приведены в следующей таблице.

Уровень трассировки Описание
Критический — записывает Fail-Fast и записи журнала событий, а также сведения о корреляции трассировки. Ниже приводится несколько примеров ситуаций, в которых может потребоваться использовать уровень 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 производит слияние содержимого всех файлов и отображает данные в одном представлении. Например, можно открыть файлы трассировки как для клиента, так и для службы. Это удобно, если в конфигурации включено ведение журнала сообщений и распространение действий. Таким образом, можно проверить обмен сообщениями между клиентом и службой. Вы также можете перетащить несколько файлов в средство просмотра или использовать вкладку Project. Дополнительные сведения см. в разделе "Управление Project".

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

Внимание!

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

Параметры

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

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

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

Режим макета

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

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

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

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

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

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

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

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

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

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

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

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

В представлении сообщений отображается часть сообщения 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. Нажмите кнопку ОК.

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

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

  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-элементах.

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

Примечание

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

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

Значок Описание
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

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

Действия

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

Действия WCF

Значок Описание
Environment activity Действие среды: действие, которое создает, открывает или закрывает узел WCF или клиент. Ошибки, произошедшие в ходе этих этапов, отображаются в данном действии.
Listen activity Действие Listen: действие, записывающее трассировки, которые относятся к прослушивателю. В этом действии можно просматривать информацию о прослушивателе и запросы соединения.
Receive Bytes activity Действие Receive Bytes: действие, группирующее все трассировки, которые относятся к получению входящих байтов при установленном соединении между двумя конечными точками. Это действие необходимо для корреляции с действиями транспорта, распространяющими свой идентификатор действия, например http.sys. В этом действии отображаются ошибки соединения, такие как прерывание связи.
Process Message activity Действие process Message: действие, которое группирует трассировки, связанные с созданием сообщения 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 г. В результате может оказаться невозможным выбрать правильную дату в фильтре. Чтобы устранить эту проблему, можно создать пользовательский фильтр (view/Custom Filters) с помощью выражения XPath для включения определенного диапазона времени.

См. также раздел