- Latency injection
- Error response
Inject latency to trigger a client timeout
This approach tests whether your agent has a timeout configured and what it does when the timeout fires. GoDizzy holds the connection open for the configured latency range before responding. If your agent’s timeout is shorter than the latency, the client drops the connection — GoDizzy never sends the response.Create a routing rule for the tool endpoint
In your route collection, create a new routing rule. For an LLM tool or slow upstream API:
- Method:
POST - Path:
/completions
Set the action to mock
Choose Mock as the action. Set Status to The body does not matter much here — the goal is to make the agent wait long enough that its timeout fires before this response arrives.
200 and provide a realistic response body — what the tool would normally return if it succeeded.mock body
Set the latency range near the client's timeout threshold
Set Min latency to
9000 ms and Max latency to 10000 ms.If your agent has a 10-second timeout, this will trigger it on most requests. Adjust the range to match your agent’s actual timeout setting.GoDizzy picks a random delay within the min/max range for each request. Setting a range (rather than a fixed delay) lets you catch flaky behavior that only appears when the latency is near — but not always over — the threshold.
Run your agent and observe the timeout behavior
Your agent calls the tool endpoint. GoDizzy waits 9–10 seconds before responding. Depending on your agent’s timeout:
- If the agent times out before GoDizzy responds, the agent receives a connection timeout error from the HTTP client.
- If the agent does not have a timeout set, it will wait indefinitely for the response.
What the agent sees
The agent sends the request normally:What to test
Regardless of which approach you use, look for the following behaviors:- Does the agent degrade gracefully? It should acknowledge the failure and either retry or surface a clear error to the user — not hang or produce a partial response silently.
- Does the agent have a timeout configured? If you use latency injection and the agent never times out, it has no timeout. That is a gap to fix.
- Does the agent retry on timeout or 5xx? If it does, does it back off between retries? Does it have a retry limit?
- Does the agent fall back to a different tool? For example, if a primary LLM tool times out, does it try a faster model or a cached result?
- Does the agent communicate the failure clearly? A user-facing message like “I was unable to complete this request because the tool timed out” is better than silence or a confusing partial answer.
