[Feature Request] Add support to register the OTEL graphQL tracer to a mode.
Currently, you can pass different schemas through the config to register the tracer. However, it's not currently feasible to register the tracer to a specific mode. This feature can be very handy if you aim to have a high-performance mode without any tracing and a separate trace mode for troubleshooting. In GraphQL code, this functionality is achieved by using trace_with, where you specify both the tracer module and the mode. For example:
::GraphQL::Schema.trace_with(Tracers::GraphQLTrace, mode: :otel_trace_mode)
Cc: @rmosolgo
It certainly sounds good to me... the line above is taken straight from the instrumentation's source:
https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/a5648173c25576c4a2d5083958eb5ff0e7092d45/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/instrumentation.rb#L90
I think it's just a question of interface. Do you want to expose some kind of option that gets threaded through OpenTelementry and eventually passed there? Or, expose the trace module as a public API and invite users to attach it to their schema however they want?
@alexus37 is on holiday so I can't speak for him but I think we don't need access to the entire trace module API at this point. Just having the option to configure a mode would be great.
@alexus37 is on holiday so I can't speak for him but I think we don't need access to the entire trace module API at this point. Just having the option to configure a mode would be great.
I would agree with this too :)
👋 This issue has been marked as stale because it has been open with no activity. You can: comment on the issue or remove the stale label to hold stale off for a while, add the keep label to hold stale off permanently, or do nothing. If you do nothing this issue will be closed eventually by the stale bot.
@alexus37 - What do you think about @rmosolgo's question above?
https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues/1126#issuecomment-2299774561
Do you want to expose some kind of option that gets threaded through OpenTelementry and eventually passed there?
I believe that if I could pass the mode parameter to take advantage of trace modes, it would definitely resolve my issue.
👋 This issue has been marked as stale because it has been open with no activity. You can: comment on the issue or remove the stale label to hold stale off for a while, add the keep label to hold stale off permanently, or do nothing. If you do nothing this issue will be closed eventually by the stale bot.