# Troubleshoot by Symptom: z-request-id Pinpoints 401 / 502 / Broken Streams

> AI gateway troubleshooting: z-request-id traces 401 / 403 / 404 / 502 / 503 / timeout / broken stream / OOM end to end, error-code normalization, no stream buffering. Triage by symptom, not by guess.

Canonical: https://www.gatellm.io/use-cases/troubleshooting/

Trace 401 / 403 / 404 / 502 / 503 / timeout / broken stream / OOM by z-request-id end to end — no more guessing.

## What the community actually complains about
High-frequency StackOverflow questions: "streaming response turned into one blob after the proxy," "tool-calling JSON won't assemble," "is this 429 rate-limit or quota-exceeded," "is this 502 the gateway or the vendor."
AI-call troubleshooting is hard: multi-hop paths, streaming, inconsistent error codes — when something breaks you don't know which hop.

## How GateLLM does it
GateLLM assigns each request a z-request-id that threads through the whole log, so you locate by symptom: 401 / 403 → auth and Header ACL; 404 → routing; 502 / 503 → upstream health; timeout → rate limit and cross-ocean; broken stream → buffering and SSE; OOM → config.
Error codes are normalized (cross-vendor error semantics unified), streaming passes through natively without buffering, and Token Ops logs are queryable and exportable.

## 5 levers that actually land
- z-request-id threads through the whole log — locate by id in one step
- Triage by symptom: 401 / 403 / 404 / 502 / 503 / timeout / broken stream / OOM
- Error-code normalization: cross-vendor error semantics unified to one vocabulary
- Native stream pass-through, no buffering, no breaking SSE or tool calling
- Token Ops logs queryable and exportable, wired into troubleshooting and reconciliation

## FAQ
### AI gateway streaming response stops streaming after the proxy?
A poor proxy buffers the stream. GateLLM passes streams through natively without buffering and does capability normalization, never breaking SSE or tool calling.

### How do I tell a rate-limit 429 from a quota-exceeded 429?
z-request-id end-to-end tracing plus error-code normalization distinguish rate-limit 429 from quota-exceeded 429 — triage by symptom instead of guessing.

- [Full how-to: Troubleshoot by symptom (docs)](https://docs.gatellm.io/en/usecases/troubleshooting)

## Related
- [Home](https://www.gatellm.io/index.md)
- [Pricing](https://www.gatellm.io/pricing.md)
- [Cost Calculator](https://www.gatellm.io/calculator.md)
- [About](https://www.gatellm.io/about.md)
- [Book a Demo](https://www.gatellm.io/demo.md)
- [FAQ](https://www.gatellm.io/faq.md)
- [Compare AI Gateways](https://www.gatellm.io/compare.md)
- [Compare LiteLLM](https://www.gatellm.io/compare/litellm.md)
- [Compare OpenRouter](https://www.gatellm.io/compare/openrouter.md)
- [Compare Alibaba Cloud AI Gateway](https://www.gatellm.io/compare/alibaba-cloud.md)
- [Compare Azure API Management](https://www.gatellm.io/compare/azure-apim.md)
- [Compare Apigee](https://www.gatellm.io/compare/apigee.md)
- [Compare Cloudflare AI Gateway](https://www.gatellm.io/compare/cloudflare.md)
- [Compare Kong AI Gateway](https://www.gatellm.io/compare/kong.md)
- [Compare Portkey](https://www.gatellm.io/compare/portkey.md)
- [LiteLLM vs Kong AI Gateway](https://www.gatellm.io/compare/litellm-vs-kong.md)
- [LiteLLM vs OpenRouter](https://www.gatellm.io/compare/litellm-vs-openrouter.md)
- [LiteLLM vs Portkey](https://www.gatellm.io/compare/litellm-vs-portkey.md)
- [Use Cases](https://www.gatellm.io/use-cases.md)
- [Reduce LLM Cost](https://www.gatellm.io/use-cases/reduce-cost.md)
- [High Availability](https://www.gatellm.io/use-cases/high-availability.md)
- [Multi-Tenant Isolation](https://www.gatellm.io/use-cases/multi-tenant.md)
- [Compliance & Audit](https://www.gatellm.io/use-cases/compliance-audit.md)
- [Mixed Multi-Vendor Model Stack](https://www.gatellm.io/use-cases/mixed-model-stack.md)
- [Self-Host AI Inside Office](https://www.gatellm.io/use-cases/self-hosted-office-ai.md)
- [Token Usage Visibility & Attribution](https://www.gatellm.io/use-cases/token-ops.md)
- [Token FinOps: AI Cost Allocation & Control](https://www.gatellm.io/use-cases/token-finops.md)
- [MCP Tool Governance](https://www.gatellm.io/use-cases/mcp-tool-governance.md)
- [Web Search for Every Model](https://www.gatellm.io/use-cases/web-search-grounding.md)
- [Multi-Key Rotation & Standby](https://www.gatellm.io/use-cases/multi-key-pooling.md)
- [Admission Control for Connected Clients](https://www.gatellm.io/use-cases/client-admission-control.md)
- [Enforce Which Model Agents Actually Run](https://www.gatellm.io/use-cases/enforce-model-policy.md)
- [No Model Choice on the Client](https://www.gatellm.io/use-cases/automatic-model-tiering.md)
- [One Protocol, Any Model](https://www.gatellm.io/use-cases/one-protocol-any-model.md)
- [Office / Microsoft 365 Add-in](https://www.gatellm.io/office-addin.md)
- [Glossary](https://www.gatellm.io/glossary.md)
- [Model Catalog](https://www.gatellm.io/models.md)
- [SDK & Framework Integrations](https://www.gatellm.io/integrations.md)
- [AI Coding Agents & Harnesses](https://www.gatellm.io/coding-agents.md)
- [Security & Compliance](https://www.gatellm.io/security.md)
- [Privacy Policy](https://www.gatellm.io/privacy-policy.md)
- [Terms of Service](https://www.gatellm.io/terms.md)
- [Cookie Policy](https://www.gatellm.io/cookies.md)
- [Data Processing Agreement (DPA)](https://www.gatellm.io/dpa.md)
- [Sub-processor List](https://www.gatellm.io/subprocessors.md)
- [Security Questionnaire (CAIQ/SIG/VSA)](https://www.gatellm.io/trust.md)
- [Incident Response & Support](https://www.gatellm.io/sla.md)
- [Vulnerability Disclosure Policy](https://www.gatellm.io/vulnerability-disclosure.md)
- [Open Source License Notice](https://www.gatellm.io/open-source-licenses.md)
- [Version Support & Lifecycle (EOL)](https://www.gatellm.io/lifecycle.md)
- [Engineering Blog](https://www.gatellm.io/blog.md)
- [Your Agents Have More Permissions Than Your Employees: Governing MCP Tools at the Gateway](https://www.gatellm.io/blog/mcp-tool-governance.md)
- [The $10k Invoice Problem: Five Ways to Cut LLM Spend Without Dumbing Down Your App](https://www.gatellm.io/blog/reduce-cost.md)
- [Your Vendor's List Price Is Not Your Cost: Applying Real FinOps to Token Spend](https://www.gatellm.io/blog/token-finops.md)
- [llms.txt](https://www.gatellm.io/llms.txt)
