Conditional Trace makes it possible to tap off selected records from running workflows, making it a very powerful tool for troubleshooting in production environments. The main advantage is that there is no need to restart the workflows - you can at any time create the rules and turn on tracing for a set of workflows. The configuration is a three step procedure:
Defining a Trace Template:
Templates define which workflows and UDR types to target, including the rules for which field/fields that are examined for specific values. To avoid getting too much data, it also specifies from which routes and/or Analysis/Aggregation nodes you want to get data from. A Template can be created and maintained directly from the MediationZone Desktop, the Web GUI, or through a REST call.
Starting a Trace:
Traces are started from the MediationZone Web GUI, or through the REST API. A user selects an existing template, and sets the values for the field/fields that are required.
Examining a Trace:
Trace output records can be examined directly in the Web GUI. You can also choose to save trace records in a file or database, or process them using a separate workflow.
Conditional Trace architecture
The architecture of Conditional Trace has been designed to have as little impact on a deployment as possible. There is a Service Context for managing the Templates and the records they produce, creating a clear separation of the trace record handling from the Platform's general workflow processing. Also, a set of parameters are set to limit the amount of trace data produced. You can, for instance, set for how long a trace is active and how much data in total that can be produced.