Header And Logo

PostgreSQL
| The world's most advanced open source database.

Defines | Typedefs

instr_time.h File Reference

#include <sys/time.h>
Include dependency graph for instr_time.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define INSTR_TIME_IS_ZERO(t)   ((t).tv_usec == 0 && (t).tv_sec == 0)
#define INSTR_TIME_SET_ZERO(t)   ((t).tv_sec = 0, (t).tv_usec = 0)
#define INSTR_TIME_SET_CURRENT(t)   gettimeofday(&(t), NULL)
#define INSTR_TIME_ADD(x, y)
#define INSTR_TIME_SUBTRACT(x, y)
#define INSTR_TIME_ACCUM_DIFF(x, y, z)
#define INSTR_TIME_GET_DOUBLE(t)   (((double) (t).tv_sec) + ((double) (t).tv_usec) / 1000000.0)
#define INSTR_TIME_GET_MILLISEC(t)   (((double) (t).tv_sec * 1000.0) + ((double) (t).tv_usec) / 1000.0)
#define INSTR_TIME_GET_MICROSEC(t)   (((uint64) (t).tv_sec * (uint64) 1000000) + (uint64) (t).tv_usec)

Typedefs

typedef struct timeval instr_time

Define Documentation

#define INSTR_TIME_ACCUM_DIFF (   x,
  y,
  z 
)
Value:
do { \
        (x).tv_sec += (y).tv_sec - (z).tv_sec; \
        (x).tv_usec += (y).tv_usec - (z).tv_usec; \
        /* Normalize after each add to avoid overflow/underflow of tv_usec */ \
        while ((x).tv_usec < 0) \
        { \
            (x).tv_usec += 1000000; \
            (x).tv_sec--; \
        } \
        while ((x).tv_usec >= 1000000) \
        { \
            (x).tv_usec -= 1000000; \
            (x).tv_sec++; \
        } \
    } while (0)

Definition at line 91 of file instr_time.h.

Referenced by BufferUsageAccumDiff(), doCustom(), InstrStopNode(), and threadRun().

#define INSTR_TIME_ADD (   x,
  y 
)
Value:
do { \
        (x).tv_sec += (y).tv_sec; \
        (x).tv_usec += (y).tv_usec; \
        /* Normalize */ \
        while ((x).tv_usec >= 1000000) \
        { \
            (x).tv_usec -= 1000000; \
            (x).tv_sec++; \
        } \
    } while (0)

Definition at line 67 of file instr_time.h.

Referenced by FlushBuffer(), main(), pgstat_end_function_usage(), printResults(), and ReadBuffer_common().

#define INSTR_TIME_GET_DOUBLE (   t  )     (((double) (t).tv_sec) + ((double) (t).tv_usec) / 1000000.0)
#define INSTR_TIME_GET_MICROSEC (   t  )     (((uint64) (t).tv_sec * (uint64) 1000000) + (uint64) (t).tv_usec)
#define INSTR_TIME_GET_MILLISEC (   t  )     (((double) (t).tv_sec * 1000.0) + ((double) (t).tv_usec) / 1000.0)
#define INSTR_TIME_IS_ZERO (   t  )     ((t).tv_usec == 0 && (t).tv_sec == 0)

Definition at line 61 of file instr_time.h.

Referenced by ExplainNode(), InstrEndLoop(), InstrStartNode(), and InstrStopNode().

#define INSTR_TIME_SET_CURRENT (   t  )     gettimeofday(&(t), NULL)
#define INSTR_TIME_SET_ZERO (   t  )     ((t).tv_sec = 0, (t).tv_usec = 0)

Definition at line 63 of file instr_time.h.

Referenced by InstrEndLoop(), InstrStopNode(), main(), printResults(), and threadRun().

#define INSTR_TIME_SUBTRACT (   x,
  y 
)
Value:
do { \
        (x).tv_sec -= (y).tv_sec; \
        (x).tv_usec -= (y).tv_usec; \
        /* Normalize */ \
        while ((x).tv_usec < 0) \
        { \
            (x).tv_usec += 1000000; \
            (x).tv_sec--; \
        } \
    } while (0)

Definition at line 79 of file instr_time.h.

Referenced by count_nondeletable_pages(), doCustom(), elapsed_time(), ExecQueryUsingCursor(), FlushBuffer(), init(), main(), mdsync(), pgss_ProcessUtility(), pgstat_end_function_usage(), ReadBuffer_common(), SendQuery(), test_timing(), threadRun(), and WaitLatchOrSocket().


Typedef Documentation

typedef struct timeval instr_time

Definition at line 59 of file instr_time.h.