Hi all,<br><br>I've been trying to load test a function in my code. The way I'm doing it is to generate lists of the data I want to process, start a process for each list and calculate runtime for each process. The function that I implemented will call a WebService operation in a different host for each data.
<br><br>I have the code below for this test. what I do is basically run load_test(10, 1000) to generate 10 lists, each with 1000 data in it.<br><br>The problem is that WebService call is done successfully but I don't get any output for the statistics. When I run the code sequentially (
i.e. instead of spawn the call to run_process, I call run_process directly) I get the output with no issues. Is there something that I missed in the code below? I appreciate your help.<br><br>Best regards,<br><br>Ahmed Al-Issaei
<br><br>run_process(Num, Fun, List, _Pid) -><br> statistics(wall_clock),<br> io:format("load testing process~n"),<br> lists:map(Fun, List),<br> {_, Time2} = statistics(wall_clock),<br> U2 = Time2 / 1000,
<br> io:format("Num (~s) done: total time = ~p~n",[Num, U2]).<br><br>start(_N, _Op, [], _Pid) -><br> true;<br>start(Num, Op, Final, Pid) -><br> [Head | Rest] = Final,<br> spawn(?MODULE, run_process, [Num, Op, Head, Pid]),
<br> start(Num-1, Op, Rest, Pid).<br><br>load_test(Threads, Size) -><br> List = generate_lists(Threads, Size, []),<br> Op = fun(X) -> call_ws_create(X) end,<br> start(Threads, Op, List, self()).<br><br>