Blame jemalloc/include/jemalloc/internal/bin_stats.h
|
Packit |
345191 |
#ifndef JEMALLOC_INTERNAL_BIN_STATS_H
|
|
Packit |
345191 |
#define JEMALLOC_INTERNAL_BIN_STATS_H
|
|
Packit |
345191 |
|
|
Packit |
345191 |
#include "jemalloc/internal/mutex_prof.h"
|
|
Packit |
345191 |
|
|
Packit |
345191 |
typedef struct bin_stats_s bin_stats_t;
|
|
Packit |
345191 |
struct bin_stats_s {
|
|
Packit |
345191 |
/*
|
|
Packit |
345191 |
* Total number of allocation/deallocation requests served directly by
|
|
Packit |
345191 |
* the bin. Note that tcache may allocate an object, then recycle it
|
|
Packit |
345191 |
* many times, resulting many increments to nrequests, but only one
|
|
Packit |
345191 |
* each to nmalloc and ndalloc.
|
|
Packit |
345191 |
*/
|
|
Packit |
345191 |
uint64_t nmalloc;
|
|
Packit |
345191 |
uint64_t ndalloc;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/*
|
|
Packit |
345191 |
* Number of allocation requests that correspond to the size of this
|
|
Packit |
345191 |
* bin. This includes requests served by tcache, though tcache only
|
|
Packit |
345191 |
* periodically merges into this counter.
|
|
Packit |
345191 |
*/
|
|
Packit |
345191 |
uint64_t nrequests;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/*
|
|
Packit |
345191 |
* Current number of regions of this size class, including regions
|
|
Packit |
345191 |
* currently cached by tcache.
|
|
Packit |
345191 |
*/
|
|
Packit |
345191 |
size_t curregs;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/* Number of tcache fills from this bin. */
|
|
Packit |
345191 |
uint64_t nfills;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/* Number of tcache flushes to this bin. */
|
|
Packit |
345191 |
uint64_t nflushes;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/* Total number of slabs created for this bin's size class. */
|
|
Packit |
345191 |
uint64_t nslabs;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/*
|
|
Packit |
345191 |
* Total number of slabs reused by extracting them from the slabs heap
|
|
Packit |
345191 |
* for this bin's size class.
|
|
Packit |
345191 |
*/
|
|
Packit |
345191 |
uint64_t reslabs;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/* Current number of slabs in this bin. */
|
|
Packit |
345191 |
size_t curslabs;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/* Current size of nonfull slabs heap in this bin. */
|
|
Packit |
345191 |
size_t nonfull_slabs;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
mutex_prof_data_t mutex_data;
|
|
Packit |
345191 |
};
|
|
Packit |
345191 |
|
|
Packit |
345191 |
#endif /* JEMALLOC_INTERNAL_BIN_STATS_H */
|