Skip to content

Commit

Permalink
Remove trace-related Backtrace code
Browse files Browse the repository at this point in the history
  • Loading branch information
rmosolgo committed Jan 28, 2025
1 parent b001c11 commit f7e8606
Show file tree
Hide file tree
Showing 7 changed files with 3 additions and 212 deletions.
2 changes: 0 additions & 2 deletions lib/graphql/backtrace.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
require "graphql/backtrace/inspect_result"
require "graphql/backtrace/table"
require "graphql/backtrace/traced_error"
require "graphql/backtrace/tracer"
require "graphql/backtrace/trace"
module GraphQL
# Wrap unhandled errors with {TracedError}.
#
Expand Down
93 changes: 0 additions & 93 deletions lib/graphql/backtrace/trace.rb

This file was deleted.

80 changes: 0 additions & 80 deletions lib/graphql/backtrace/tracer.rb

This file was deleted.

4 changes: 0 additions & 4 deletions lib/graphql/execution/multiplex.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@ def initialize(schema:, queries:, context:, max_complexity:)
@current_trace = @context[:trace] || schema.new_trace(multiplex: self)
@dataloader = @context[:dataloader] ||= @schema.dataloader_class.new
@tracers = schema.tracers + (context[:tracers] || [])
# Support `context: {backtrace: true}`
if context[:backtrace] && !@tracers.include?(GraphQL::Backtrace::Tracer)
@tracers << GraphQL::Backtrace::Tracer
end
@max_complexity = max_complexity
end
end
Expand Down
8 changes: 0 additions & 8 deletions lib/graphql/query.rb
Original file line number Diff line number Diff line change
Expand Up @@ -127,14 +127,6 @@ def initialize(schema, query_string = nil, query: nil, document: nil, context: n
context_tracers = (context ? context.fetch(:tracers, []) : [])
@tracers = schema.tracers + context_tracers

# Support `ctx[:backtrace] = true` for wrapping backtraces
if context && context[:backtrace] && !@tracers.include?(GraphQL::Backtrace::Tracer)
if schema.trace_class <= GraphQL::Tracing::CallLegacyTracers
context_tracers += [GraphQL::Backtrace::Tracer]
@tracers << GraphQL::Backtrace::Tracer
end
end

if !context_tracers.empty? && !(schema.trace_class <= GraphQL::Tracing::CallLegacyTracers)
raise ArgumentError, "context[:tracers] are not supported without `trace_with(GraphQL::Tracing::CallLegacyTracers)` in the schema configuration, please add it."
end
Expand Down
26 changes: 2 additions & 24 deletions lib/graphql/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -167,9 +167,6 @@ def trace_class(new_class = nil)
mods.each { |mod| new_class.include(mod) }
new_class.include(DefaultTraceClass)
trace_mode(:default, new_class)
backtrace_class = Class.new(new_class)
backtrace_class.include(GraphQL::Backtrace::Trace)
trace_mode(:default_backtrace, backtrace_class)
end
trace_class_for(:default, build: true)
end
Expand Down Expand Up @@ -216,11 +213,6 @@ def build_trace_mode(mode)
const_set(:DefaultTrace, Class.new(base_class) do
include DefaultTraceClass
end)
when :default_backtrace
schema_base_class = trace_class_for(:default, build: true)
const_set(:DefaultTraceBacktrace, Class.new(schema_base_class) do
include(GraphQL::Backtrace::Trace)
end)
else
# First, see if the superclass has a custom-defined class for this.
# Then, if it doesn't, use this class's default trace
Expand Down Expand Up @@ -1455,22 +1447,8 @@ def new_trace(mode: nil, **options)
target = options[:query] || options[:multiplex]
mode ||= target && target.context[:trace_mode]

trace_mode = if mode
mode
elsif target && target.context[:backtrace]
if default_trace_mode != :default
raise ArgumentError, "Can't use `context[:backtrace]` with a custom default trace mode (`#{dm.inspect}`)"
else
own_trace_modes[:default_backtrace] ||= build_trace_mode(:default_backtrace)
options_trace_mode = :default
:default_backtrace
end
else
default_trace_mode
end

options_trace_mode ||= trace_mode
base_trace_options = trace_options_for(options_trace_mode)
trace_mode = mode || default_trace_mode
base_trace_options = trace_options_for(trace_mode)
trace_options = base_trace_options.merge(options)
trace_class_for_mode = trace_class_for(trace_mode, build: true)
trace_class_for_mode.new(**trace_options)
Expand Down
2 changes: 1 addition & 1 deletion lib/graphql/tracing/trace.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ module Tracing
# "Trace modes" are subclasses of this with custom tracing modules mixed in.
#
# A trace module may implement any of the methods on `Trace`, being sure to call `super`
# to continue any tracing hooks and call the actual runtime behavior. See {GraphQL::Backtrace::Trace} for example.
# to continue any tracing hooks and call the actual runtime behavior.
#
class Trace
# @param multiplex [GraphQL::Execution::Multiplex, nil]
Expand Down

0 comments on commit f7e8606

Please sign in to comment.