Reviewing an Evaluation
The Evaluation dialog shows one recorded evaluation in full: the values the rule read, the rule as it was written, and a step-by-step account of what the rule did with those values. It is where a recorded decision is explained: when it was made, by which rule version, and why. Use it to explain a single decision, for example why an application was declined or why a fee was charged, to check that a rule behaves in production the way it did in your tests, or to find the condition that caused an unexpected result.
The account is rebuilt from the record each time you open the dialog. The rule version that ran is run again, with every value answered from what was recorded, so it takes exactly the path it took in production. Nothing in your application is called, and nothing is changed.
What the Evaluation Dialog Shows
- The summary line at the top: the evaluation's ID, when it was recorded and for whom, the rule version and the rule, the source version it ran against, and the correlation ID, if your application attached one. The rule, the rule version and the source version are links: click one to open its dialog.
- The left pane shows the source object as the rule saw it: its fields, in-rule methods, actions, the other rules it used, and the lists of values (enumerations). Beside each field the rule read is the value it read. A field shows — when no value was recorded for it. If your application records every field, the fields the rule did not read are shown in a lighter, italic style, so you can tell the values that decided the outcome from those that were merely there.
- The middle pane shows the rule exactly as the rule version holds it, with its Rule Type and whether it is Reusable? or Inline?. The rule cannot be changed here.
- The right pane is the replay, from top to bottom:
- The outcome: RAN with a sentence such as "The rule ran and returned FALSE.", or, if the evaluation ended in an error, the error's message. Under it are the date and time of the evaluation, how long it took, and the precision and rounding settings it ran with.
- Each condition, in the order the rule checks it, marked with a check mark if it was true or a cross if it was false, and with TRUE or FALSE on the right. Under the condition are the values that were compared, such as "9.9 > 1,000".
- Conditions that were not needed are marked NOT EVALUATED, with the reason: "what came before had already decided it", or that a collection had no items. The rule stops checking as soon as the answer is known.
- Collections are shown as a block that says how the items were checked (for example, any item of the collection), how many items there were, and the block's result.
- Other rules the rule used are shown as a block of their own, with the version that ran and its own conditions.
- For an execution rule, the IF, ELSE IF and ELSE sections and the actions under them. The section that ran shows its actions with the values they were given; a section that was not reached is marked not reached, and its actions NOT RUN.
- RULE RESULT at the bottom: TRUE or FALSE and, for an execution rule, which branch ran, or "No branch ran".
Reviewing an Evaluation
- Click Live Evaluations at the top of the screen and find the evaluation, for example by its correlation ID. See Evaluations.
- Click the row. The Evaluation dialog opens.
- Read the outcome at the top of the right pane, then follow the conditions down to the RULE RESULT. The first condition marked false (or, for a rule that returned true, the conditions marked true) usually explains the decision.
- To see a value the rule compared, look at the line under its condition, or find the field in the left pane.
- To look at the rule version or the source version itself, click its name in the summary line. Its dialog opens on top.
- Close the dialog with the × in its upper right corner, or press Esc.
When the Replay Can Differ
The replay takes the same path as the production evaluation because it uses the same rule version and the values the rule read. The replay runs under the culture and runtime your application recorded, but text comparisons that depend on the language settings of a different computer can, in rare cases, sort differently.