Class: GraphQL::Tracing::SkylightTracing
- Inherits:
 - 
      PlatformTracing
      
        
- Object
 - PlatformTracing
 - GraphQL::Tracing::SkylightTracing
 
 
- Defined in:
 - lib/graphql/tracing/skylight_tracing.rb
 
Instance Method Summary collapse
- 
  
    
      #initialize(options = {})  ⇒ SkylightTracing 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of SkylightTracing.
 - 
  
    
      #platform_field_key(type, field)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      #platform_trace(platform_key, key, data)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 
Methods inherited from PlatformTracing
#instrument, #trace, #trace_field, use
Constructor Details
#initialize(options = {}) ⇒ SkylightTracing
Returns a new instance of SkylightTracing
      20 21 22 23  | 
    
      # File 'lib/graphql/tracing/skylight_tracing.rb', line 20 def initialize( = {}) @set_endpoint_name = .fetch(:set_endpoint_name, false) super end  | 
  
Instance Method Details
#platform_field_key(type, field) ⇒ Object
      56 57 58  | 
    
      # File 'lib/graphql/tracing/skylight_tracing.rb', line 56 def platform_field_key(type, field) "graphql.#{type.graphql_name}.#{field.graphql_name}" end  | 
  
#platform_trace(platform_key, key, data) ⇒ Object
      25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54  | 
    
      # File 'lib/graphql/tracing/skylight_tracing.rb', line 25 def platform_trace(platform_key, key, data) if key == "execute_query" query = data[:query] title = query.selected_operation_name || "<anonymous>" category = platform_key set_endpoint_name_override = query.context[:set_skylight_endpoint_name] if set_endpoint_name_override == true || (set_endpoint_name_override.nil? && @set_endpoint_name) # Assign the endpoint so that queries will be grouped instrumenter = Skylight.instrumenter if instrumenter current_trace = instrumenter.current_trace if current_trace op_type = query.selected_operation ? query.selected_operation.operation_type : "query" endpoint = "GraphQL/#{op_type}.#{title}" current_trace.endpoint = endpoint end end end elsif key.start_with?("execute_field") title = platform_key category = key else title = key category = platform_key end Skylight.instrument(category: category, title: title) do yield end end  |