
#use wml::openssl-macros area=docs page=lh_stats

<title>Documents, lh_stats(3)</title>

<h1>lh_stats(3)</h1>

#use wml::imp::generic

{:
## What's this? [[s|(<STRONG>[^<].+?)</A>(</STRONG><DD>)|$1$2|sg]]
[[s|<P>\s+<P>|<P>|sg]]
[[s|<P>\s+</|</|sg]]
[[s|<DD>\s*<DT>|<DD>&nbsp;<DT>|sg]]
[[s|<DD>\s*</DL>|<DD>&nbsp;</DL>|sg]]
[[s|\[|&#91;|sg]]
[[s|\]|&#93;|sg]]

<!-- INDEX BEGIN -->

<UL>

	<LI><A HREF="#NAME">NAME</A>
	<LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
	<LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
	<LI><A HREF="#RETURN_VALUES">RETURN VALUES</A>
	<LI><A HREF="#SEE_ALSO">SEE ALSO</A>
	<LI><A HREF="#HISTORY">HISTORY</A>
</UL>
<!-- INDEX END -->

<HR>
<P>
<HR>
<H1><A NAME="NAME">NAME</A></H1>
<P>
lh_stats, lh_node_stats, lh_node_usage_stats, lh_stats_bio,
lh_node_stats_bio, lh_node_usage_stats_bio - LHASH statistics

</P>
<P>
<HR>
<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
<PRE> #include &lt;openssl/lhash.h&gt;
</PRE>
<PRE> void lh_stats(LHASH *table, FILE *out);
 void lh_node_stats(LHASH *table, FILE *out);
 void lh_node_usage_stats(LHASH *table, FILE *out);
</PRE>
<PRE> void lh_stats_bio(LHASH *table, BIO *out);
 void lh_node_stats_bio(LHASH *table, BIO *out);
 void lh_node_usage_stats_bio(LHASH *table, BIO *out);
</PRE>
<P>
<HR>
<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
<P>
The <STRONG>LHASH</STRONG> structure records statistics about most aspects of accessing the hash
table. This is mostly a legacy of Eric Young writing this library for the
reasons of implementing what looked like a nice algorithm rather than for a
particular software product.

</P>
<P>
<CODE>lh_stats()</CODE> prints out statistics on the size of the hash
table, how many entries are in it, and the number and result of calls to
the routines in this library.

</P>
<P>
<CODE>lh_node_stats()</CODE> prints the number of entries for each 'bucket'
in the hash table.

</P>
<P>
<CODE>lh_node_usage_stats()</CODE> prints out a short summary of the state
of the hash table. It prints the 'load' and the 'actual load'. The load is
the average number of data items per 'bucket' in the hash table. The
'actual load' is the average number of items per 'bucket', but only for
buckets which contain entries. So the 'actual load' is the average number
of searches that will need to find an item in the hash table, while the
'load' is the average number that will be done to record a miss.

</P>
<P>
<CODE>lh_stats_bio(),</CODE> <CODE>lh_node_stats_bio()</CODE> and
<CODE>lh_node_usage_stats_bio()</CODE> are the same as the above, except
that the output goes to a <STRONG>BIO</STRONG>.

</P>
<P>
<HR>
<H1><A NAME="RETURN_VALUES">RETURN VALUES</A></H1>
<P>
These functions do not return values.

</P>
<P>
<HR>
<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
<P>
<A HREF="../crypto/bio.html#">bio(3)</A>, <A HREF="../crypto/lhash.html#">lhash(3)</A>



</P>
<P>
<HR>
<H1><A NAME="HISTORY">HISTORY</A></H1>
<P>
These functions are available in all versions of SSLeay and OpenSSL.

</P>
<P>
This manpage is derived from the SSLeay documentation.

</P>
:}

