DbEnv::memp_stat()

#include <db_cxx.h>

int
DbEnv::memp_stat(DB_MPOOL_STAT **gsp,
    DB_MPOOL_FSTAT *(*fsp)[], u_int32_t flags); 

The DbEnv::memp_stat() method returns the memory pool (that is, the buffer cache) subsystem statistics.

The DbEnv::memp_stat() method creates statistical structures of type DB_MPOOL_STAT and DB_MPOOL_FSTAT, and copy pointers to them into user-specified memory locations. The cache statistics are stored in the DB_MPOOL_STAT structure and the per-file cache statistics are stored the DB_MPOOL_FSTAT structure.

Statistical structures are stored in allocated memory. If application-specific allocation routines have been declared (see DbEnv::set_alloc() for more information), they are used to allocate the memory; otherwise, the standard C library malloc(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.

If gsp is non-NULL, the global statistics for the cache mp are copied into the memory location to which it refers. The following DB_MPOOL_STAT fields will be filled in:

If fsp is non-NULL, a pointer to a NULL-terminated variable length array of statistics for individual files, in the cache mp, is copied into the memory location to which it refers. If no individual files currently exist in the cache, fsp will be set to NULL.

The per-file statistics are stored in structures of type DB_MPOOL_FSTAT. The following DB_MPOOL_FSTAT fields will be filled in for each file in the cache; that is, each element of the array:

The DbEnv::memp_stat() method may not be called before the DbEnv::open() method is called.

The DbEnv::memp_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.

Parameters

gsp

The gsp parameter references memory into which a pointer to the allocated global statistics structure is copied.

fsp

The fsp parameter references memory into which a pointer to the allocated per-file statistics structures is copied.

flags

The flags parameter must be set to 0 or the following value:

  • DB_STAT_CLEAR

    Reset statistics after returning their values.

Errors

The DbEnv::memp_stat() method may fail and throw a DbException exception, encapsulating one of the following non-zero errors, or return one of the following non-zero errors:

EINVAL

An invalid flag value or parameter was specified.

Class

DbEnv, DbMpoolFile

See Also

Memory Pools and Related Methods