🐛 Fixes
Set a valid GraphQL response for websocket handshake response (PR #7680)
Since this PR we added more checks on graphql response returned by coprocessors to be compliant with GraphQL specs. When it's a subscription using websocket it was not returning any data and so was not a correct GraphQL response payload. This is a fix to always return valid GraphQL response when doing the websocket handshake.
Spans should only include path in http.route
(PR #7405)
Per the OpenTelemetry spec, the http.route
should only include "the matched route, that is, the path template used in the format used by the respective server framework."
The router currently sends the full URI in http.route
, which can be high cardinality (ie /graphql?operation=one_of_many_values
). After this change, the router will only include the path (/graphql
).
By @carodewig in #7405
🔍 Debuggability
Add graphql.operation.name
attribute to apollo.router.opened.subscriptions
counter (PR #7606)
The apollo.router.opened.subscriptions
metric has an graphql.operation.name
attribute applied to identify the named operation of subscriptions which are still open.