Class: GraphQL::Tracing::PrometheusTracing
  
  
  
  
  
    - Inherits:
- 
      PlatformTracing
      
        
        show all
      
    
    - Defined in:
- lib/graphql/tracing/prometheus_tracing.rb,
 lib/graphql/tracing/prometheus_tracing/graphql_collector.rb
 
Defined Under Namespace
  
    
  
    
      Classes: GraphQLCollector
    
  
  
    
      Constant Summary
      collapse
    
    
      
        - DEFAULT_WHITELIST =
          
        
- ['execute_field', 'execute_field_lazy'].freeze 
- DEFAULT_COLLECTOR_TYPE =
          
        
- 'graphql'.freeze 
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  
  #trace, use
  Constructor Details
  
    
  
  
    Returns a new instance of PrometheusTracing.
   
 
  
  
    | 
22
23
24
25
26
27
28 | # File 'lib/graphql/tracing/prometheus_tracing.rb', line 22
def initialize(opts = {})
  @client = opts[:client] || PrometheusExporter::Client.default
  @keys_whitelist = opts[:keys_whitelist] || DEFAULT_WHITELIST
  @collector_type = opts[:collector_type] || DEFAULT_COLLECTOR_TYPE
  super opts
end | 
 
  
 
  
    Instance Method Details
    
      
  
  
    | 
39
40
41 | # File 'lib/graphql/tracing/prometheus_tracing.rb', line 39
def platform_authorized_key(type)
  "#{type.graphql_name}.authorized"
end | 
 
    
      
  
  
    | 
35
36
37 | # File 'lib/graphql/tracing/prometheus_tracing.rb', line 35
def platform_field_key(type, field)
  "#{type.graphql_name}.#{field.graphql_name}"
end | 
 
    
      
  
  
    | 
43
44
45 | # File 'lib/graphql/tracing/prometheus_tracing.rb', line 43
def platform_resolve_type_key(type)
  "#{type.graphql_name}.resolve_type"
end | 
 
    
      
  
  
    | 
30
31
32
33 | # File 'lib/graphql/tracing/prometheus_tracing.rb', line 30
def platform_trace(platform_key, key, _data, &block)
  return yield unless @keys_whitelist.include?(key)
  instrument_execution(platform_key, key, &block)
end |