2 * DTrace probes for PostgreSQL backend
4 * Copyright (c) 2006-2009, PostgreSQL Global Development Group
12 * Typedefs used in PostgreSQL.
14 * NOTE: Do not use system-provided typedefs (e.g. uintptr_t, uint32_t, etc)
15 * in probe definitions, as they cause compilation errors on Mac OS X 10.5.
17 #define LocalTransactionId unsigned
int
19 #define LWLockMode
int
21 #define BlockNumber unsigned
int
22 #define Oid unsigned
int
23 #define ForkNumber
int
28 probe
transaction__start(LocalTransactionId
);
29 probe
transaction__commit(LocalTransactionId
);
30 probe
transaction__abort(LocalTransactionId
);
32 probe
lwlock__acquire(LWLockId
, LWLockMode
);
33 probe
lwlock__release(LWLockId
);
34 probe
lwlock__wait__start(LWLockId
, LWLockMode
);
35 probe
lwlock__wait__done(LWLockId
, LWLockMode
);
36 probe
lwlock__condacquire(LWLockId
, LWLockMode
);
37 probe
lwlock__condacquire__fail(LWLockId
, LWLockMode
);
39 probe
lock__wait__start(unsigned
int, unsigned
int, unsigned
int, unsigned
int, unsigned
int, LOCKMODE
);
40 probe
lock__wait__done(unsigned
int, unsigned
int, unsigned
int, unsigned
int, unsigned
int, LOCKMODE
);
42 probe
query__parse__start(const char *);
43 probe
query__parse__done(const char *);
44 probe
query__rewrite__start(const char *);
45 probe
query__rewrite__done(const char *);
46 probe
query__plan__start();
47 probe
query__plan__done();
48 probe
query__execute__start();
49 probe
query__execute__done();
50 probe
query__start(const char *);
51 probe
query__done(const char *);
52 probe
statement__status(const char *);
54 probe
sort__start(int, bool, int, int, bool);
55 probe
sort__done(bool, long);
57 probe
buffer__read__start(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
, bool, bool);
58 probe
buffer__read__done(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
, bool, bool, bool);
59 probe
buffer__flush__start(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
);
60 probe
buffer__flush__done(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
);
62 probe
buffer__checkpoint__start(int);
63 probe
buffer__checkpoint__sync__start();
64 probe
buffer__checkpoint__done();
65 probe
buffer__sync__start(int, int);
66 probe
buffer__sync__written(int);
67 probe
buffer__sync__done(int, int, int);
68 probe
buffer__write__dirty__start(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
);
69 probe
buffer__write__dirty__done(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
);
71 probe
deadlock__found();
73 probe
checkpoint__start(int);
74 probe
checkpoint__done(int, int, int, int, int);
75 probe
clog__checkpoint__start(bool);
76 probe
clog__checkpoint__done(bool);
77 probe
subtrans__checkpoint__start(bool);
78 probe
subtrans__checkpoint__done(bool);
79 probe
multixact__checkpoint__start(bool);
80 probe
multixact__checkpoint__done(bool);
81 probe
twophase__checkpoint__start();
82 probe
twophase__checkpoint__done();
84 probe
smgr__md__read__start(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
);
85 probe
smgr__md__read__done(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
, int, int);
86 probe
smgr__md__write__start(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
);
87 probe
smgr__md__write__done(ForkNumber
, BlockNumber
, Oid
, Oid
, Oid
, int, int);
89 probe
xlog__insert(unsigned
char, unsigned
char);
91 probe
wal__buffer__write__dirty__start();
92 probe
wal__buffer__write__dirty__done();