Module: GraphQL::Tracing::SentryTrace
- Includes:
- PlatformTrace
- Defined in:
- lib/graphql/tracing/sentry_trace.rb
Overview
A tracer for reporting GraphQL-Ruby times to Sentry.
Instance Method Summary collapse
-
#execute_query(**data) ⇒ Object
-
#initialize(set_transaction_name: false, **_rest) ⇒ Object
-
#platform_authorized(platform_key, &block) ⇒ Object
-
#platform_authorized_key(type) ⇒ Object
-
#platform_authorized_lazy(platform_key, &block) ⇒ Object
-
#platform_execute_field(platform_key, &block) ⇒ Object
-
#platform_execute_field_lazy(platform_key, &block) ⇒ Object
-
#platform_field_key(field) ⇒ Object
-
#platform_resolve_type(platform_key, &block) ⇒ Object
-
#platform_resolve_type_key(type) ⇒ Object
-
#platform_resolve_type_lazy(platform_key, &block) ⇒ Object
Instance Method Details
#execute_query(**data) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 23 def execute_query(**data) set_this_txn_name = data[:query].context[:set_sentry_transaction_name] if set_this_txn_name == true || (set_this_txn_name.nil? && @set_transaction_name) Sentry.configure_scope do |scope| scope.set_transaction_name(transaction_name(data[:query])) end end instrument_sentry_execution("graphql.execute", "execute_query", data) { super } end |
#initialize(set_transaction_name: false, **_rest) ⇒ Object
18 19 20 21 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 18 def initialize(set_transaction_name: false, **_rest) @set_transaction_name = set_transaction_name super end |
#platform_authorized(platform_key, &block) ⇒ Object
57 58 59 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 57 def (platform_key, &block) instrument_sentry_execution(platform_key, "authorized", &block) end |
#platform_authorized_key(type) ⇒ Object
77 78 79 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 77 def (type) "graphql.authorized.#{type.graphql_name}" end |
#platform_authorized_lazy(platform_key, &block) ⇒ Object
61 62 63 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 61 def (platform_key, &block) instrument_sentry_execution(platform_key, "authorized_lazy", &block) end |
#platform_execute_field(platform_key, &block) ⇒ Object
49 50 51 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 49 def platform_execute_field(platform_key, &block) instrument_sentry_execution(platform_key, "execute_field", &block) end |
#platform_execute_field_lazy(platform_key, &block) ⇒ Object
53 54 55 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 53 def platform_execute_field_lazy(platform_key, &block) instrument_sentry_execution(platform_key, "execute_field_lazy", &block) end |
#platform_field_key(field) ⇒ Object
73 74 75 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 73 def platform_field_key(field) "graphql.field.#{field.path}" end |
#platform_resolve_type(platform_key, &block) ⇒ Object
65 66 67 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 65 def platform_resolve_type(platform_key, &block) instrument_sentry_execution(platform_key, "resolve_type", &block) end |
#platform_resolve_type_key(type) ⇒ Object
81 82 83 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 81 def platform_resolve_type_key(type) "graphql.resolve_type.#{type.graphql_name}" end |
#platform_resolve_type_lazy(platform_key, &block) ⇒ Object
69 70 71 |
# File 'lib/graphql/tracing/sentry_trace.rb', line 69 def platform_resolve_type_lazy(platform_key, &block) instrument_sentry_execution(platform_key, "resolve_type_lazy", &block) end |