Диагностика транзакционных приложений
В этом разделе рассматривается использование функции управления и диагностики Windows Communication Foundation (WCF) для устранения неполадок транзакционного приложения.
Счетчики производительности
WCF обеспечивает стандартный набор счетчиков производительности для измерения производительности транзакционного приложения. Дополнительные сведения см. в разделе Счетчики производительности WCF.
Счетчики производительности группируются по трем различным уровням области действия: служба, конечная точка и операция, как описано в приведенных далее таблицах.
Счетчики производительности службы
Счетчик производительности | Описание |
---|---|
Transactions Flowed |
Количество транзакций в операциях для данной службы. Значение этого счетчика увеличивается каждый раз, когда в сообщении, отправленном в службу, имеется транзакция. |
Transactions Flowed Per Second |
Количество транзакций в операциях для данной службы за каждую секунду. Значение этого счетчика увеличивается каждый раз, когда в сообщении, отправленном в службу, имеется транзакция. |
Transacted Operations Committed |
Количество выполненных операций с поддержкой транзакций, транзакции которых были завершены с результатом, зафиксированным в этой службе. Работа, выполненная в таких операциях, полностью зафиксирована. Ресурсы обновлены в соответствии с работой, выполненной в операции. |
Transacted Operations Committed Per Second |
Количество выполненных операций с поддержкой транзакций, транзакции которых были завершены с результатом, зафиксированным в этой службе в течение каждой секунды. Работа, выполненная в таких операциях, полностью зафиксирована. Ресурсы обновлены в соответствии с работой, выполненной в операции. |
Transacted Operations Aborted |
Количество выполненных операций с поддержкой транзакций, транзакции которых были завершены с прерыванием в этой службе. Для работы, выполненной в таких операциях, производится откат. Для ресурсов восстанавливается предыдущее состояние. |
Transacted Operations Aborted Per Second |
Количество выполненных операций с поддержкой транзакций, транзакции которых были завершены прерыванием в этой службе в течение каждой секунды. Для работы, выполненной в таких операциях, производится откат. Для ресурсов восстанавливается предыдущее состояние. |
Transacted Operations In Doubt |
Количество выполненных операций с поддержкой транзакций, транзакции которых были завершены с сомнительным результатом в этой службе. Работа, выполненная с результатом "сомнительно", находится в неопределенном состоянии. Ресурсы находятся в состоянии ожидания результата. |
Transacted Operations In Doubt Per Second |
Количество выполненных операций с поддержкой транзакций, транзакции которых были завершены с результатом "сомнительно" в этой службе в течение каждой секунды. Работа, выполненная с результатом "сомнительно", находится в неопределенном состоянии. Ресурсы находятся в состоянии ожидания результата. |
Счетчики производительности конечных точек
Счетчик производительности | Описание |
---|---|
Transactions Flowed |
Количество транзакций, поступивших в операции на этой конечной точке. Значение этого счетчика увеличивается каждый раз, когда в сообщении, отправленном на эту конечную точку, содержится транзакция. |
Transactions Flowed Per Second |
Количество транзакций в операциях для данной конечной точки за каждую секунду. Значение этого счетчика увеличивается каждый раз, когда в сообщении, отправленном на эту конечную точку, содержится транзакция. |
Счетчики производительности операций
Счетчик производительности | Описание |
---|---|
Transactions Flowed |
Количество транзакций, поступивших в операции на этой конечной точке. Значение этого счетчика увеличивается каждый раз, когда в сообщении, отправленном на эту конечную точку, содержится транзакция. |
Transactions Flowed Per Second |
Количество транзакций в операциях для данной конечной точки за каждую секунду. Значение этого счетчика увеличивается каждый раз, когда в сообщении, отправленном на эту конечную точку, содержится транзакция. |
Инструментарий управления Windows (WMI)
WCF предоставляет данные проверки службы во время выполнения с помощью поставщика инструментария управления Windows (WMI) WCF. Дополнительные сведения доступе к данным WMI см. в разделе Использование Windows Management Instrumentation для диагностики.
Ряд свойств WMI только для чтения показывает применяемые в службе параметры транзакции. В приведенных ниже таблицах перечислены эти параметры.
В службе атрибут ServiceBehaviorAttribute имеет следующие свойства.
Имя | Тип | Описание |
---|---|---|
ReleaseServiceInstanceOnTransactionComplete |
Boolean |
Указывает, производится ли повторное использование объекта службы после завершения текущей транзакции. |
TransactionAutoCompleteOnSessionClose |
Boolean |
Указывает, завершаются ли ожидающие транзакции при закрытии текущего сеанса. |
TransactionIsolationLevel |
Строка, содержащая допустимое значение перечисления IsolationLevel. |
Задает уровень изоляции транзакции, поддерживаемый этой службой. |
TransactionTimeout |
Задает период времени, в течение которого транзакция должна быть завершена. |
Атрибут ServiceTimeoutsBehavior имеет следующее свойство.
Имя | Тип | Описание |
---|---|---|
TransactionTimeout |
DateTime |
Задает период времени, в течение которого транзакция должна быть завершена. |
В привязке атрибут TransactionFlowBindingElement имеет следующие свойства.
Имя | Тип | Описание |
---|---|---|
TransactionProtocol |
Строка, содержащая допустимое значение типа TransactionProtocol. |
Указывает протокол транзакций, используемый при передаче транзакций. |
TransactionFlow |
Boolean |
Задает, включен ли входящий поток транзакций. |
В операции атрибут OperationBehaviorAttribute имеет следующие свойства.
Имя | Тип | Описание |
---|---|---|
TransactionAutoComplete |
Boolean |
Указывает, следует ли автоматически фиксировать текущую транзакцию при отсутствии необработанных исключений. |
TransactionScopeRequired |
Boolean |
Указывает, требует ли операция транзакции. |
В операции атрибут TransactionFlowAttribute имеет следующие свойства.
Имя | Тип | Описание |
---|---|---|
TransactionFlowOption |
Строка, содержащая допустимое значение перечисления TransactionFlowOption. |
Задает область, к которой требуется поток транзакций. |
Трассировка
Трассировка позволяет контролировать и анализировать ошибки в транзакционных приложениях. Трассировку можно включить следующими способами.
Стандартная трассировка WCF
Трассировка этого типа аналогична трассировке любого другого приложения WCF. Дополнительные сведения см. в разделе Настройка трассировки.
Трассировка WS-AtomicTransaction
Трассировку WS-AtomicTransaction можно включить с помощью атрибута Программа конфигурации WS-AtomicTransaction (wsatConfig.exe). Такая трассировка позволяет контролировать состояние транзакций и участников внутри системы. Чтобы включить также и трассировку модели службы, можно задать для ключа реестра HKLM\SOFTWARE\Microsoft\WSAT\3.0\ServiceModelDiagnosticTracing допустимое значение перечисления SourceLevels. Ведение журнала сообщений включается так же, как и для других приложений WCF.
Трассировка System.Transactions
При использовании протокола OleTransactions возможна трассировка сообщений протокола. Поддержка трассировки, предоставляемая инфраструктурой System.Transactions (которая использует протокол OleTransactions), позволяет пользователям просматривать события, происходящие с транзакциями. Чтобы включить трассировку для приложения System.Transactions, поместите приведенный ниже код в файл конфигурации App.config.
<configuration> <system.diagnostics> <sources> <source name="System.Transactions" switchValue="Verbose, ActivityTracing"> <listeners> <add name="Text" type="System.Diagnostics.XmlWriterTraceListener" initializeData="SysTx.log" traceOutputOptions="Callstack" /> </listeners> </source> </sources> <trace autoflush="true" indentsize="4"> </trace> </system.diagnostics> </configuration>
При этом включается и трассировка WCF, так как WCF также использует инфраструктуру System.Transactions.
См. также
Справочник
Программа конфигурации WS-AtomicTransaction (wsatConfig.exe)