[erlang-questions] negative diference between two calls to now/0
Rodrigo Ahumada M.
rodahummont@REDACTED
Mon Feb 5 05:08:55 CET 2007
hi
i was writing a short erlang program to make a test for a sofware for a
friend. I wanted to test how many connections his server can handle per
second, and how long it takes to respond and serve.
so i made a program that launches N processes that tries to conect to
the server, send question and receive an answer. After that the process
send its results to a logger process and then terminates.
the code for each process is like this:
[...]
time_lapse({_MgS1, S1, MuS1}, {_MgS2, S2, MuS2}) ->
%% calculate the difference of msecs,
%% ignore the MegaSecs because always they're zero
T1 = S1*1000 + MuS1,
T2 = S2*1000 + MuS2,
T2 - T1.
client_proc(IP, Port, Timeout) ->
InitProc = now(), %% timestamp when the process started
case gen_tcp:connect(IP, Port, [list, {active, false}], Timeout) of
{ok, Socket} ->
InitCnx = now(), %% timestamp when the process could connect
gen_tcp:send(Socket, ?QUESTION),
case gen_tcp:recv(Socket, 0) of
{ok, _Answer} ->
EndCnx = now(), %% timestamp when the process received an
%% answer...
inet:close(Socket),
WaitedTime = time_lapse(InitProc, InitCnx),
ServedTime = time_lapse(InitCnx, EndCnx),
logger ! {success, WaitedTime, ServedTime};
{error, _Reason} ->
EndProc = now(), %% timestamp when the server connected but
%% close the conection before the answer
WaitedTime = time_lapse(InitProc, EndProc),
logger ! {failed, WaitedTime}
end;
{error, _Reason} ->
EndProc = now(), %% timestamp when the process gave up trying
%% to connect
WaitedTime = time_lapse(InitProc, EndProc),
logger ! {failed, WaitedTime}
end,
client_launcher ! {terminated, self()}.
[...]
th problem i'm having is some times time_lapse/2 gives me a negative
number, when calculating WaitedTime and ServedTime.
thanks for any help or idea.
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
More information about the erlang-questions
mailing list