Support for Subscription and Incremental Delivery Usage Reporting (Defer/Stream)

Laurin Quast

We are happy to announce that we now support reporting usage for GraphQL Subscription operations and GraphQL Operations via the incremental delivery protocol with the Hive Client SDK.

That means the usage of your Subscription operations (executed via GraphQL over WebSocket or GraphQL over HTTP) and the usage of @defer/@stream GraphQL operations are now being used for determining conditional breaking changes in schema checks and schema publishes.

For our JavaScript/TypeScript users: To benefit from this feature, you need to update your Hive Client SDK to at least version 0.30.0.

We also updated the usage reporting recipes for GraphQL Yoga and Apollo Server for the recommended GraphQL over HTTP, GraphQL over SSE, and GraphQL over WebSocket (via graphql-ws) setup.

For Apollo Router users: If you need Subscription Usage Reporting via Apollo Router, please reach out to us and we can figure out what might be possible. As an alternative, we are currently working on an alternative Rust Gateway that will support these features in the future. Please follow the following GitHub issue for updates: Conductor GraphQL Subscription Support, Hive Usage Reporting

Other Gateway/SDK users: We updated the API specification for usage reporting. Please adjust your custom implementation accordingly to report the usage of GraphQL Subscription operations.

Additional Note: We are currently only collecting the usage of GraphQL Subscription operations. We are now evaluating what additional metrics might be relevant for the Subscription analytics. If you are interested, please contact us via our shared Slack channels or publicly via this GitHub issue.

This was a highly requested feature and we are happy to finally provide it and make adjustments around types used by Subscription operations safer for everyone. Thank you for your patience!