mco_stat_memsize

Calculate the amount of memory required to store runtime statistics for a database instance.

Prototype

    mco_size_t mco_stat_memsize(void);

Description

This function computes the total size (in bytes) of the memory block needed to store all registered statistics counters and histograms for a single database instance.

The size depends on:

This value is used internally during database initialization to allocate the statistics memory region. It may also be useful for custom memory management or static buffer sizing in embedded environments.

Note: The result is valid only after all calls to mco_statrt_register_counter() have been made and before any database is opened. Subsequent registrations will change the required size.

Return Value

mco_size_t
Number of bytes required to store the statistics data structure for one database instance.

Example

    // Register custom counters first
    mco_statrt_register_counter("my_counter", MCO_NO);
    mco_statrt_register_counter("latency", MCO_YES);

    // Now query required memory size
    mco_size_t stat_size = mco_stat_memsize();
    printf("Statistics memory required: %zu bytes\n", stat_size);

Files

Header file:
mcostatrt.h
Source file:
mcostat.c
Library:
libmcolib.a