Open Beta Note: GraphQL error capturing is still in development, but we’ve decided to release the feature early to help you get used to managing a new error type in the Noibu console, and update your processes accordingly. While the feature is in the open beta stage, Noibu will not calculate ARL for GraphQL errors. This leaves space for us to better understand grouping issues and prevents the Noibu console from over- or under-inflating ARL values.
Once we refine our issue grouping mechanism, we will enable ARL calculations.
We’re excited to announce that we’ve expanded the NoibuJS script to capture and display GraphQL errors.
We’ve seen an increasing usage of GraphQL among eCommerce websites, so much so that many major vendors like Shopify have started providing their customers with GraphQL APIs. While the use of GraphQL simplifies data retrieval, it may introduce new processing errors that, until now, have escaped capture on the Noibu console.
What is GraphQL?
GraphQL is a query language and server-side runtime for application programming interfaces (APIs) that prioritizes giving clients exactly the data they request and no more. Because of this specificity, GraphQL make it easy for the client to aggregate data from multiple sources and retrieve a lot of disparate data quickly.
GraphQL uses HTTP requests to make calls from the front-end of your Web Application to the back-end. When a GraphQL query encounters an error during processing, it does not return a normal HTTP 500+ response code. Instead, it returns an error object in the response payload. This means that, to date, Noibu’s HTTP error codes have not captured most GraphQL errors.
Enabling GraphQL Error Capturing
To capture GQL errors, you must enable HTTP data collection through the Domains module. By default, this will surface GQL data in headers. We recommend also enabling HTTP Payload & Response collection to pull a wider breadth of data.
Note: GQL errors will only appear for sessions collected once HTTP data collection is enabled. Enabling this feature will not retroactively add GQL data to older sessions.
Notes & Limitations
- GraphQL error capturing is most effective when the NoibuJS script is deployed to your website’s
headtag. If the script is deployed elsewhere–like the
bodytag–Noibu may struggle to collect GraphQL errors.
- GraphQL error capturing works in cases where the web URL contains
graphqland returns JSON data, or references GraphQL servers that return GraphQL data. It does NOT work if the URL does not contain
graphqlor return the appropriate content type.