class OpenTelemetry::Instrumentation::GraphQL::Instrumentation

The Instrumentation class contains logic to detect and install the GraphQL instrumentation

Private Instance Methods

install_tracer(config = {}) click to toggle source
# File lib/opentelemetry/instrumentation/graphql/instrumentation.rb, line 48
def install_tracer(config = {})
  if config[:schemas].empty?
    ::GraphQL::Schema.tracer(Tracers::GraphQLTracer.new)
  else
    config[:schemas].each do |schema|
      schema.use(Tracers::GraphQLTracer)
    rescue StandardError => e
      OpenTelemetry.logger.error("Unable to patch schema #{schema}: #{e.message}")
    end
  end
end
require_dependencies() click to toggle source
# File lib/opentelemetry/instrumentation/graphql/instrumentation.rb, line 44
def require_dependencies
  require_relative 'tracers/graphql_tracer'
end