44 for (i = 0; i < n; i++)
71 elog(
ERROR,
"InstrStartNode called twice in a row");
94 elog(
ERROR,
"InstrStopNode called without start");
130 elog(
ERROR,
"InstrEndLoop called on running node");
136 instr->
total += totaltime;
193 memset(walusage, 0,
sizeof(
WalUsage));
void InstrStopNode(Instrumentation *instr, double nTuples)
void InstrAggNode(Instrumentation *dst, Instrumentation *add)
struct timeval instr_time
void WalUsageAccumDiff(WalUsage *dst, const WalUsage *add, const WalUsage *sub)
#define INSTR_TIME_ACCUM_DIFF(x, y, z)
Instrumentation * InstrAlloc(int n, int instrument_options)
static BufferUsage save_pgBufferUsage
#define INSTR_TIME_SET_ZERO(t)
#define INSTR_TIME_GET_DOUBLE(t)
void InstrEndParallelQuery(BufferUsage *bufusage, WalUsage *walusage)
#define INSTR_TIME_IS_ZERO(t)
void BufferUsageAccumDiff(BufferUsage *dst, const BufferUsage *add, const BufferUsage *sub)
void InstrEndLoop(Instrumentation *instr)
BufferUsage bufusage_start
static void WalUsageAdd(WalUsage *dst, WalUsage *add)
void InstrStartNode(Instrumentation *instr)
#define INSTR_TIME_ADD(x, y)
void InstrAccumParallelQuery(BufferUsage *bufusage, WalUsage *walusage)
void InstrStartParallelQuery(void)
void InstrInit(Instrumentation *instr, int instrument_options)
void * palloc0(Size size)
#define INSTR_TIME_SET_CURRENT_LAZY(t)
instr_time blk_write_time
#define INSTR_TIME_SET_CURRENT(t)
static void BufferUsageAdd(BufferUsage *dst, const BufferUsage *add)
BufferUsage pgBufferUsage
static WalUsage save_pgWalUsage