Activity List

This topic lists all the activities defined by Windows Communication Foundation (WCF).

Note

You can also define activities programmatically to group user traces. For more information, see Emitting User-Code Traces.

ServiceModel Activities

The following table lists all activities for major usage scenarios.

Label Activity Name Activity Type Description
A, M Ambient activity N/A (this is not controlled by ServiceModel) The activity whose ID is set in TLS before any calls to ServiceModel code (client side or server side).

Example: An activity where open is called on the WCF client or serviceHost.open is called.
B Construct

ChannelFactory. ContractType : ‘[Type]’.
Construct
C Open

[ClientBase|ChannelFactory]. ContractType : ‘[Type]’.
Open
I Close [ClientBase|ChannelFactory]. ContractType : ‘[Type]’. Close
M Construct ServiceHost. ServiceType: ‘[Type]’. Construct
N Open ServiceHost. ServiceType: ‘[Type]’. Open
Z Close ServiceHost. ServiceType: ‘[Type]’. Close
O Listen at ‘[address]’. ListenAt This and the next activity are transport-specific. The ListenAt activity represents the content that maps to the address where the channel listener listens at. In the case of MSMQ, it is the queue itself since the queue maps to one address. This activity listens for incoming connections in the case of connection-oriented transports, for MSMQ messages in the case of MSMQ. This activity is created during ServiceHost.Open(), and contains the traces related to creating and disposing the listener, as well as transferring out to all ReceiveBytes activities.
P Receive bytes on connection ‘[address]’. Receive MSMQ message. ReceiveBytes In this activity, data that will eventually get a WCF message is processed. Incoming bytes are waited in the case of connection-oriented transport or http. For TCP/named-pipe, the lifetime of this activity is the lifetime of the connection, as it is created when the connection is created. For http, it is of the lifetime of a message request and is created when the message is sent. This activity contains the traces related to creating and disposing the connection if applicable, as well as transfers out to all message (object) processing activities.

In the case of MSMQ, it is the activity where the MSMQ message is retrieved.
Q Process message [number]. (Note, [number] is a monotonically increasing value which starts at 1.) ProcessMessage Process an incoming message. This activity starts when all the data (bytes, MSMQ message) are received to form a WCF message object. Traces within this activity deal with header processing.

Once a message that can be dispatched is formed, the ServiceHost ProcessAction activity is switched to after looking up the corresponding Activity ID.
D, S Process action ‘[action]’. ProcessAction Process the message through the Transport/Security/RM stack for dispatching the message to user code on receive, and in the reverse order on send.

On the server, this activity uses the propagated Activity ID if it is sent in the message header via "Activity Propagation"; otherwise, a new GUID is created.

The response message for request/reply contracts is also processed in that activity.
T Execute ‘[IContract.Operation]’. ExecuteUserCode Execute user code after dispatch on the service side. This activity provides a boundary to delineate ServiceHost code from user-provided code.

Security Activities

The following table lists all activities related to Security.

Activity Name Activity Type Description
Setup secure session SetupSecurity Exists on the client side only. Contains all RST*/SCT exchanges for authentication and setting the security context. If propagateActivity=true, this activity is merged with the service’s corresponding Process Action RST*/SCT activities.
Close secure session SetupSecurity Exists on the client side. Contains the Cancel message exchange for closing the secure session. If propagateActivity=true, this activity is merged with the Process Action "Cancel" from the service.

The following table lists all activities related to COM+.

Activity Name Activity Type Description
Create COM+ instance TransferToCOMPlus 1 activity instance for each COM+ call from WCF code
Execute COM+ <operation> TransferToCOMPlus 1 activity instance for each COM+ call from WCF code

WMI Activities

The following table lists all activities related to WMI.

Activity Name Activity Type Description
WMI get WMIGetObject User is retrieving data from WMI.
WMI put WmiPutInstance User is updating data with WMI.