Back in May, we released GraphQL error capturing in an open beta program. Through this program, GraphQL errors began populating in your Noibu environment, but without associated ARL. The purpose of this open beta was to let you get used to a new error type and update processes as we refined the grouping mechanism behind the scenes. Today, we're excited to announce the end of the open beta, and that Noibu will now calculate ARL for GraphQL errors.
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.