90 lines
2.1 KiB
C
90 lines
2.1 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* trace.h
|
|
*
|
|
* Conditional trace definitions.
|
|
*
|
|
* Massimo Dal Zotto <dz@cs.unitn.it>
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef TRACE_H
|
|
#define TRACE_H
|
|
|
|
#include <string.h>
|
|
#include <time.h>
|
|
|
|
#ifdef ELOG_TIMESTAMPS
|
|
char *tprintf_timestamp(void);
|
|
|
|
#define TIMESTAMP_SIZE 28
|
|
#else
|
|
#define TIMESTAMP_SIZE 0
|
|
#endif
|
|
|
|
extern int tprintf(int flag, const char *fmt,...);
|
|
extern int eprintf(const char *fmt,...);
|
|
extern void write_syslog(int level, char *line);
|
|
extern void show_options(void);
|
|
extern void parse_options(char *str, bool secure);
|
|
extern void read_pg_options(SIGNAL_ARGS);
|
|
|
|
/*
|
|
* Trace options, used as index into pg_options.
|
|
* Must match the constants in pg_options[].
|
|
*/
|
|
enum pg_option_enum {
|
|
TRACE_ALL, /* 0=trace some, 1=trace all, -1=trace none */
|
|
TRACE_VERBOSE,
|
|
TRACE_QUERY,
|
|
TRACE_PLAN,
|
|
TRACE_PARSE,
|
|
TRACE_REWRITTEN,
|
|
TRACE_PRETTY_PLAN, /* indented multiline versions of trees */
|
|
TRACE_PRETTY_PARSE,
|
|
TRACE_PRETTY_REWRITTEN,
|
|
TRACE_PARSERSTATS,
|
|
TRACE_PLANNERSTATS,
|
|
TRACE_EXECUTORSTATS,
|
|
TRACE_SHORTLOCKS, /* currently unused but needed, see lock.c */
|
|
TRACE_LOCKS,
|
|
TRACE_USERLOCKS,
|
|
TRACE_SPINLOCKS,
|
|
TRACE_NOTIFY,
|
|
TRACE_MALLOC,
|
|
TRACE_PALLOC,
|
|
TRACE_LOCKOIDMIN,
|
|
TRACE_LOCKRELATION,
|
|
OPT_LOCKREADPRIORITY, /* lock priority, see lock.c */
|
|
OPT_DEADLOCKTIMEOUT, /* deadlock timeout, see proc.c */
|
|
OPT_NOFSYNC, /* turn fsync off */
|
|
OPT_SYSLOG, /* use syslog for error messages */
|
|
OPT_HOSTLOOKUP, /* enable hostname lookup in ps_status */
|
|
OPT_SHOWPORTNUMBER, /* show port number in ps_status */
|
|
|
|
NUM_PG_OPTIONS /* must be the last item of enum */
|
|
};
|
|
|
|
extern int pg_options[NUM_PG_OPTIONS];
|
|
|
|
#ifdef __GNUC__
|
|
#define PRINTF(args...) tprintf1(args)
|
|
#define EPRINTF(args...) eprintf(args)
|
|
#define TPRINTF(flag, args...) tprintf(flag, args)
|
|
#else
|
|
#define PRINTF tprintf1
|
|
#define EPRINTF eprintf
|
|
#define TPRINTF tprintf
|
|
#endif
|
|
|
|
#endif /* TRACE_H */
|
|
|
|
/*
|
|
* Local variables:
|
|
* tab-width: 4
|
|
* c-indent-level: 4
|
|
* c-basic-offset: 4
|
|
* End:
|
|
*/
|