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
|