power_play/src/base/base_gstat.h
2025-09-12 13:03:00 -05:00

28 lines
700 B
C

/* Application-wide statistics */
#if GstatIsEnabled
Struct(SharedGstatCtx)
{
Atomic64Padded GSTAT_SOCK_BYTES_SENT;
Atomic64Padded GSTAT_SOCK_BYTES_RECEIVED;
Atomic64Padded GSTAT_MEMORY_COMMITTED;
Atomic64Padded GSTAT_MEMORY_RESERVED;
Atomic64Padded GSTAT_NUM_ARENAS;
Atomic64Padded GSTAT_DEBUG_STEPS;
};
extern SharedGstatCtx _shared_gstat_ctx;
#define SetGstat(name, value) Atomic64Set(&_shared_gstat_ctx.name.v, (value))
#define AddGstat(name, value) Atomic64FetchAdd(&_shared_gstat_ctx.name.v, (value))
#define GetGstat(name) Atomic64Fetch(&_shared_gstat_ctx.name.v)
#else
#define SetGstat(name, value)
#define AddGstat(name, value)
#define GetGstat(name) 0
#endif