Execution trace for execution Java API
You might want to retrieve execution traces of an engine. You define what information is
recorded in the trace by using trace configuration.
You need to set the trace configuration
com.ibm.decision.run.trace.TraceConfiguration for the run context before the
execution, as shown in the following
example:RunContext runContext = runner.createRunContext(executionId);
TraceConfiguration tc = new TraceConfiguration();
tc.rules.allRules = true;
tc.rules.executedRules = true;
tc.rules.nonExecutedRules = true;
runContext.setTraceConfiguration(tc);
runner.execute(input, runContext);
Trace trace = runContext.getTrace();The information in the trace depends on the trace configuration and the type of execution unit.
For example, if you have the trace of a ruleflow engine, and the trace configuration is set
correctly, you can get a list of non-executed rules by
writing:
trace.rootRecord.properties.get("nonExecutedRules")For more information, see the classes com.ibm.decision.run.trace.Trace,
com.ibm.decision.run.TraceRecord, and
com.ibm.decision.run.trace.TraceConfiguration in the Execution Java™ API reference in Reference.
Sample
The sample Executing a decision service in Java is available in GitHub. It
contains a sample code that displays execution traces. Click Automation Decision Services samples
to be redirected to the GitHub repository.