aboutsummaryrefslogtreecommitdiff
path: root/include/jemalloc/internal/ctl.h
diff options
context:
space:
mode:
authorJason Evans <je@fb.com>2014-11-27 17:22:36 -0200
committerJason Evans <je@fb.com>2015-01-23 23:34:43 -0800
commit4581b97809e7e545c38b996870a4e7284a620bc5 (patch)
tree9bd91eba3bf168fbaed53e81c729aaf742e27acb /include/jemalloc/internal/ctl.h
parentec98a44662a82aff30a54ed86bd9b24f36cfe67e (diff)
downloadjemalloc-4581b97809e7e545c38b996870a4e7284a620bc5.tar.gz
Implement metadata statistics.
There are three categories of metadata: - Base allocations are used for bootstrap-sensitive internal allocator data structures. - Arena chunk headers comprise pages which track the states of the non-metadata pages. - Internal allocations differ from application-originated allocations in that they are for internal use, and that they are omitted from heap profiles. The metadata statistics comprise the metadata categories as follows: - stats.metadata: All metadata -- base + arena chunk headers + internal allocations. - stats.arenas.<i>.metadata.mapped: Arena chunk headers. - stats.arenas.<i>.metadata.allocated: Internal allocations. This is reported separately from the other metadata statistics because it overlaps with the allocated and active statistics, whereas the other metadata statistics do not. Base allocations are not reported separately, though their magnitude can be computed by subtracting the arena-specific metadata. This resolves #163.
Diffstat (limited to 'include/jemalloc/internal/ctl.h')
-rw-r--r--include/jemalloc/internal/ctl.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/jemalloc/internal/ctl.h b/include/jemalloc/internal/ctl.h
index a3e899e..65617bc 100644
--- a/include/jemalloc/internal/ctl.h
+++ b/include/jemalloc/internal/ctl.h
@@ -52,6 +52,7 @@ struct ctl_arena_stats_s {
struct ctl_stats_s {
size_t allocated;
size_t active;
+ size_t metadata;
size_t mapped;
struct {
size_t current; /* stats_chunks.curchunks */