Hi,
I'm working on adding DTrace probes to the MySQL Server and various
other MySQL components.
I've been successful in adding a set of DTrace probes to the mysqld
process. However when following
the same approach I haven't been successful in getting the DTrace
probes for the ndbd process to
show up.
The only difference when building is that the DTrace probes for ndbd
is compiled and linked into a
.a library which is then linked into the ndbd process. In the mysqld
case the DTrace probes are
linked as .o directly into the binary.
In the mysqld case the DTrace probes shows up nicely when I do dtrace
-l whereas no DTrace probes
shows up in the ndbd case.
Rgrds Mikael
PS: I've added the build output when recompiling one of the files
containing probes in the ndbd case
and the mysqld case (DTrace object file is ndb_vm_dtrace.o and probes.o)
Building ndbd process:
------------------------------------
[EMAIL PROTECTED]/export/home/mr221933/mysql-5.1.24-rc-dtrace-0.0.4/
storage/ndb/src/kernel: gmake
Making all in vm
gmake[1]: Entering directory `/export/home/mr221933/mysql-5.1.24-rc-
dtrace-0.0.4/storage/ndb/src/kernel/vm'
if g++ -DHAVE_CONFIG_H -DNDEBUG -I. -I. -I../../../../../include -
I../../../../../storage/ndb/src/mgmapi -I. -I../../../../../include -
I../../../../../storage/ndb/include -I../../../../../include -
I../../../../../storage/ndb/include -I../../../../../storage/ndb/src/
kernel/vm -I../../../../../storage/ndb/src/kernel/error -
I../../../../../storage/ndb/src/kernel -I../../../../../storage/ndb/
include/kernel -I../../../../../storage/ndb/include/transporter -
I../../../../../storage/ndb/include/debugger -I../../../../../storage/
ndb/include/mgmapi -I../../../../../storage/ndb/include/mgmcommon -
I../../../../../storage/ndb/include/ndbapi -I../../../../../storage/
ndb/include/util -I../../../../../storage/ndb/include/portlib -
I../../../../../storage/ndb/include/logger -O3 -fno-implicit-
templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -MT
FastScheduler.o -MD -MP -MF ".deps/FastScheduler.Tpo" -c -o
FastScheduler.o FastScheduler.cpp; \
then mv -f ".deps/FastScheduler.Tpo" ".deps/
FastScheduler.Po"; else rm -f ".deps/FastScheduler.Tpo"; exit 1; fi
dtrace -G -s ndb_vm_dtrace.d FastScheduler.o ThreadConfig.o
rm -f libkernel.a
ar cru libkernel.a SimulatedBlock.o FastScheduler.o TimeQueue.o
VMSignal.o ThreadConfig.o TransporterCallback.o Emulator.o
Configuration.o WatchDog.o SimplePropertiesSection.o SectionReader.o
Mutex.o SafeCounter.o Rope.o ndbd_malloc.o ndbd_malloc_impl.o Pool.o
WOPool.o RWPool.o DynArr256.o ndb_vm_dtrace.o
/bin/bash ../../../../libtool --preserve-dup-deps --tag=CXX --
mode=link g++ -O3 -fno-implicit-templates -fno-exceptions -fno-
rtti -DHAVE_RWLOCK_T -o ndbd main.o SimBlockList.o blocks/
libblocks.a vm/libkernel.a error/liberror.a ../../../../storage/ndb/
src/common/transporter/libtransporter.la ../../../../storage/ndb/src/
common/debugger/libtrace.la ../../../../storage/ndb/src/common/
debugger/signaldata/libsignaldataprint.la ../../../../storage/ndb/src/
common/logger/liblogger.la ../../../../storage/ndb/src/common/
mgmcommon/libmgmsrvcommon.la ../../../../storage/ndb/src/mgmapi/
libmgmapi.la ../../../../storage/ndb/src/common/portlib/
libportlib.la ../../../../storage/ndb/src/common/util/
libgeneral.la ../../../../dbug/libdbug.a ../../../../mysys/
libmysys.a ../../../../strings/libmystrings.a -lpthread -lthread -
lgen -lsocket -lnsl -lm -lpthread -lthread
g++ -O3 -fno-implicit-templates -fno-exceptions -fno-rtti -
DHAVE_RWLOCK_T -o ndbd main.o SimBlockList.o blocks/libblocks.a vm/
libkernel.a error/liberror.a ../../../../storage/ndb/src/common/
transporter/.libs/libtransporter.a -lpthread -lthread -lpthread -
lthread -lpthread -lthread -lpthread -lthread -L/usr/sfw/
lib ../../../../storage/ndb/src/common/debugger/.libs/libtrace.a -
lpthread -lthread -lpthread -lthread -lpthread -lthread -lpthread -
lthread ../../../../storage/ndb/src/common/debugger/signaldata/.libs/
libsignaldataprint.a -lpthread -lthread -lpthread -lthread -lpthread -
lthread -lpthread -lthread ../../../../storage/ndb/src/common/
logger/.libs/liblogger.a -lpthread -lthread -lpthread -lthread -
lpthread -lthread -lpthread -lthread ../../../../storage/ndb/src/
common/mgmcommon/.libs/libmgmsrvcommon.a -lpthread -lthread -lpthread
-lthread -lpthread -lthread -lpthread -lthread ../../../../storage/
ndb/src/mgmapi/.libs/libmgmapi.a -lpthread -lthread -lpthread -
lthread -lpthread -lthread -lpthread -lthread ../../../../storage/ndb/
src/common/portlib/.libs/libportlib.a -lpthread -lthread -lpthread -
lthread -lpthread -lthread -lpthread -lthread ../../../../storage/ndb/
src/common/util/.libs/libgeneral.a -lpthread -lthread -lpthread -
lthread -lpthread -lthread -lpthread -lthread /usr/sfw/lib/libstdc+
+.so -lgcc_s ../../../../dbug/libdbug.a ../../../../mysys/
libmysys.a ../../../../strings/libmystrings.a -lpthread -lthread -
lgen -lsocket -lnsl -lm -lpthread -lthread -Wl,-R -Wl,/usr/sfw/lib -
Wl,-R -Wl,/usr/sfw/lib
ld: warning: file /usr/sfw/lib/libstdc++.so: attempted multiple
inclusion of file
Building mysqld process:
---------------------------------------
if g++ -DMYSQL_SERVER -DDEFAULT_MYSQL_HOME="\"/export/home/mr221933/
mysql/mysql-5.1.24-dtrace-0.0.4\"" -DDATADIR="\"/export/home/mr221933/
mysql/mysql-5.1.24-dtrace-0.0.4/data\"" -DSHAREDIR="\"/export/home/
mr221933/mysql/mysql-5.1.24-dtrace-0.0.4/share/mysql\"" -
DPLUGINDIR="\"/export/home/mr221933/mysql/mysql-5.1.24-dtrace-0.0.4/
lib/mysql/plugin\"" -DHAVE_CONFIG_H -I. -I. -I../include -I../zlib -
I../include -I../include -I../regex -I. -O3 -fno-implicit-
templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -MT sql_parse.o -
MD -MP -MF ".deps/sql_parse.Tpo" -c -o sql_parse.o sql_parse.cc; \
then mv -f ".deps/sql_parse.Tpo" ".deps/sql_parse.Po"; else
rm -f ".deps/sql_parse.Tpo"; exit 1; fi
dtrace -G -s probes.d filesort.o handler.o sql_parse.o
/bin/bash ../libtool --preserve-dup-deps --tag=CXX --mode=link g++ -
O3 -fno-implicit-templates -fno-exceptions -fno-rtti -
DHAVE_RWLOCK_T -o mysqld sql_lex.o sql_handler.o sql_partition.o
item.o item_sum.o item_buff.o item_func.o item_cmpfunc.o
item_strfunc.o item_timefunc.o thr_malloc.o item_create.o
item_subselect.o item_row.o item_geofunc.o item_xmlfunc.o field.o
strfunc.o key.o sql_class.o sql_list.o net_serv.o protocol.o
sql_state.o lock.o my_lock.o sql_string.o sql_manager.o sql_map.o
mysqld.o password.o hash_filo.o hostname.o sql_connect.o scheduler.o
sql_parse.o set_var.o sql_yacc.o sql_base.o table.o sql_select.o
sql_insert.o sql_profile.o sql_prepare.o sql_error.o sql_locale.o
sql_update.o sql_delete.o uniques.o sql_do.o procedure.o sql_test.o
log.o init.o derror.o sql_acl.o unireg.o des_key_file.o log_event.o
rpl_record.o log_event_old.o rpl_record_old.o discover.o time.o
opt_range.o opt_sum.o records.o filesort.o handler.o ha_partition.o
sql_db.o sql_table.o sql_rename.o sql_crypt.o sql_load.o mf_iocache.o
field_conv.o sql_show.o sql_udf.o sql_analyse.o sql_cache.o slave.o
sql_repl.o rpl_filter.o rpl_tblmap.o rpl_utility.o rpl_injector.o
rpl_rli.o rpl_mi.o rpl_reporting.o sql_union.o sql_derived.o
sql_client.o stacktrace.o repl_failsafe.o sql_olap.o sql_view.o
gstream.o spatial.o sql_help.o sql_cursor.o tztime.o my_decimal.o
sp_head.o sp_pcontext.o sp_rcontext.o sp.o sp_cache.o parse_file.o
sql_trigger.o event_scheduler.o event_data_objects.o event_queue.o
event_db_repository.o events.o sql_plugin.o sql_binlog.o
sql_builtin.o sql_tablespace.o partition_info.o sql_servers.o
probes.o mini_client_errors.o pack.o client.o my_time.o my_user.o
libndb.la -static ../storage/archive/libarchive.a ../storage/
blackhole/libblackhole.a ../storage/csv/libcsv.a ../storage/federated/
libfederated.a ../storage/heap/libheap.a ../storage/innobase/
libinnobase.a ../storage/myisammrg/libmyisammrg.a ../storage/myisam/
libmyisam.a ../storage/ndb/src/.libs/libndbclient.a ../vio/
libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../
strings/libmystrings.a ../zlib/libzlt.la -ldl ../extra/yassl/src/
libyassl.la ../extra/yassl/taocrypt/src/libtaocrypt.la
-lmtmalloc -lpthread -lthread -lgen -lsocket -lnsl -lm -lpthread -
lthread
g++ -O3 -fno-implicit-templates -fno-exceptions -fno-rtti -
DHAVE_RWLOCK_T -o mysqld sql_lex.o sql_handler.o sql_partition.o
item.o item_sum.o item_buff.o item_func.o item_cmpfunc.o
item_strfunc.o item_timefunc.o thr_malloc.o item_create.o
item_subselect.o item_row.o item_geofunc.o item_xmlfunc.o field.o
strfunc.o key.o sql_class.o sql_list.o net_serv.o protocol.o
sql_state.o lock.o my_lock.o sql_string.o sql_manager.o sql_map.o
mysqld.o password.o hash_filo.o hostname.o sql_connect.o scheduler.o
sql_parse.o set_var.o sql_yacc.o sql_base.o table.o sql_select.o
sql_insert.o sql_profile.o sql_prepare.o sql_error.o sql_locale.o
sql_update.o sql_delete.o uniques.o sql_do.o procedure.o sql_test.o
log.o init.o derror.o sql_acl.o unireg.o des_key_file.o log_event.o
rpl_record.o log_event_old.o rpl_record_old.o discover.o time.o
opt_range.o opt_sum.o records.o filesort.o handler.o ha_partition.o
sql_db.o sql_table.o sql_rename.o sql_crypt.o sql_load.o mf_iocache.o
field_conv.o sql_show.o sql_udf.o sql_analyse.o sql_cache.o slave.o
sql_repl.o rpl_filter.o rpl_tblmap.o rpl_utility.o rpl_injector.o
rpl_rli.o rpl_mi.o rpl_reporting.o sql_union.o sql_derived.o
sql_client.o stacktrace.o repl_failsafe.o sql_olap.o sql_view.o
gstream.o spatial.o sql_help.o sql_cursor.o tztime.o my_decimal.o
sp_head.o sp_pcontext.o sp_rcontext.o sp.o sp_cache.o parse_file.o
sql_trigger.o event_scheduler.o event_data_objects.o event_queue.o
event_db_repository.o events.o sql_plugin.o sql_binlog.o
sql_builtin.o sql_tablespace.o partition_info.o sql_servers.o
probes.o mini_client_errors.o pack.o client.o my_time.o
my_user.o ./.libs/libndb.a -lpthread -lthread -lpthread -lthread -
lpthread -lthread -lpthread -lthread -L/usr/sfw/lib ../storage/
archive/libarchive.a ../storage/blackhole/libblackhole.a ../storage/
csv/libcsv.a ../storage/federated/libfederated.a ../storage/heap/
libheap.a ../storage/innobase/libinnobase.a ../storage/myisammrg/
libmyisammrg.a ../storage/myisam/libmyisam.a ../storage/ndb/src/.libs/
libndbclient.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/
libdbug.a ../regex/libregex.a ../strings/libmystrings.a ../zlib/.libs/
libzlt.a -ldl ../extra/yassl/src/.libs/libyassl.a -lpthread -lthread -
lpthread -lthread -lpthread -lthread -lpthread -lthread ../extra/
yassl/taocrypt/src/.libs/libtaocrypt.a -lpthread -lthread -lpthread -
lthread -lpthread -lthread -lpthread -lthread /usr/sfw/lib/libstdc+
+.so -lgcc_s -lmtmalloc -lpthread -lthread -lgen -lsocket -lnsl -lm -
lpthread -lthread -Wl,-R -Wl,/usr/sfw/lib -Wl,-R -Wl,/usr/sfw/lib
ld: warning: file /usr/sfw/lib/libstdc++.so: attempted multiple
inclusion of file
_______________________________________________
dtrace-discuss mailing list
[email protected]