class Skylight::Core::Probes::GraphQL::Probe

Public Instance Methods

install() click to toggle source
# File lib/skylight/core/probes/graphql.rb, line 19
def install
  tracing_klass_name = "::GraphQL::Tracing::ActiveSupportNotificationsTracing"
  klasses_to_probe = %w(
    ::GraphQL::Execution::Multiplex
    ::GraphQL::Query
  )

  return unless ([tracing_klass_name] + klasses_to_probe).all?(&method(:safe_constantize))

  klasses_to_probe.each do |klass_name|
    safe_constantize(klass_name).prepend(Instrumentation)
  end
end
safe_constantize(klass_name) click to toggle source
# File lib/skylight/core/probes/graphql.rb, line 33
def safe_constantize(klass_name)
  Skylight::Core::Util::Inflector.safe_constantize(klass_name)
end