Module: GraphQL::Tracing::ScoutTrace
  
  
  
  
  
  
  
  
  
      - Includes:
 
      - PlatformTrace
 
  
  
  
  
  
  
    - Defined in:
 
    - lib/graphql/tracing/scout_trace.rb
 
  
  
 
Overview
  
    A tracer for sending GraphQL-Ruby times to Scout
   
 
  
    
      Constant Summary
      collapse
    
    
      
        - INSTRUMENT_OPTS =
          
        
 
        { scope: true } 
      
    
  
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  
  #platform_authorized_lazy, #platform_execute_field_lazy, #platform_resolve_type_lazy
  
    Instance Method Details
    
      
  
  
    #initialize(set_transaction_name: false, **_rest)  ⇒ Object 
  
  
  
  
    
      
21
22
23
24
25 
     | 
    
      # File 'lib/graphql/tracing/scout_trace.rb', line 21
def initialize(set_transaction_name: false, **_rest)
  self.class.include(ScoutApm::Tracer)
  @set_transaction_name = set_transaction_name
  super
end 
     | 
  
 
    
      
  
  
    
      
64
65
66 
     | 
    
      # File 'lib/graphql/tracing/scout_trace.rb', line 64
def platform_authorized(platform_key, &block)
  self.class.instrument("GraphQL", platform_key, INSTRUMENT_OPTS, &block)
end
     | 
  
 
    
      
  
  
    
      
74
75
76 
     | 
    
      # File 'lib/graphql/tracing/scout_trace.rb', line 74
def platform_authorized_key(type)
  "#{type.graphql_name}.authorized"
end
     | 
  
 
    
      
  
  
    rubocop:enable Development/NoEvalCop
   
 
  
  
    
      
60
61
62 
     | 
    
      # File 'lib/graphql/tracing/scout_trace.rb', line 60
def platform_execute_field(platform_key, &block)
  self.class.instrument("GraphQL", platform_key, INSTRUMENT_OPTS, &block)
end
     | 
  
 
    
      
  
  
    
      
70
71
72 
     | 
    
      # File 'lib/graphql/tracing/scout_trace.rb', line 70
def platform_field_key(field)
  field.path
end 
     | 
  
 
    
      
  
  
    
      
78
79
80 
     | 
    
      # File 'lib/graphql/tracing/scout_trace.rb', line 78
def platform_resolve_type_key(type)
  "#{type.graphql_name}.resolve_type"
end
     |