rmosolgo / rmosolgo/graphql-ruby
Accept Distributed Trace Headers From New Relic
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 5.4k
- Forks
- 1.4k
- Avg merge
- 23h 19m
- Merged PRs (30d)
- 28
Description
Is your feature request related to a problem? Please describe.
Our team is utilizing GraphQL-Ruby for a subgraph within an Apollo Federated Supergraph. To achieve comprehensive observability, we're relying on New Relic Distributed Tracing to monitor how requests flow through our various services within the supergraph.
However, we've encountered a roadblock: New Relic tracing currently doesn't accept traceparent or tracestate headers, which limits our ability to achieve the desired level of observability.
Describe the solution you'd like
It would be great if enabling New Relic tracing in GraphQL-Ruby would automatically support distributed tracing, provided it's activated in the project's newrelic.yml configuration file. This feature would streamline our observability efforts without requiring additional effort.
Describe alternatives you've considered
I'm exploring the possibility of extending the GraphQL::Tracing::NewRelicTrace module to add this support. However, this approach is proving to be complex and time-consuming.
Additional context
None
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the GraphQL::Tracing::NewRelicTrace module and the project's newrelic.yml configuration. Trace how New Relic tracing is enabled and determine where traceparent and tracestate headers would be accepted; done means distributed tracing works when the relevant configuration is enabled, with coverage for that behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, ruby
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100