69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/graphql/tracing/detailed_trace.rb', line 69
def self.use(schema, trace_mode: :profile_sample, memory: false, debug: debug?, redis: nil, limit: nil, model_class: nil)
storage = if redis
RedisBackend.new(redis: redis, limit: limit)
elsif memory
MemoryBackend.new(limit: limit)
elsif defined?(ActiveRecord)
ActiveRecordBackend.new(limit: limit, model_class: model_class)
else
raise ArgumentError, "To store traces, install ActiveRecord or provide `redis: ...`"
end
detailed_trace = self.new(storage: storage, trace_mode: trace_mode, debug: debug)
schema.detailed_trace = detailed_trace
schema.trace_with(PerfettoTrace, mode: trace_mode, save_profile: true)
end
|