Module: GraphQL::Tracing::NewRelicTrace
  
  
  
  
  
  
  
  
  
      - Includes:
- PlatformTrace
    - Defined in:
- lib/graphql/tracing/new_relic_trace.rb
 
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  
  #platform_authorized_lazy, #platform_execute_field_lazy, #platform_resolve_type_lazy
  
    Instance Method Details
    
      
  
  
    #execute_query(query:)  ⇒ Object 
  
  
  
  
    | 
16
17
18
19
20
21
22
23
24 | # File 'lib/graphql/tracing/new_relic_trace.rb', line 16
def execute_query(query:)
  set_this_txn_name =  query.context[:set_new_relic_transaction_name]
  if set_this_txn_name == true || (set_this_txn_name.nil? && @set_transaction_name)
    NewRelic::Agent.set_transaction_name(transaction_name(query))
  end
  NewRelic::Agent::MethodTracerHelpers.trace_execution_scoped("GraphQL/execute") do
    super
  end
end | 
 
    
      
  
  
    #initialize(set_transaction_name: false, **_rest)  ⇒ Object 
  
  
  
  
    | 
11
12
13
14 | # File 'lib/graphql/tracing/new_relic_trace.rb', line 11
def initialize(set_transaction_name: false, **_rest)
  @set_transaction_name = set_transaction_name
  super
end | 
 
    
      
  
  
    | 
50
51
52
53
54 | # File 'lib/graphql/tracing/new_relic_trace.rb', line 50
def platform_authorized(platform_key)
  NewRelic::Agent::MethodTracerHelpers.trace_execution_scoped(platform_key) do
    yield
  end
end | 
 
    
      
  
  
    | 
66
67
68 | # File 'lib/graphql/tracing/new_relic_trace.rb', line 66
def platform_authorized_key(type)
  "GraphQL/Authorize/#{type.graphql_name}"
end | 
 
    
      
  
  
    | 
44
45
46
47
48 | # File 'lib/graphql/tracing/new_relic_trace.rb', line 44
def platform_execute_field(platform_key)
  NewRelic::Agent::MethodTracerHelpers.trace_execution_scoped(platform_key) do
    yield
  end
end | 
 
    
      
  
  
    | 
62
63
64 | # File 'lib/graphql/tracing/new_relic_trace.rb', line 62
def platform_field_key(field)
  "GraphQL/#{field.owner.graphql_name}/#{field.graphql_name}"
end | 
 
    
      
  
  
    | 
56
57
58
59
60 | # File 'lib/graphql/tracing/new_relic_trace.rb', line 56
def platform_resolve_type(platform_key)
  NewRelic::Agent::MethodTracerHelpers.trace_execution_scoped(platform_key) do
    yield
  end
end | 
 
    
      
  
  
    | 
70
71
72 | # File 'lib/graphql/tracing/new_relic_trace.rb', line 70
def platform_resolve_type_key(type)
  "GraphQL/ResolveType/#{type.graphql_name}"
end |