193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
# File 'src/ruby/pb/test/xds_client.rb', line 193
def execute_rpc_in_thread(op, rpc)
Thread.new {
rpc_stats_key = rpc.to_s
remote_peer = ""
begin
op.execute
if op.metadata.key?('hostname')
remote_peer = op.metadata['hostname']
end
$accumulated_stats_mu.synchronize do
$num_rpcs_succeeded_by_method[rpc_stats_key] += 1
$accumulated_method_stats[rpc_stats_key].add_result(0)
end
rescue GRPC::BadStatus => e
$accumulated_stats_mu.synchronize do
$num_rpcs_failed_by_method[rpc_stats_key] += 1
$accumulated_method_stats[rpc_stats_key].add_result(e.code)
end
end
$thread_results_mu.synchronize do
$thread_results << [rpc, remote_peer]
end
}
end
|