summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/back-ldbm/monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'ldap/servers/slapd/back-ldbm/monitor.c')
-rw-r--r--ldap/servers/slapd/back-ldbm/monitor.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/ldap/servers/slapd/back-ldbm/monitor.c b/ldap/servers/slapd/back-ldbm/monitor.c
index c6c63e7d..265021c9 100644
--- a/ldap/servers/slapd/back-ldbm/monitor.c
+++ b/ldap/servers/slapd/back-ldbm/monitor.c
@@ -69,7 +69,7 @@ int ldbm_back_monitor_instance_search(Slapi_PBlock *pb, Slapi_Entry *e,
struct berval val;
struct berval *vals[2];
char buf[BUFSIZ];
- u_long hits, tries;
+ PRUint64 hits, tries;
long nentries,maxentries;
size_t size,maxsize;
/* NPCTE fix for bugid 544365, esc 0. <P.R> <04-Jul-2001> */
@@ -126,6 +126,26 @@ int ldbm_back_monitor_instance_search(Slapi_PBlock *pb, Slapi_Entry *e,
sprintf(buf, "%ld", maxentries);
MSET("maxEntryCacheCount");
+ if(entryrdn_get_switch()) {
+ /* fetch cache statistics */
+ cache_get_stats(&(inst->inst_dncache), &hits, &tries,
+ &nentries, &maxentries, &size, &maxsize);
+ sprintf(buf, "%" NSPRIu64, hits);
+ MSET("dnEntryCacheHits");
+ sprintf(buf, "%" NSPRIu64, tries);
+ MSET("dnEntryCacheTries");
+ sprintf(buf, "%lu", (unsigned long)(100.0*(double)hits / (double)(tries > 0 ? tries : 1)));
+ MSET("dnEntryCacheHitRatio");
+ sprintf(buf, "%lu", size);
+ MSET("dnCurrentEntryCacheSize");
+ sprintf(buf, "%lu", maxsize);
+ MSET("dnMaxEntryCacheSize");
+ sprintf(buf, "%ld", nentries);
+ MSET("dnCurrentEntryCacheCount");
+ sprintf(buf, "%ld", maxentries);
+ MSET("dnMaxEntryCacheCount");
+ }
+
#ifdef DEBUG
{
/* debugging for hash statistics */