>
See section &quot;CUSTOMIZING LOGFILES&quot; in mpich2-xxx/src/mpe2/README.<br>Correct me if I am wrong : <br>Since I am dealing with PERUSE events, whenever such an event occurs, a PERUSE function, defined in &lt;mpich-dir&gt;/src/peruse/peruse.c, is invoked by the MPI library. I am trying to get this event displayed in the jumpshot output. For this to be done, I need to define a wrapper function which gets invoked when a PERUSE event occurs, to log the event and then to call the actuall peruse function, which is similar to the way the wrapper function at log_mpi_core.c is called, when MPI_Init is called. <br>
<br>Could you please clarify on the dynamic mapping? <br>I took a look at the documentation at src/util/multichannel/mpi.c. I think, I understood what is going on in LoadFunctions() and the way the function pointers are assigned addresses depending the dll that is being used. <br>
<br>Krishna Chaitanya K<br><br><div class="gmail_quote">On Sun, Mar 23, 2008 at 12:59 PM, Anthony Chan &lt;<a href="mailto:chan@mcs.anl.gov">chan@mcs.anl.gov</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
See section &quot;CUSTOMIZING LOGFILES&quot; in mpich2-xxx/src/mpe2/README.<br>
You don&#39;t need to modify MPE libraries.<br>
<br>
A.Chan<br>
<div><div></div><div class="Wj3C7c"><br>
On Sun, 23 Mar 2008, Krishna Chaitanya wrote:<br>
<br>
&gt; I have modified the mpe library to log the events that I am interested in<br>
&gt; monitoring. But, I am bit hazy about how a function like MPI_Init is<br>
&gt; actually linked to the MPI_Init routine in the file log_mpi_core.c when we<br>
&gt; compile the MPI application with the -mpe=mpilog switch. Could someone point<br>
&gt; me to the routine that takes care of such a mapping?<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Krishna Chaitanya K<br>
&gt;<br>
&gt; On Sat, Mar 22, 2008 at 3:01 AM, Krishna Chaitanya &lt;<a href="mailto:kris.c1986@gmail.com">kris.c1986@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;<br>
&gt;&gt; Thanks a lot. I installed the latest jdk version and I am now able to look<br>
&gt;&gt; at the jumpshot output.<br>
&gt;&gt;<br>
&gt;&gt; Krishna Chaitanya K<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Sat, Mar 22, 2008 at 1:45 AM, Anthony Chan &lt;<a href="mailto:chan@mcs.anl.gov">chan@mcs.anl.gov</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The error that you showed earlier does not suggest the problem is with<br>
&gt;&gt;&gt; running jumpshot on your machine with limited memory. &nbsp;If your clog2<br>
&gt;&gt;&gt; file<br>
&gt;&gt;&gt; isn&#39;t too bad, send it to me.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Fri, 21 Mar 2008, Krishna Chaitanya wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I resolved that issue.<br>
&gt;&gt;&gt;&gt; My comp ( Intel centrino 32 bit , 256 MB RAM - Dated, I agree) hangs<br>
&gt;&gt;&gt; each<br>
&gt;&gt;&gt;&gt; time I launch jumpshot with the slogfile. Since this is an independent<br>
&gt;&gt;&gt;&gt; project, I am constrained when it comes to the availability of<br>
&gt;&gt;&gt; machines.<br>
&gt;&gt;&gt;&gt; Would you recommend that I give it a try on a 64bit AMD, 512MB RAM? (<br>
&gt;&gt;&gt; Will<br>
&gt;&gt;&gt;&gt; have to start from installing linux on this machine. Is it worth the<br>
&gt;&gt;&gt; effort<br>
&gt;&gt;&gt;&gt; ?) If it requires higher configuration, would you please suggest a<br>
&gt;&gt;&gt; lighter<br>
&gt;&gt;&gt;&gt; graphical tool that I can use to present the &nbsp;occurrence of events and<br>
&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; corresponding times?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt;&gt; Krishna Chaitanya K<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Fri, Mar 21, 2008 at 8:23 PM, Anthony Chan &lt;<a href="mailto:chan@mcs.anl.gov">chan@mcs.anl.gov</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Fri, 21 Mar 2008, Krishna Chaitanya wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; The file block pointer to the Tree Directory is NOT initialized!,<br>
&gt;&gt;&gt; can&#39;t<br>
&gt;&gt;&gt;&gt;&gt; read<br>
&gt;&gt;&gt;&gt;&gt;&gt; it.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; That means the slog2 file isn&#39;t generated completely. &nbsp;Something went<br>
&gt;&gt;&gt;&gt;&gt; wrong in the convertion process (assuming your clog2 file is<br>
&gt;&gt;&gt; complete).<br>
&gt;&gt;&gt;&gt;&gt; If your MPI program doesn&#39;t finish MPI_Finalize normally, your clog2<br>
&gt;&gt;&gt;&gt;&gt; file will be incomplete.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; IS there any environment variable that needs to be<br>
&gt;&gt;&gt; initialsed?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Nothing needs to be initialized by hand.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; A.Chan<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt;&gt;&gt;&gt; Krishna Chaitanya K<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Thu, Mar 20, 2008 at 4:56 PM, Dave Goodell &lt;<a href="mailto:goodell@mcs.anl.gov">goodell@mcs.anl.gov</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; It&#39;s pretty hard to debug this issue via email. &nbsp;However, you could<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; try running valgrind on your modified MPICH2 to see if any obvious<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; bugs pop out. &nbsp;When you do, make sure that you configure with &quot;--<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; enable-g=dbg,meminit&quot; in order to avoid spurious warnings and to be<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; able to see stack traces.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; -Dave<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Mar 19, 2008, at 1:05 PM, Krishna Chaitanya wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; The problem seems to be with the communicator in MPI_Bcast()<br>
&gt;&gt;&gt; (/src/<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; mpi/coll/bcast.c).<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; The comm_ptr is initialized to NULL and after a call to<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; MPID_Comm_get_ptr( comm, comm_ptr ); , the comm_ptr points to the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; communicator object which was created throught MPI_Init().<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; However, &nbsp;MPID_Comm_valid_ptr( comm_ptr, mpi_errno ) returns with<br>
&gt;&gt;&gt; a<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; value other than MPI_SUCCESS.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; During some traces, it used to crash at this point itself. On some<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; other traces, it used to go into the progress engine as I<br>
&gt;&gt;&gt; described<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; in my previous mails.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; What could be the reason? Hope someone chips in. I havent been<br>
&gt;&gt;&gt; able<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; to figure this out for sometime now.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Krishna Chaitanya K<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Wed, Mar 19, 2008 at 8:44 AM, Krishna Chaitanya<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:kris.c1986@gmail.com">kris.c1986@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; This might help :<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; In the MPID_Comm structure, I have included the following line for<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; the peruse place-holder :<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp;struct mpich_peruse_handle_t** c_peruse_handles;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; And in the function, MPID_Init_thread(), i have the line<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp;MPIR_Process.comm_world-&gt;c_peruse_handles = NULL;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp;when the rest of the members of the comm_world structure are<br>
&gt;&gt;&gt; being<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; populated.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Krishna Chaitanya K<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Wed, Mar 19, 2008 at 8:19 AM, Krishna Chaitanya<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:kris.c1986@gmail.com">kris.c1986@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Thanks for the help. I am facing an weird problem right now. To<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; incorporate the PERUSE component, I have modified the communicator<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; data structure to incude the PERUSE handles. The program executes<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; as expected when compiled without the &quot;mpe=mpilog&quot; flag.When I<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; compile it with the mpe component, the program gives this output :<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Fatal error in MPI_Bcast: Invalid communicator, error stack:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; MPI_Bcast(784): MPI_Bcast(buf=0x9260f98, count=1, MPI_INT, root=0,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; MPI_COMM_WORLD) failed<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; MPI_Bcast(717): Invalid communicator<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On tracing further, I understood this :<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; MPI_Init () ( &nbsp;log_mpi_core.c )<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp;-- &gt; &nbsp;PMPI_Init ( the communicator object is created here )<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp;-- &gt; &nbsp;MPE_Init_log ()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; -- &gt; CLOG_Local_init()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &gt; CLOG_Buffer_init4write ()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &gt; CLOG_Preamble_env_init()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &gt; &nbsp; MPI_Bcast () &nbsp;(bcast.c)<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &gt; MPIR_Bcast ()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- &gt; &nbsp;MPIC_Recv () &nbsp;/<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; MPIC_Send()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- &gt; &nbsp;MPIC_Wait()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt; Program crashes &gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;The MPIC_Wait function is invoking the progress engine, which<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; works properly without the mpe component.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; Even within the progress engine, MPIDU_Sock_wait() and<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; MPIDI_CH3I_Progress_handle_sock_event() are executed a couple of<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; times before the program crashes in the MPIDU_Socki_handle_read()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; or the MPIDU_Socki_handle_write() functions. ( The read() and the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; write() functions work two times, I think)<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;I am finding it very hard to reason why the program crashes<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; with mpe. Could you please suggest where I need to look at to sort<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; this issue out?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Krishna Chaitanya K<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Wed, Mar 19, 2008 at 2:20 AM, Anthony Chan &lt;<a href="mailto:chan@mcs.anl.gov">chan@mcs.anl.gov</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Wed, 19 Mar 2008, Krishna Chaitanya wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;I tried configuring MPICH2 by doing :<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ./configure --prefix=/home/kc/mpich-install/ --enable-mpe<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; --with-logging=SLOG &nbsp;CC=gcc CFLAGS=-g &nbsp; &amp;&amp; make &amp;&amp; make install<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;It &nbsp;flashed an error messaage saying :<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; onfigure: error: ./src/util/logging/SLOG does not exist.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Configure aborted<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; The --with-logging is for MPICH2&#39;s internal logging, not MPE&#39;s<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; logging.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; As what you did below is fine is fine.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;After that, I tried :<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ./configure --prefix=/home/kc/mpich-install/ --enable-mpe CC=gcc<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; CFLAGS=-g<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &amp;&amp; make &amp;&amp; make install<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; The installation was normal, when I tried compiling an<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; example<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; program by doing :<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; mpicc -mpilog -o sample &nbsp;sample.c<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; cc1: error: unrecognized command line option &quot;-mpilog&quot;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Do &quot;mpicc -mpe=mpilog -o sample sample.c&quot; instead. &nbsp;For more<br>
&gt;&gt;&gt; details,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; see &quot;mpicc -mpe=help&quot; and see mpich2/src/mpe2/README.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; A.Chan<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Can anyone please tell me what needs to be done to use<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; the SLOG<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; logging format?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Krishna Chaitanya K<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; In the middle of difficulty, lies opportunity<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; In the middle of difficulty, lies opportunity<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; In the middle of difficulty, lies opportunity<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; In the middle of difficulty, lies opportunity<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt; In the middle of difficulty, lies opportunity<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; In the middle of difficulty, lies opportunity<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; In the middle of difficulty, lies opportunity<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; In the middle of difficulty, lies opportunity<br>
&gt;<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>In the middle of difficulty, lies opportunity