This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

postgresql markers missing arguments


I was working on a demonstration of the postgresql marker for Fedora-13 and I found that some of the systemtap markers are missing their arguments.

>From the postgresql srpm in postgresql-8.4/src/backend/utils/probes.h have the following:

/* TRACE_POSTGRESQL_TRANSACTION_START ( unsigned int) */
#define TRACE_POSTGRESQL_TRANSACTION_START_ENABLED() transaction__start_semaphore
__extension__ extern unsigned short transaction__start_semaphore __attribute__ (
(unused)) __attribute__ ((section (".probes")));
#define TRACE_POSTGRESQL_TRANSACTION_START(arg1) \
STAP_PROBE1(provider,transaction__start,arg1)

/* TRACE_POSTGRESQL_TRANSACTION_COMMIT ( unsigned int) */
#define TRACE_POSTGRESQL_TRANSACTION_COMMIT_ENABLED() transaction__commit_semaphore
__extension__ extern unsigned short transaction__commit_semaphore __attribute__ 
((unused)) __attribute__ ((section (".probes")));
#define TRACE_POSTGRESQL_TRANSACTION_COMMIT(arg1) \
STAP_PROBE1(provider,transaction__commit,arg1)

/* TRACE_POSTGRESQL_TRANSACTION_ABORT ( unsigned int) */
#define TRACE_POSTGRESQL_TRANSACTION_ABORT_ENABLED() transaction__abort_semaphore
__extension__ extern unsigned short transaction__abort_semaphore __attribute__ (
(unused)) __attribute__ ((section (".probes")));
#define TRACE_POSTGRESQL_TRANSACTION_ABORT(arg1) \
STAP_PROBE1(provider,transaction__abort,arg1)

See the macros used in postgresql-8.4.2/src/backend/access/transam/xact.c.


And postgresql-8.4.2src/backend/utils/probes.d has:

	probe transaction__start(LocalTransactionId);
	probe transaction__commit(LocalTransactionId);
	probe transaction__abort(LocalTransactionId);



However, listing out the probe the transaction__abort and transaction__commit are missing arguments:


$ stap -L 'process("./src/backend/postgres").mark("trans*")' | sort 
process("./src/backend/postgres").mark("transaction__abort")
process("./src/backend/postgres").mark("transaction__commit")
process("./src/backend/postgres").mark("transaction__start") $arg1:LocalTransactionId

Is the compiler optimizing out some of the marker arguments?

-Will





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]