Debugging
Open the trace of the request that failed and walk it. The errored step names its exception class, and the steps around it carry the inputs they were given and the outputs they returned. A step that succeeded and returned nothing useful is as informative as the step that raised. The execution graph walks one rejected request from its trace body down to the values on its root.Coding
Before changing a function, ask what called it. The function index holds observed caller and callee pairs per service and function name, kept for 90 days, so it outlives the traces they were derived from. Any marked function that ran has a row. The lists are observed, which is the whole claim: they name what was recorded calling that function, never everything that can.Verification
After a change ships, read real executions of the function it touched and compare their inputs and outputs with what you expected. Reading a function’s examples returns up to five of them, as previews or as full values, each carrying thestatus of the attempt it names. Nothing here
diffs two deployments for you. What it gives you is concrete behaviour from production to
compare against, for the cases a test suite does not cover because nobody thought of them.
