tags: #publish
links: [[GraphQL]], [[SRE and DevOps]]
created: 2020-09-23 Wed
related: [[GraphQL makes caching hard and has bad worst-case latency]]
---
# GraphQL is hard to monitor
Because it's an aggregation API: the standard is to return 200 when query is valid, and return errors from specific sub-datasources as text within the response. So you can't usefully monitor HTTP error codes.
You also have a wide variety of queries being run through a single endpoint URL, which means average/max latency doesn't mean anything - different queries are of very different sizes and hit different backend data sources.