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: lock_stat.so,v 10.65 2005/07/20 16:26:38 bostic Exp $-->
<!--Copyright 1997-2005 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: DB_ENV->lock_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>DB_ENV->lock_stat</h3>
</td>
<td align=right>
<a href="../api_c/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.h>
<p>
int
DB_ENV->lock_stat(DB_ENV *env, DB_LOCK_STAT **statp, u_int32_t flags);
<p>
int
DB_ENV->lock_stat_print(DB_ENV *env, u_int32_t flags);
</pre></h3>
<hr size=1 noshade>
<h3>Description: DB_ENV->lock_stat</h3>
<p>The DB_ENV->lock_stat method returns the locking subsystem statistics.</p>
<p>The DB_ENV->lock_stat method creates a statistical structure of type
DB_LOCK_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_c/env_set_alloc.html">DB_ENV->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_LOCK_STAT fields will be filled in:</p>
<dl compact>
<dt>u_int32_t st_id;<dd>The last allocated locker ID.
<dt>u_int32_t st_cur_maxid;<dd>The current maximum unused locker ID.
<dt>u_int32_t st_nmodes;<dd>The number of lock modes.
<dt>u_int32_t st_maxlocks;<dd>The maximum number of locks possible.
<dt>u_int32_t st_maxlockers;<dd>The maximum number of lockers possible.
<dt>u_int32_t st_maxobjects;<dd>The maximum number of lock objects possible.
<dt>u_int32_t st_nlocks;<dd>The number of current locks.
<dt>u_int32_t st_maxnlocks;<dd>The maximum number of locks at any one time.
<dt>u_int32_t st_nlockers;<dd>The number of current lockers.
<dt>u_int32_t st_maxnlockers;<dd>The maximum number of lockers at any one time.
<dt>u_int32_t st_nobjects;<dd>The number of current lock objects.
<dt>u_int32_t st_maxnobjects;<dd>The maximum number of lock objects at any one time.
<dt>u_int32_t st_nrequests;<dd>The total number of locks requested.
<dt>u_int32_t st_nreleases;<dd>The total number of locks released.
<dt>u_int32_t st_nupgrade;<dd>The total number of locks upgraded.
<dt>u_int32_t st_ndowngrade;<dd>The total number of locks downgraded.
<dt>u_int32_t st_lock_wait;<dd>The number of lock requests not immediately available due to conflicts,
for which the thread of control waited.
<dt>u_int32_t st_lock_nowait;<dd>The number of lock requests not immediately available due to conflicts,
for which the thread of control did not wait.
<dt>u_int32_t st_ndeadlocks;<dd>The number of deadlocks.
<dt>u_int32_t st_locktimeout;<dd>Lock timeout value.
<dt>u_int32_t st_nlocktimeouts;<dd>The number of lock requests that have timed out.
<dt>u_int32_t st_txntimeout;<dd>Transaction timeout value.
<dt>u_int32_t st_ntxntimeouts;<dd>The number of transactions that have timed out. This value is also a
component of <b>st_ndeadlocks</b>, the total number of deadlocks
detected.
<dt>roff_t st_regsize;<dd>The size of the lock 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 lock region mutex.
<dt>u_int32_t st_region_nowait;<dd>The number of times that a thread of control was able to obtain
the lock region mutex without waiting.
</dl>
<p>The DB_ENV->lock_stat method
returns a non-zero error value on failure
and 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 DB_ENV->lock_stat method
may fail and 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: DB_ENV->lock_stat_print</h3>
<p>The DB_ENV->lock_stat_print method prints diagnostic information to the output
channel described by the <a href="../api_c/env_set_msgfile.html">DB_ENV->set_msgfile</a> method.</p>
<p>The DB_ENV->lock_stat_print method may not be called before the <a href="../api_c/env_open.html">DB_ENV->open</a> method has
been called.</p>
<p>The DB_ENV->lock_stat_print method
returns a non-zero error value on failure
and 0 on success.
</p>
<h3>Parameters</h3>
<dl compact>
<dt><b>flags</b><dd>The <b>flags</b> parameter must be set by bitwise inclusively <b>OR</b>'ing together one or more
of the following values:
<dl compact>
<dt><a name="DB_STAT_ALL">DB_STAT_ALL</a><dd>Display all available information.
<dt><a name="DB_STAT_LOCK_CONF">DB_STAT_LOCK_CONF</a><dd>Display the lock conflict matrix.
<dt><a name="DB_STAT_LOCK_LOCKERS">DB_STAT_LOCK_LOCKERS</a><dd>Display the lockers within hash chains.
<dt><a name="DB_STAT_LOCK_OBJECTS">DB_STAT_LOCK_OBJECTS</a><dd>Display the lock objects within hash chains.
<dt><a name="DB_STAT_LOCK_PARAMS">DB_STAT_LOCK_PARAMS</a><dd>Display the locking subsystem parameters.
</dl>
</dl>
<hr size=1 noshade>
<h3>Class</h3>
<a href="../api_c/env_class.html">DB_ENV</a>, <a href="../api_c/lock_class.html">DB_LOCK</a>
<h3>See Also</h3>
<a href="../api_c/lock_list.html">Locking Subsystem and Related Methods</a>
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<a href="../api_c/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-2005</a> <a href="http://www.sleepycat.com">Sleepycat Software, Inc.</a> - All rights reserved.</font>
</body>
</html>
|