Database: Link QueueItems to Processes, and Logs to QueueItems

Related UiPath Support Ticket: #00495378

My clients are requesting the ability to use reporting tools (PowerBI) for reporting on success/failure/retry rates for each Process, and what the most common exception reasons were. When looking at the database, all of that information is located in the QueueItems table, but there is currently not a way to directly link a QueueItem to the Process that processed it. You can link the QueueDefinitions table to the QueueItem to see what queue it was in, however if you’re using a separate Dispatcher process to feed in to the Performer process, this makes it difficult to report on. This also makes it impossible to link the version of the Process that worked the QueueItem, which would be helpful to show Error Rate trends per-process, per-version (showing the business that there was an X% drop in errors after we pushed XYZ version).

One solution that I’ve thought of would be to add the same RawMessage information you see in the Logs table entries that contains the ProcessVersion,ProcessName,JobID, etc. to each entry in QueueItems. Additionally, potentially adding the QueueName to the RawMessage data for each Logs table entry.

In the meantime, one workaround I’ve thought of would be to have the process add the ProcessName and ProcessVersion to the SpeificData for the QueueItem and then parse that with JSON_Value through SQL.