Class: ScoutApm::Instruments::GraphQL

Inherits:
Object
  • Object
show all
Defined in:
lib/scout_apm/instruments/graphql.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ GraphQL

Returns a new instance of GraphQL.



8
9
10
11
# File 'lib/scout_apm/instruments/graphql.rb', line 8

def initialize(context)
  @context = context
  @installed = false
end

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context.



6
7
8
# File 'lib/scout_apm/instruments/graphql.rb', line 6

def context
  @context
end

Instance Method Details

#install(prepend: false) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/scout_apm/instruments/graphql.rb', line 21

def install(prepend: false)
  return unless defined?(::GraphQL::Tracing::ScoutTrace)

  @installed = true
  logger.info "Instrumenting GraphQL::Tracing::ScoutTrace"
  ::GraphQL::Tracing::ScoutTrace.prepend(ScoutApm::Instruments::GraphQLExecuteFieldGuard)
end

#installed?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/scout_apm/instruments/graphql.rb', line 17

def installed?
  @installed
end

#loggerObject



13
14
15
# File 'lib/scout_apm/instruments/graphql.rb', line 13

def logger
  context.logger
end