Concurrency and Modules
Client and Server Threads
Replay one Ruby execution where a client request loads a server helper file.
Project Entry
request_client.rb
command =
label = command
if command == "ping"
label = "health"
elsif command == "count"
label = "metrics"
end
require_relative "request_server"
response = handle_request(command)
ticket = 40 + command.length
puts "label=#{label}"
puts "ticket=#{ticket}"
puts response
command =
label = command
if command == "ping"
label = "health"
elsif command == "count"
label = "metrics"
end
require_relative "request_server"
response = handle_request(command)
ticket = 40 + command.length
puts "label=#{label}"
puts "ticket=#{ticket}"
puts response
command =
label = command
if command == "ping"
label = "health"
elsif command == "count"
label = "metrics"
end
require_relative "request_server"
response = handle_request(command)
ticket = 40 + command.length
puts "label=#{label}"
puts "ticket=#{ticket}"
puts response
file panels
When an example has more than one source file, replay keeps each file in its own panel while preserving one ordered trace stream. The Variables panel follows the actual `require_relative` load into the server file and the returned response back to the client.
boundary
The client owns the selected command and visible output. The server owns the response rule for that command.