1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
<!--$Id: txn_stat.so,v 10.61 2004/09/28 17:57:03 bostic Exp $-->
<!--Copyright 1997-2004 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: DbEnv::txn_stat</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++">
</head>
<body bgcolor=white>
<table width="100%"><tr valign=top>
<td>
<h3>DbEnv::txn_stat</h3>
</td>
<td align=right>
<a href="../api_cxx/api_core.html"><img src="../images/api.gif" alt="API"></a>
<a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a></td>
</tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include <db_cxx.h>
<p>
int
DbEnv::txn_stat(DB_TXN_STAT **statp, u_int32_t flags);
<p>
int
DbEnv::txn_stat_print(u_int32_t flags);
</pre></h3>
<hr size=1 noshade>
<h3>Description: DbEnv::txn_stat</h3>
<p>The DbEnv::txn_stat method returns the transaction subsystem statistics.</p>
<p>The DbEnv::txn_stat method creates a statistical structure of type
DB_TXN_STAT and copies a pointer to it into a user-specified memory
location.</p>
<p>Statistical structures are stored in allocated memory. If application-specific allocation
routines have been declared (see <a href="../api_cxx/env_set_alloc.html">DbEnv::set_alloc</a> for more
information), they are used to allocate the memory; otherwise, the
standard C library <b>malloc</b>(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.</p>
<p>The following DB_TXN_STAT fields will be filled in:</p>
<dl compact>
<dt>DbLsn st_last_ckp;<dd>The LSN of the last checkpoint.
<dt>time_t st_time_ckp;<dd>The time the last completed checkpoint finished (as the number of seconds
since the Epoch, returned by the IEEE/ANSI Std 1003.1 (POSIX) <b>time</b> function).
<dt>u_int32_t st_last_txnid;<dd>The last transaction ID allocated.
<dt>u_int32_t st_maxtxns;<dd>The maximum number of active transactions configured.
<dt>u_int32_t st_nactive;<dd>The number of transactions that are currently active.
<dt>u_int32_t st_maxnactive;<dd>The maximum number of active transactions at any one time.
<dt>u_int32_t st_nbegins;<dd>The number of transactions that have begun.
<dt>u_int32_t st_naborts;<dd>The number of transactions that have aborted.
<dt>u_int32_t st_ncommits;<dd>The number of transactions that have committed.
<dt>u_int32_t st_nrestores;<dd>The number of transactions that have been restored.
<dt>roff_t st_regsize;<dd>The size of the region, in bytes.
<dt>u_int32_t st_region_wait;<dd>The number of times that a thread of control was forced to wait before
obtaining the region lock.
<dt>u_int32_t st_region_nowait;<dd>The number of times that a thread of control was able to obtain
the region lock without waiting.
<dt>DB_TXN_ACTIVE *st_txnarray;<dd>A pointer to an array of <b>st_nactive</b> DB_TXN_ACTIVE structures,
describing the currently active transactions. The following fields of
the DB_TXN_ACTIVE structure will be filled in:
<dl compact>
<dt>u_int32_t txnid;<dd>The transaction ID of the transaction.
<dt>u_int32_t parentid;<dd>The transaction ID of the parent transaction (or 0, if no parent).
<dt>DbLsn lsn;<dd>The current log sequence number when the transaction was begun.
<dt>u_int32_t xa_status;<dd>If the transaction is an XA transaction, the status of the transaction,
otherwise 0.
<dt>u_int8_t xid[DB_XIDDATASIZE];<dd>If the transaction is an XA transaction, the transaction's XA ID.
</dl>
</dl>
<p>The DbEnv::txn_stat method
either returns a non-zero error value
or throws an exception that encapsulates a non-zero error value on
failure, and returns 0 on success.
</p>
<h3>Parameters</h3>
<dl compact>
<dt><b>flags</b><dd>The <b>flags</b> parameter must be set to 0 or
the following value:
<dl compact>
<dt><a name="DB_STAT_CLEAR">DB_STAT_CLEAR</a><dd>Reset statistics after returning their values.
</dl>
<dt><b>statp</b><dd>The <b>statp</b> parameter references memory into which
a pointer to the allocated statistics structure is copied.
</dl>
<h3>Errors</h3>
<p>The DbEnv::txn_stat method
may fail and throw
<a href="../api_cxx/except_class.html">DbException</a>,
encapsulating one of the following non-zero errors, or return one of
the following non-zero errors:</p>
<dl compact>
<dt>EINVAL<dd>An
invalid flag value or parameter was specified.
</dl>
<hr size=1 noshade>
<h3>Description: DbEnv::txn_stat_print</h3>
<p>The DbEnv::txn_stat_print method returns the
transaction subsystem statistical information, as described for the DbEnv::txn_stat method.
The information is printed to a specified output channel (see the
<a href="../api_cxx/env_set_msgfile.html">DbEnv::set_msgfile</a> method for more information), or passed to an
application callback function (see the <a href="../api_cxx/env_set_msgcall.html">DbEnv::set_msgcall</a> method for
more information).</p>
<p>The DbEnv::txn_stat_print method may not be called before the <a href="../api_cxx/env_open.html">DbEnv::open</a> method has
been called.</p>
<p>The DbEnv::txn_stat_print method
either returns a non-zero error value
or throws an exception that encapsulates a non-zero error value on
failure, and returns 0 on success.
</p>
<h3>Parameters</h3>
<dl compact>
<dt><b>flags</b><dd>The <b>flags</b> parameter must be set to 0 or
the following value:
<dl compact>
<dt><a name="DB_STAT_ALL">DB_STAT_ALL</a><dd>Display all available information.
</dl>
</dl>
<hr size=1 noshade>
<h3>Class</h3>
<a href="../api_cxx/env_class.html">DbEnv</a>, <a href="../api_cxx/txn_class.html">DbTxn</a>
<h3>See Also</h3>
<a href="../api_cxx/txn_list.html">Transaction Subsystem and Related Methods</a>
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<a href="../api_cxx/api_core.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="../sleepycat/legal.html">Copyright (c) 1996-2004</a> <a href="http://www.sleepycat.com">Sleepycat Software, Inc.</a> - All rights reserved.</font>
</body>
</html>
|