/* 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