<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)"><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)">Hello everyone,<br>I have been trying to instrument the Apache web server, the latest version (2.4.7 from the URL <a href="http://httpd.apache.org/download.cgi#apache24">http://httpd.apache.org/download.cgi#apache24</a>) for LTTng UST tracing<br>
1. To start with the simplest case, I created a *.tp file named <i>smallestTracePoint.tp</i> with the content below<br> <span style="font-family:courier new,monospace">TRACEPOINT_EVENT(<br> mk,<br> apache_process_entry,<br>
TP_ARGS(),<br> TP_FIELDS() <br> )</span><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)">2. Then I ran the following <br> <span style="font-family:courier new,monospace">lttng-gen-tp smallestTracePoint.tp -o smallestTracePoint.h -o smallestTracePoint.c<br>
</span></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)"><span style="font-family:courier new,monospace"> <font face="tahoma,sans-serif"><br>which generated the files </font></span><span style="font-family:courier new,monospace">smallestTracePoint.c <font face="tahoma,sans-serif">and </font></span><span style="font-family:courier new,monospace"><font face="tahoma,sans-serif"><span style="font-family:courier new,monospace">smallestTracePoint.h <br>
<br></span></font></span></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)"><span style="font-family:courier new,monospace"><font face="tahoma,sans-serif"><span style="font-family:courier new,monospace"><font face="tahoma,sans-serif">3. Then, I put the </font></span></font></span><span style="font-family:courier new,monospace"><font face="tahoma,sans-serif"><span style="font-family:courier new,monospace"><i>smallestTracePoint.h</i> <span style="font-family:tahoma,sans-serif">and</span> </span></font></span><span style="font-family:courier new,monospace"><i>smallestTracePoint.c</i> <font face="tahoma,sans-serif">in </font><i>httpd-2.4.7/server</i></span> directory,<br>
</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)">included <span style="font-family:courier new,monospace"><font face="tahoma,sans-serif"><span style="font-family:courier new,monospace"><i>smallestTracePoint.h </i><font face="tahoma,sans-serif">in the <i>main.c </i>file and added trace points in </font>the int <i>main(int argc, const char * const argv[])</i> and <i>*init_process(int *argc, const char * const * *argv)</i> <span style="font-family:tahoma,sans-serif">functions.</span> <br>
<br></span></font></span></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)"><span style="font-family:courier new,monospace"><font face="tahoma,sans-serif"><span style="font-family:courier new,monospace"><font face="tahoma,sans-serif">4. Then I added <font face="courier new,monospace"><i>-finstrument-functions</i><font face="tahoma,sans-serif"> </font></font>in the <i>configure</i> file (Line number 2830) in the extracted <i>httpd-2.4.7</i> directory, full line below</font><br>
ac_compile='$CC -c $CFLAGS -finstrument-functions $CPPFLAGS conftest.$ac_ext >&5'<br></span></font></span></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)"> <br>
</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)">5. Then, from the /httpd-2.4.7 directory, I ran the following command to configure the installation, it completed without any error. <br>
<span style="font-family:courier new,monospace"> ./configure --libdir=/usr/lib/usr/lib/liblttng-ust.so --with-included-apr</span><br><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)">
6. When I ran the command 'make', I get the following error after a while<br>...<br><span style="font-family:courier new,monospace">make[1]: Entering directory `/root/httpd-2.4.7'<br>/root/httpd-2.4.7/srclib/apr/libtool --silent --mode=compile gcc -std=gnu99 -g -O2 -pthread -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/root/httpd-2.4.7/os/unix -I/root/httpd-2.4.7/include -I/root/httpd-2.4.7/srclib/apr/include -I/root/httpd-2.4.7/srclib/apr-util/include -I/root/httpd-2.4.7/srclib/apr-util/xml/expat/lib -I/root/httpd-2.4.7/modules/aaa -I/root/httpd-2.4.7/modules/cache -I/root/httpd-2.4.7/modules/core -I/root/httpd-2.4.7/modules/database -I/root/httpd-2.4.7/modules/filters -I/root/httpd-2.4.7/modules/ldap -I/root/httpd-2.4.7/modules/loggers -I/root/httpd-2.4.7/modules/lua -I/root/httpd-2.4.7/modules/proxy -I/root/httpd-2.4.7/modules/session -I/root/httpd-2.4.7/modules/ssl -I/root/httpd-2.4.7/modules/test -I/root/httpd-2.4.7/server -I/root/httpd-2.4.7/modules/arch/unix -I/root/httpd-2.4.7/modules/dav/main -I/root/httpd-2.4.7/modules/generators -I/root/httpd-2.4.7/modules/mappers -prefer-non-pic -static -c modules.c && touch modules.lo<br>
gcc -std=gnu99 -g -O2 -pthread -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/root/httpd-2.4.7/os/unix -I/root/httpd-2.4.7/include -I/root/httpd-2.4.7/srclib/apr/include -I/root/httpd-2.4.7/srclib/apr-util/include -I/root/httpd-2.4.7/srclib/apr-util/xml/expat/lib -I/root/httpd-2.4.7/modules/aaa -I/root/httpd-2.4.7/modules/cache -I/root/httpd-2.4.7/modules/core -I/root/httpd-2.4.7/modules/database -I/root/httpd-2.4.7/modules/filters -I/root/httpd-2.4.7/modules/ldap -I/root/httpd-2.4.7/modules/loggers -I/root/httpd-2.4.7/modules/lua -I/root/httpd-2.4.7/modules/proxy -I/root/httpd-2.4.7/modules/session -I/root/httpd-2.4.7/modules/ssl -I/root/httpd-2.4.7/modules/test -I/root/httpd-2.4.7/server -I/root/httpd-2.4.7/modules/arch/unix -I/root/httpd-2.4.7/modules/dav/main -I/root/httpd-2.4.7/modules/generators -I/root/httpd-2.4.7/modules/mappers -c /root/httpd-2.4.7/server/buildmark.c<br>
/root/httpd-2.4.7/srclib/apr/libtool --silent --mode=link gcc -std=gnu99 -g -O2 -pthread -o httpd modules.lo buildmark.o -export-dynamic server/<a href="http://libmain.la">libmain.la</a> modules/core/<a href="http://libmod_so.la">libmod_so.la</a> modules/http/<a href="http://libmod_http.la">libmod_http.la</a> server/mpm/event/<a href="http://libevent.la">libevent.la</a> os/unix/<a href="http://libos.la">libos.la</a> -L/usr/lib/x86_64-linux-gnu -lpcre /root/httpd-2.4.7/srclib/apr-util/<a href="http://libaprutil-1.la">libaprutil-1.la</a> /root/httpd-2.4.7/srclib/apr-util/xml/expat/<a href="http://libexpat.la">libexpat.la</a> /root/httpd-2.4.7/srclib/apr/<a href="http://libapr-1.la">libapr-1.la</a> -luuid -lrt -lcrypt -lpthread -ldl <br>
server/.libs/libmain.a(main.o): In function `main':<br>/root/httpd-2.4.7/server/main.c:443: undefined reference to `__tracepoint_mk___apache_process_entry'<br>server/.libs/libmain.a(main.o): In function `init_process':<br>
/root/httpd-2.4.7/server/main.c:284: undefined reference to `__tracepoint_mk___apache_process_entry'<br>server/.libs/libmain.a(main.o): In function `__tracepoint_cb_mk___apache_process_entry':<br>/root/httpd-2.4.7/server/smallestTracePoint.h:13: undefined reference to `tracepoint_dlopen'<br>
/root/httpd-2.4.7/server/smallestTracePoint.h:13: undefined reference to `__tracepoint_mk___apache_process_entry'<br>/root/httpd-2.4.7/server/smallestTracePoint.h:13: undefined reference to `tracepoint_dlopen'<br>
/root/httpd-2.4.7/server/smallestTracePoint.h:13: undefined reference to `tracepoint_dlopen'<br>/root/httpd-2.4.7/server/smallestTracePoint.h:13: undefined reference to `tracepoint_dlopen'<br>/root/httpd-2.4.7/server/smallestTracePoint.h:13: undefined reference to `__tracepoint_mk___apache_process_entry'<br>
/root/httpd-2.4.7/server/smallestTracePoint.h:13: undefined reference to `tracepoint_dlopen'<br>/root/httpd-2.4.7/server/smallestTracePoint.h:13: undefined reference to `tracepoint_dlopen'<br>collect2: ld returned 1 exit status<br>
make[1]: *** [httpd] Error 1<br>make[1]: Leaving directory `/root/httpd-2.4.7'<br>make: *** [all-recursive] Error 1</span><br><br>I have tried including the <i>smallestTracePoint.c</i> file in the local makefile (<i>/root/httpd-2.4.7/MakeFile)</i>... didn't do me any good.<br>
</div>Any idea what I am doing wrong ?</div><br><br><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51);display:inline">LTTng version on the instance: 2.4.0-rc2 - Époque Opaque</div><br>
<div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51);display:inline">Linux Distribution: Ubuntu 12.04.3 LTS</div><br><br><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51);display:inline">
Thanks,</div><br><br>-- <br><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;color:rgb(51,51,51)">Mehran</div><br></div>
</div>