28 lines
705 B
C
28 lines
705 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) Atomic64FetchSet(&_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
|