Overview of options for monitoring & troubleshooting
Workflow Tracking.NET 4 Provides:EtwTrackingParticipan
t
Captures WF tracking
records to ETW
AppFabric:Event Collector
Service
Collects ETW Events &
Writes them to SQL
Server Database
Control verbosity:Tracking Profiles
RuntimeRuntime
Host: IIS | AppFabricHost: IIS | AppFabric
WorkflowWorkflowWorkflowWorkflow
ExtensionsExtensionsExtensionsExtensions
Persistence ProviderPersistence ProviderPersistence ProviderPersistence Provider
ETW Tracking ParticipantETW Tracking Participant
Events logged:• Workflow status • Activity status • Custom user data• Exceptions
Events logged:• Workflow status • Activity status • Custom user data• Exceptions
ConfigConfigConfigConfig TrackingProfilTrackingProfilee
Controls both tracking profile used for WF events & verbosity of WCF events
Controls both tracking profile used for WF events & verbosity of WCF eventsHealth Monitoring is
the only level for which aggregate WCF events are logged
Health Monitoring is the only level for which aggregate WCF events are logged
Configure to turn on file based logging of WCF events
Configure to turn on file based logging of WCF events
Troubleshooting the Fourth Coffee Labeling Service
• Enables efficient
resource utilization
for long running
processes
• Unload workflows
from memory when
idle
• Timing of
persistence
affected by host
and activities
(Persist, Tx) within
workflow
Workflow Workflow PersistencePersistence
WorkflowServiceHostWorkflowServiceHost
Workflow ServiceWorkflow ServiceWorkflow ServiceWorkflow Service
SchedulSchedulererSchedulSchedulerer
ExtensionExtensionssExtensionExtensionssPersistence Persistence ProviderProviderTracking Tracking ParticipantParticipantCustom Custom ExtensionExtension
AppFabric provides SqlWorkflowInstanceStore that uses SQL Server
AppFabric provides SqlWorkflowInstanceStore that uses SQL Server
Can build own PersistenceProvider to other stores and plug-in
Can build own PersistenceProvider to other stores and plug-in
Control size of Persistence DB by compressing instances & discarding completed instances
Control size of Persistence DB by compressing instances & discarding completed instances
Control how aggressively AppFabric tries to persist then unload instances from memory
Control how aggressively AppFabric tries to persist then unload instances from memory
Enable AppFabric Host to Control Instances (e.g. Abandon, Cancel, Run, Resume, Suspend, Terminate)
Enable AppFabric Host to Control Instances (e.g. Abandon, Cancel, Run, Resume, Suspend, Terminate)
VS, ETW & AppFabric MonitoringCompensation, Cancellation & Unhandled Exceptions
15
16
Managing Services with AppFabric