diff options
| author | Noriko Hosoi <nhosoi@redhat.com> | 2007-09-25 22:03:19 +0000 |
|---|---|---|
| committer | Noriko Hosoi <nhosoi@redhat.com> | 2007-09-25 22:03:19 +0000 |
| commit | f4cdf875354896ffe72622dfa37e41a35d2972ab (patch) | |
| tree | 94800e59cdd82293841666334e2ebbd77ec66ed2 | |
| parent | 552e7637c8de4a5f078b13cac0d2c442b60fe354 (diff) | |
| download | ds-f4cdf875354896ffe72622dfa37e41a35d2972ab.tar.gz ds-f4cdf875354896ffe72622dfa37e41a35d2972ab.tar.xz ds-f4cdf875354896ffe72622dfa37e41a35d2972ab.zip | |
Resolves: #241089
Summary: reset db statistics between restarts
Description: cleaning up the db stats when the server is shutdown
| -rw-r--r-- | ldap/servers/slapd/back-ldbm/dblayer.c | 2 | ||||
| -rw-r--r-- | ldap/servers/slapd/back-ldbm/perfctrs.c | 15 | ||||
| -rw-r--r-- | ldap/servers/slapd/back-ldbm/proto-back-ldbm.h | 2 |
3 files changed, 16 insertions, 3 deletions
diff --git a/ldap/servers/slapd/back-ldbm/dblayer.c b/ldap/servers/slapd/back-ldbm/dblayer.c index 287b64c2..efc9c420 100644 --- a/ldap/servers/slapd/back-ldbm/dblayer.c +++ b/ldap/servers/slapd/back-ldbm/dblayer.c @@ -2481,7 +2481,7 @@ int dblayer_post_close(struct ldbminfo *li, int dbmode) /* Shutdown the performance counter stuff */ if (DBLAYER_NORMAL_MODE & dbmode) { if (priv->perf_private) { - perfctrs_terminate(&priv->perf_private); + perfctrs_terminate(&priv->perf_private, priv->dblayer_env->dblayer_DB_ENV); } } diff --git a/ldap/servers/slapd/back-ldbm/perfctrs.c b/ldap/servers/slapd/back-ldbm/perfctrs.c index 13fda0db..b3307ffe 100644 --- a/ldap/servers/slapd/back-ldbm/perfctrs.c +++ b/ldap/servers/slapd/back-ldbm/perfctrs.c @@ -219,8 +219,21 @@ void perfctrs_init(struct ldbminfo *li, perfctrs_private **ret_priv) } /* Terminate perf ctrs */ -void perfctrs_terminate(perfctrs_private **priv) +void perfctrs_terminate(perfctrs_private **priv, DB_ENV *db_env) { + DB_MPOOL_STAT *mpstat = NULL; + DB_TXN_STAT *txnstat = NULL; + DB_LOG_STAT *logstat = NULL; + DB_LOCK_STATi *lockstat = NULL; + + MEMP_STAT(db_env, &mpstat, NULL, DB_STAT_CLEAR, malloc); + slapi_ch_free((void**)&mpstat); + TXN_STAT(db_env, &txnstat, DB_STAT_CLEAR, malloc); + slapi_ch_free((void**)&txnstat); + LOG_STAT(db_env, &logstat, DB_STAT_CLEAR, malloc); + slapi_ch_free((void**)&logstat); + LOCK_STAT(db_env, &lockstat, DB_STAT_CLEAR, malloc); + slapi_ch_free((void**)&lockstat); #if defined(_WIN32) if (NULL != (*priv)->memory) { UnmapViewOfFile((*priv)->memory); diff --git a/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h b/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h index 29bcb094..c3ef2ff0 100644 --- a/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h +++ b/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h @@ -382,7 +382,7 @@ int parent_update_on_childchange(modify_context *mc,int op, size_t *numofchildre */ void perfctrs_wait(size_t milliseconds,perfctrs_private *priv,DB_ENV *db_env); void perfctrs_init(struct ldbminfo *li,perfctrs_private **priv); -void perfctrs_terminate(perfctrs_private **priv); +void perfctrs_terminate(perfctrs_private **priv, DB_ENV *db_env); void perfctrs_as_entry( Slapi_Entry *e, perfctrs_private *priv, DB_ENV *db_env ); /* |
