DB_ENV->txn_stat
|
|
#include <db.h>
int
DB_ENV->txn_stat(DB_ENV *env, DB_TXN_STAT **statp, u_int32_t flags);
int
DB_ENV->txn_stat_print(DB_ENV *env, u_int32_t flags);
Description: DB_ENV->txn_stat
The DB_ENV->txn_stat method returns the transaction subsystem statistics.
The DB_ENV->txn_stat method creates a statistical structure of type
DB_TXN_STAT and copies a pointer to it into a user-specified memory
location.
Statistical structures are stored in allocated memory. If application-specific allocation
routines have been declared (see DB_ENV->set_alloc for more
information), they are used to allocate the memory; otherwise, the
standard C library malloc(3) is used. The caller is
responsible for deallocating the memory. To deallocate the memory, free
the memory reference; references inside the returned memory need not be
individually freed.
The following DB_TXN_STAT fields will be filled in:
DbLsn st_last_ckp;- The LSN of the last checkpoint.
time_t st_time_ckp;- The time the last completed checkpoint finished (as the number of seconds
since the Epoch, returned by the IEEE/ANSI Std 1003.1 (POSIX) time function).
u_int32_t st_last_txnid;- The last transaction ID allocated.
u_int32_t st_maxtxns;- The maximum number of active transactions configured.
u_int32_t st_nactive;- The number of transactions that are currently active.
u_int32_t st_nsnapshot;- The number of transactions on the snapshot list. These are transactions
which modified a database opened with DB_MULTIVERSION,
and which have committed or aborted, but the copies of pages they
created are still in the cache.
u_int32_t st_maxnactive;- The maximum number of active transactions at any one time.
u_int32_t st_maxnsnapshot;- The maximum number of transactions on the snapshot list at any one time.
u_int32_t st_nbegins;- The number of transactions that have begun.
u_int32_t st_naborts;- The number of transactions that have aborted.
u_int32_t st_ncommits;- The number of transactions that have committed.
u_int32_t st_nrestores;- The number of transactions that have been restored.
roff_t st_regsize;- The size of the transaction region, in bytes.
u_int32_t st_region_wait;- The number of times that a thread of control was forced to wait before
obtaining the transaction region mutex.
u_int32_t st_region_nowait;- The number of times that a thread of control was able to obtain
the transaction region mutex without waiting.
DB_TXN_ACTIVE *st_txnarray;- A pointer to an array of st_nactive DB_TXN_ACTIVE structures,
describing the currently active transactions. The following fields of
the DB_TXN_ACTIVE structure will be filled in:
u_int32_t txnid;- The transaction ID of the transaction.
u_int32_t parentid;- The transaction ID of the parent transaction (or 0, if no parent).
pid_t pid;- The process ID of the originator of the transaction.
uintmax_t tid;- The thread of control ID of the originator of the transaction.
DbLsn lsn;- The current log sequence number when the transaction was begun.
DbLsn read_lsn;- The log sequence number of reads for snapshot transactions.
u_int32_t mvcc_ref;- The number of buffer copies created by this transaction that remain in cache.
u_int32_t status;- One of the following list of constants: TXN_ABORTED, TXN_COMMITTED,
TXN_PREPARED, TXN_RUNNING.
u_int32_t xa_status;- If the transaction is an XA transaction, the xa_status of the
transaction will be one of the following list of constants:
TXN_XA_ABORTED, TXN_XA_DEADLOCKED, TXN_XA_ENDED, TXN_XA_PREPARED,
TXN_XA_STARTED, or TXN_XA_SUSPENDED. Otherwise, the xa_status
will be 0.
u_int8_t xid[DB_XIDDATASIZE];- If the transaction is an XA transaction, the transaction's XA ID. If
the transaction was prepared separately from the XA interfaces, the
transaction's Global ID. Otherwise, the xid contents are
undefined.
char name[];- If a name was specified for the transaction, up to the first 50 bytes
of that name, followed by a nul termination byte.
The DB_ENV->txn_stat method may not be called before the DB_ENV->open method is called.
The DB_ENV->txn_stat method
returns a non-zero error value on failure
and 0 on success.
Parameters
flags- The flags parameter must be set to 0 or
the following value:
DB_STAT_CLEAR- Reset statistics after returning their values.
statp- The statp parameter references memory into which
a pointer to the allocated statistics structure is copied.
Errors
The DB_ENV->txn_stat method
may fail and return one of the following non-zero errors:
EINVAL- An
invalid flag value or parameter was specified.
Description: DB_ENV->txn_stat_print
The DB_ENV->txn_stat_print method displays the
transaction subsystem statistical information, as described for the DB_ENV->txn_stat method.
The information is printed to a specified output channel (see the
DB_ENV->set_msgfile method for more information), or passed to an
application callback function (see the DB_ENV->set_msgcall method for
more information).
The DB_ENV->txn_stat_print method may not be called before the DB_ENV->open method is called.
The DB_ENV->txn_stat_print method
returns a non-zero error value on failure
and 0 on success.
Parameters
flags- The flags parameter must be set to 0 or by bitwise inclusively OR'ing together one
or more of the following values:
DB_STAT_ALL- Display all available information.
DB_STAT_CLEAR- Reset statistics after displaying their values.
Class
DB_ENV, DB_TXN
See Also
Transaction Subsystem and Related Methods
Copyright (c) 1996,2008 Oracle. All rights reserved.