Trace one Znode 9 request from browser to service
Trace a single synthetic request through browser, controller, agent, client, API, and service boundaries. Follow evidence, not class names or assumptions.
In this guide
Start with one observable action
Choose a harmless action such as loading a fictional product note. In browser developer tools, record method, URL, response status, payload shape, and correlation ID if available. Redact tokens, cookies, account data, and customer values before sharing evidence.
Build the trace table
Find the route or controller action first. From its injected collaborators, follow the method called by that action. Continue one hop at a time through any agent, client, API controller, and service. Capture the request and response model at every boundary, along with transformations and authorization checks.
request-trace.json json
{
"request": { "method": "GET", "route": "/example" },
"hops": [
{ "boundary": "controller", "input": "request model", "output": "view model", "check": "input validation" },
{ "boundary": "agent", "input": "view model", "output": "domain request", "check": "server context" },
{ "boundary": "API client", "input": "DTO", "output": "DTO", "check": "authorization" },
{ "boundary": "service", "input": "domain request", "output": "result", "check": "business rule" }
]
}
Set breakpoints after the map
Use a synthetic request and set breakpoints in the selected path. Compare live values with the trace table. If a controller calls an agent but the expected service is not reached, inspect route selection, configuration, and registered implementations rather than inserting a new call.
Finish with a safe finding
The useful output is a verified path, its context source, validation points, and an unresolved hop if one remains. Do not say a request follows all layers until you have observed that exact request in the target build. A frequent failure is tracing a similarly named controller or agent while routing selects a different implementation; compare route values and the resolved type before changing code.
References and further reading
Bring your next engineering question.
Need help untangling a legacy customization path?
Independent guidance from GCG. Znode is a trademark of its owner. Examples use fictional data and are not official platform documentation. Suggest a correction.