Guides
Investigate a run
Open a run to see the path it took through your boxes and the one box Babbit blames. If every box held and the result is still wrong, flag the run: Babbit returns a verdict, and Start the fix opens a change that carries it. That fix needs a tighter contract and a scenario for the failing case.
Find the run
- In Build, open Events.
- Find the run. Each row is named for what started it: a click or page a person opened, a request no action made, or a job.
- To see only runs that failed, choose Failed.
- Click the row to open the run.
You can also reach a run from a box's panel on the Architecture map, from a test on a change's Proof tab, or from an agent's session.
Read the run
The run opens as a sequence diagram: one lifeline per part of your product, with each call drawn from caller to callee, top to bottom, in the order it happened.
- Zoom folds the lifelines: by feature, by module, by file or by box. When the run doesn't fit, Babbit draws it a level higher. Above the feature level, tables fold into one database lifeline and outside hosts into one outside lifeline.
- Open a call to see the steps inside it. A loop shows one pass, marked
×n, until you open it. - Click a call to see its values: what went in, what came out, and what the box's contract expected.
- Scrub with the slider to dim every call after a point.
Jump to the failure
Click Jump to failure. Babbit moves to the call it blames, the deepest box that broke its contract while everything it called held, and opens the rows around it. See Blame.
The blamed call shows the values that broke the contract, beside what the contract expected.
Compare with a good run
Click Compare with last good. Babbit lays the newest run of the same kind that didn't break beside this one, and bands the first step where the two part. That step is usually where to look.
Flag a run that did the wrong thing
Sometimes nothing broke, but the outcome is still wrong. To tell Babbit:
Scrub to the point where the run went wrong.
Click Not what I wanted.
In one field, write what you expected instead.
Babbit compares the run with the last good one and answers with a verdict: what kind of problem it is, the box at fault, one reason, and how sure it is. The box is highlighted on the diagram and linked to the Architecture map.
To fix it, click Start the fix. Babbit opens a change with the verdict in its request.
See the whole project
Architecture is one map of your project: features in rows, with their screens, services and data, the people who use them on the left and outside services on the right.
- Zoom goes from features, in plain words, down to modules, files and boxes.
- Select anything to draw only its connections and list what comes in and goes out.
- Focus keeps one feature and its neighbours and folds the rest away.
- A box's panel lists its recorded calls, each linking to the run that recorded it.
Every summary on the map is checked against the code by Jev. A summary that scores under 0.7 is never shown, and a map made without models says so.
Related
- What's in the box?: how recording and blame work.
- Describe and review a change: reviewing the fix.