@@ -10,7 +10,11 @@ class Query < GraphQL::Schema::Object
1010 query ( Query )
1111 use GraphQL ::Tracing ::DetailedTrace , memory : true
1212 def self . detailed_trace? ( query )
13- query . context [ :profile ] != false
13+ if query . is_a? ( GraphQL ::Execution ::Multiplex )
14+ query . queries . all? { |q | q . context [ :profile ] != false }
15+ else
16+ query . context [ :profile ] != false
17+ end
1418 end
1519 end
1620
@@ -48,4 +52,20 @@ def self.detailed_trace?(query)
4852 end
4953 assert_equal "Pass `redis: ...` to store traces in Redis for later review" , err . message
5054 end
55+
56+ it "calls detailed_profile? on a Multiplex" do
57+ assert_equal 0 , SamplerSchema . detailed_trace . traces . size
58+
59+ SamplerSchema . multiplex ( [
60+ { query : "{ truthy }" , context : { profile : false } } ,
61+ { query : "{ truthy }" , context : { profile : true } } ,
62+ ] )
63+ assert_equal 0 , SamplerSchema . detailed_trace . traces . size
64+
65+ SamplerSchema . multiplex ( [
66+ { query : "{ truthy }" , context : { profile : true } } ,
67+ { query : "{ truthy }" , context : { profile : true } } ,
68+ ] )
69+ assert_equal 1 , SamplerSchema . detailed_trace . traces . size
70+ end
5171end
0 commit comments