Track & Trace
All Events (except express Events), Jobs, Nodes and Log entries created in an iCore system can be traced back to their original sources.
Any Event or Job in a process flow can be traced back to the Event/Job that created it (the parent). Consequently, any given Event/Job can be traced back all the way to the Event/Job that originally started the chain. The tracing also allows you to see whether an Event/Job has any siblings referring to the same parent. Both Jobs and Events can have many children.
It is important to note that iCPS service runtime also executes under Jobs. All system Jobs can be traced back to system Event __iCore_SystemSessionCreated.
An Event or Job may refer to a Node, and the Node also "knows" which Events/Jobs refer to it. It is possible to create an Event from a Node ("Create Event on Node"), and an Event can also use a Node as an in parameter.
An Express Event creates a Job immediately and refers to the system Event __iCore_SystemSessionCreated as its parent Event. Other than that, an Express Event offers limited traceability (it has no Parent Job or Event configuration). For more information, see Express Events.
A Node can be created "automatically" by a Job or manually (for example in iCore Administrator).
Relations with Jobs and Events
From a Node, it is possible to trace:
- The Job that created the Node.
- Any Events that have used the Node as an in parameter.
A manually created Node will not contain any references to Jobs.
Relations between Nodes
It is also possible to assign relationships between Nodes. To create a Node relation, it must be specified in a Component definition (for example through the Add Node relation Adapterflow).
The information can be of two types:
- Parent – child information showing the parent and the children of
the Node, if any. A Node can have multiple parent Nodes, consider
the following example:
- Multiple invoices (stored in separate Nodes) are merged into a single exchange Node. The separate invoice Nodes become parents of the exchange Node.
- Associations describing the connection, for example, between a message and receipt, or between an order and an order reply. If an association exists, the Component must search for this information explicitly, so that it can find out, for example, which Node an order reply is referring to. It is possible to get an overview of the relations of a particular Node in the details view in iCore Administrator.
You can use entity filters to sort Nodes based on their relations (for example, the Has parents filter attribute).
A Log entry can only be created by a Job. System Jobs often generate log entries automatically, but to write a specific message to the log it needs to be entered in a Component definition (use for example Write String to Log (script function) or Write to log (Workflow activity) to write a text string to the log or associate a Node with a specific log entry).
A Log entry can have many related tracking entities (displayed on the tab Related in iCore Administrator). A related tracking entity can be created when, for example:
- The Event processor attempts to process an Event that is missing an Event configuration – an error log is created and this log points back to the Event.
- The Worker host manager loses a Job which results in a "Job lost" log entry.
The Event concept