Skip to content
Art2link ESB v2.02 LTS HomeDocumentationBlogContact
Monitor & operate/Tracking
Preview · this screen is evolving

Tracking

A historical, searchable view of every step of every integration that has run on the platform — a capability no other middleware, BizTalk included, offers. Turn it on per port to record full step-by-step detail, then query it from a single screen.

Tracking is what makes a finished run inspectable. The runtime always keeps a thin internal record of in-flight messages so a suspended run can be resumed, a running run can be observed, and an errored run shows up where you would expect — that lightweight travel is independent of Tracking and is always on. Tracking is the historical layer on top of it: per-port, opt-in, and once enabled it persists the full step-by-step record of each run for later search and analysis.

This is the differentiator. BizTalk has tracking too, but Tracking in Art2link ESB stitches every step of an integration's execution together and lets you walk a single run end-to-end — or sweep a whole status category at once — through a single screen. No other middleware connects the steps the way this does.

Tracking is enabled per port, not per integration. Each port carries a single tracking-level setting with three values, ordered from lightest to most detailed:

LevelWhat is recorded
Only on ErrorNothing is written for successful runs. On failure, the full step history is persisted including the message body at each step — there is no separate Only on Error + Body level; failure recording always includes the body. Cheapest level when failures are rare.
EnabledEvery run through this port is recorded — timestamps, step identifiers, message type, adapter. Message bodies are not stored.
Enabled + BodyEvery run is recorded, including the full message body at each step. Most diagnostic, most expensive in storage.
Only on Error SUCCESSFUL RUN Nothing persisted FAILED RUN Run record Full step history Message body at each step Body included automatically on failure Enabled EVERY RUN Run record Full step history Message body Body excluded to keep storage cost down Enabled + Body EVERY RUN Run record Full step history Message body at each step Fullest view highest tracking-DB cost
!
Set the level on every port the integration touches. A flow with three ports configured at three different levels will produce a tracked record that is detailed where one port enabled it and silent where the others did not. To see the full end-to-end execution of an integration, set the level uniformly across every port of that flow.

The tracking level toggle lives on the port itself, alongside the Exceptions option. See PortsOptions available on every port for the port-side description.

Tracking is filtered by the Selected Application. With a Selected Application set, every count and every row on the Tracking screen is restricted to that Application. With no Selected Application, the screen spans every Application the user has access to. The behaviour matches every other artifact list in the platform.

The Tracking screen is laid out in three regions, top to bottom — status boxes, a filter strip, and a results grid.

REGION 1 Status boxes — click to filter the grid, or use the menu to act on the whole count SUCCESSFUL 12,481 RUNNING 7 SUSPENDED 14 EXCEPTIONS 63 ERRORS 3 REGION 2 Filter strip — composes with the active status box and the Selected Application TRACKING ID 8f3b-a91c-d4e7-… START DATE 2026-05-15 00:00 END DATE 2026-05-15 23:59 MESSAGE TYPE OrderCreated REGION 3 Results grid — one row per run; expand a row for full step history START PORT MESSAGE TYPE TRACKING ID 2026-05-15 14:02:11 rcv-orders-edi OrderCreated 8f3b-a91c-d4e7 2026-05-15 14:02:09 snd-erp-orders OrderCreated 7a22-bb19-c0c4 STEP-BY-STEP HISTORY (this run) 14:02:09.140 Receive #1 Adapter — AS2 OrderCreated «body» 14:02:09.310 Receive #4 Inbound map OrderCreated «body» 14:02:09.612 Send #1 Variables — On Entry OrderCreated «body» 14:02:09.901 Send #5 Adapter — SQL OrderCreated «body» 2026-05-15 14:01:58 loop-enrich-eu OrderCreated 3d11-eaa0-9b2f

1. Status boxes. Five boxes at the top, each showing a status name and a live count: Successful Running Suspended Exceptions Errors. Clicking a box loads the matching records into the grid below; the same box also exposes an action menu that applies to the entire count at once (see Actions).

2. Filter strip. A row of filters that narrow what the grid shows: Tracking ID, Start Date, End Date, and Message Type. Filters compose with the active status box and with the Selected Application.

3. Results grid. One row per integration run, sortable by start time, with the originating port, message type, and start timestamp visible. Expanding a row reveals the run's full step-by-step history — see Step-by-step drill-down.

StatusMeaning
SuccessfulThe run completed end-to-end without raising an error.
RunningThe run is currently in flight on one or more ports. Counts in this box are live and can change between refreshes.
SuspendedThe run is paused and waiting on operator action. Resumable, or terminable, from this screen.
ExceptionsThe run failed, and the failure was handled by the port's configured exception: the port had a Message Type assigned for the failure path, the runtime emitted a message of that type onto the bus, and any subscriber to it (an alert send port, a log writer, a downstream compensation flow) picked it up. See PortsOptions available on every port for how to configure an exception path.
ErrorsThe run failed and the failure was not handled — either the port had no configured exception, or the configured exception itself raised an uncaught fault.

Actions are identical whether triggered on a single row or on the whole status box. The box variant applies the action to every record currently in that status, scoped by the active filters.

StatusAvailable actions
Successful
RunningTerminate Suspend
SuspendedTerminate Resume
Exceptions
Errors
!
Acting on Running is racy. A bulk Terminate or Suspend against the Running box is queued against the records that match at the moment the command lands. Some of those runs may have already completed, errored, or moved to Suspended between the user clicking the action and the runtime processing it. Treat the outcome of a bulk action on Running as best-effort, not exact.

Expanding a row in the results grid exposes the full step-by-step history of that run — one line per step, in execution order, across every port the run touched. The columns are:

ColumnWhat it shows
TimestampWhen the step executed, to the second.
PortThe port that owned this step.
Step IDA numbered identifier for the lifecycle stage (adapter, pipeline, map, variables on entry / on exit, and so on). Hover the badge to see the stage's human-readable name. The full enum of step IDs is published separately as a reference.
TypeThe port type the step belongs to, with a color matching the Ports palette: Receive bronze, Send blue, Loopback sage, Null rose. See Ports for the port-type model.
AdapterThe adapter bound to the port, when relevant. Loopback and null ports have no adapter and leave this column blank.
Message TypeThe Message Type carried by the run at this step.
BodyA preview of the message body at this step. Populated only when the originating port was set to Enabled + Body; otherwise the column is blank for that step. Clicking the preview opens the full body.

Every integration run is stamped with a single Tracking ID when it enters the platform. The same ID flows through every port the run touches, which is what lets the screen reassemble one logical run from steps recorded by different ports. Use the Tracking ID filter on the top strip to recall the complete history of one specific run, even months later.

RUN ENTERS SAME ID, EVERY STEP RECEIVE PORT rcv-orders-edi stamp Tracking ID TRACKING ID 8f3b-a91c-d4e7-22a0 Bus SEND PORT snd-erp-orders id: 8f3b-a91c-d4e7-22a0 LOOPBACK PORT loop-enrich-eu id: 8f3b-a91c-d4e7-22a0 NULL PORT null-archive-test id: 8f3b-a91c-d4e7-22a0 TRACKING SCREEN — ONE RUN FILTER · tracking_id = 8f3b-a91c-d4e7-22a0 rcv-orders-edi · step #1 snd-erp-orders · step #5 loop-enrich-eu · step #3 reassembled end-to-end One ID, stamped at entry. Every port that touches the run records its own steps under it — the Tracking screen joins them back into a single logical run.

That's Tracking

Set the level you need on each port, run integrations, and the Tracking screen is where the history of every run lives — searchable, drillable, and bulk-actionable.