Skip to content

Available now

Step 5 · Observe and diagnose ​

Available now When a run goes wrong, you need to answer "what happened to this

story, and which system did it?" in minutes. The portal and your observer give you that.

The portal's views ​

ViewShowsUse it to
OverviewBus health; accepted, duplicate, refused and error totals; top rejection rules for your own apps; counts per vendor connectionCheck the bus is healthy before blaming a system
Story timelineEvery accepted message on a story, of every family, in order, with its producer and system_id; for a snapshot, what changed since the previous one; the raw JSONWalk a run step by step; find which system sent what; spot unintended changes
ActivityEvery gateway decision on your own apps' messages in a window, with its rules, never payloads; counts per vendor connectionFind refusals the timeline can't place on a story
Routing mapWho may publish each message type, and whose filters receive itExplain why a system did or didn't receive something (Routing map)
PlaygroundA dry run of any message against your house's story state, and who would receive it"Would this snapshot have been accepted?" (Playground)

A refusal only lands on a story's timeline when the bus could read the story id from it. A message that isn't JSON, or fails the envelope, shows under Activity only.

Your vendors' detail is theirs ​

For a vendor's connection you see counts (accepted, refused, duplicate, last seen), never its rule ids or refused messages: see Who sees what in a house. The vendor sees its own decisions in full, under Your activity here on its Houses you're in page. When a vendor's count of refusals grows, ask it for the rule ids and message_ids; it can look them up itself.

Diagnosing a run ​

SymptomLook atUsually means
A system shows old contentTimeline: is the newer snapshot there?There: that system didn't apply it, or merged instead of replacing. Missing: the owner never sent it, or it was refused
A refusal for sequence_number.not_increasingIts producer and system_idA second writer, or an owner that lost its sequence after a restart
A story.not_owner warningIts system_id against your story ownership hand-offsA system writing a story it doesn't own, or a hand-off you haven't listed
A refusal for snapshot.members_missing or snapshot.assets_droppedWhat changed, and the rule's pathThe owner sent a delta, or dropped something
A reaction you can't explainIts causation_id in the raw JSONWhich message triggered it. If it's missing, ask the producer to set it
A system says it sent something the timeline doesn't haveActivity (your apps), or the vendor's own activityRefused before the bus could read it, or never arrived: 401 or 403 means credentials or grants
A system didn't receive somethingThe Routing map, then the connection's filtersIts filter doesn't match, or no connection may publish that type
Everything's slow or failingOverview: errors and bus healthA bus problem: tell RND with the time window

Your observer ​

If you set one up (step 2), it holds a copy of every message in your house, in order per story, with the producer's connection in the producer_id attribute and the envelope's system_id beside it. Keep your own evidence beyond the portal's 7 days, and compare what each system should have received, by its filter, with what it did. Acknowledge only what you've stored: a message is gone from the queue once acknowledged.

Start again ​

  • Replay a time range from the bus's archive into one of your own consumer connections, to rebuild a system's state after an outage or to test that it's idempotent. See Dead-letter queues and replay. You can't replay into or redrive a vendor's connection in your house: the vendor does it itself, from its own workspace, so ask the vendor. You see on Consumer connections that it happened, when, and how it ended, never more of its messages than you already could (Your connections in a house).
  • Reset your house between rehearsals Available now, to clear story state, the timeline and waiting messages: see Rehearse a workflow.

Be told ​

  • Your own apps: a rotation's overlap ending, a daily allowance nearly used, a consumer queue lagging or dead-lettering, a replay finishing. Choose who gets which email under Notifications.
  • Your vendors' connections going quiet, coming back, or having too many messages refused: a Vendor connections email Available now, with counts, never rule ids. See Bring your vendors into your house.

Asking RND ​

Send the story_id, the time window and the message_ids involved, through Ask RND (Ask RND). RND sees every gateway decision's metadata (ids, producers, rule ids), never payloads, unless an owner of your workspace grants support access Available now: RND then reads the workspace as one of its viewers does, payloads included, for the time the owner chose (7 days at most), and can't change anything. Your vendors' connections show as counts, as they do for you. Every page RND opens is recorded in your audit log. See Let RND look.

Next: Step 6 · Evaluate your vendors.

SOM is an open standard maintained by the SOM working group. This service is not endorsed by it.