<div dir="ltr"><div>That did the trick, I changed the function which I was profiling and everything worked like charm :) Cheers<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Jan 19, 2014 at 10:22 PM,  <span dir="ltr"><<a href="mailto:H.Li@kent.ac.uk" target="_blank">H.Li@kent.ac.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Tyron,<br>
<br>
Percept2 monitors both types of communications (via explicit message<br>
passing and the gen_server:call/2). The reason that you got only one<br>
message send/receive is that the 'start_link' function you profiled<br>
returned immediately after the gen_server has been started, so the process<br>
you saw was the process that started the gen_server process, not the<br>
gen_server process itself.<br>
<br>
Kind Regards,<br>
Huiqing<br>
<div><div class="h5"><br>
> Hi all,<br>
><br>
>     I am trying to use Percept2 to find out the communication overhead of<br>
> a<br>
> gen_server process. However, when I'm analyzing the "*.dat" generated I'm<br>
> only finding the following for my gen_server process (code below):<br>
> msgs_recv = 1<br>
> avg_size_msgs_recv = 18<br>
> msgs_sent = 1<br>
> avg_size_msgs_sent = 72<br>
><br>
> We are communicating with this server both via messages (ServerPid !<br>
> {test}) and the gen_server:call/2<br>
><br>
> Are we missing something here? Shouldn't the request/ replies be recorded<br>
> as msgs?<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> %%  gen_server code<br>
> -module(test_percept_1).<br>
><br>
> -behaviour(gen_server).<br>
><br>
> -define(SERVER, ?MODULE).<br>
><br>
> -export([<br>
> init/1,<br>
> handle_call/3,<br>
> start_link/0,<br>
> handle_info/2 ,<br>
>         .....<br>
> ]).<br>
><br>
> start_profiling() -><br>
> percept2:profile("data.dat", {test_percept_1,start_link, []},[all]).<br>
> stop_profiling() -><br>
> percept2:stop().<br>
> start_link() -><br>
> case gen_server:start_link({local, ?SERVER}, ?SERVER, [], []) of<br>
> {ok, Pid} -><br>
> io:format("Gen_server started: ~p on node: ~p. ~n",[Pid,node()]),<br>
> {ok,Pid};<br>
> Other -><br>
> io:format("Error starting ~p: ~p. ~n",[?SERVER,Other]),<br>
> {error, Other}<br>
>     end.<br>
> init([]) -> {ok,[]}.<br>
><br>
> ....<br>
><br>
> handle_call({test},_From,State)-><br>
> {reply,"This is a test string",State}.<br>
><br>
> .....<br>
> handle_info(_, State) -><br>
> {noreply,state}.<br>
><br>
> .....<br>
><br>
><br>
><br>
> --<br>
> Best Regards,<br>
> Tyron Zerafa<br>
</div></div>> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
><br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Best Regards,<div>Tyron Zerafa</div>
</div>