|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/xlog.h"#include "executor/instrument.h"#include "storage/bufmgr.h"#include "storage/proc.h"#include "storage/procarray.h"#include "utils/memutils.h"#include "utils/pgstat_internal.h"
Go to the source code of this file.
Macros | |
| #define | WALSTAT_ACC(fld, var_to_add) (bktype_shstats->fld += var_to_add.fld) |
| #define | LOCKSTAT_ACC(fld) (bktype_shstats->stats[i].fld += PendingBackendStats.pending_lock.stats[i].fld) |
Variables | |
| static PgStat_BackendPending | PendingBackendStats |
| static bool | backend_has_iostats = false |
| static bool | backend_has_lockstats = false |
| static WalUsage | prevBackendWalUsage |
| #define LOCKSTAT_ACC | ( | fld | ) | (bktype_shstats->stats[i].fld += PendingBackendStats.pending_lock.stats[i].fld) |
| #define WALSTAT_ACC | ( | fld, | |
| var_to_add | |||
| ) | (bktype_shstats->fld += var_to_add.fld) |
Definition at line 386 of file pgstat_backend.c.
References PGSTAT_BACKEND_FLUSH_ALL, and pgstat_flush_backend().
| void pgstat_backend_reset_timestamp_cb | ( | PgStatShared_Common * | header, |
| TimestampTz | ts | ||
| ) |
Definition at line 476 of file pgstat_backend.c.
Definition at line 251 of file pgstat_backend.c.
References pgWalUsage, prevBackendWalUsage, and WalUsage::wal_records.
Referenced by pgstat_flush_backend(), and pgstat_flush_backend_entry_wal().
| void pgstat_count_backend_io_op | ( | IOObject | io_object, |
| IOContext | io_context, | ||
| IOOp | io_op, | ||
| uint32 | cnt, | ||
| uint64 | bytes | ||
| ) |
Definition at line 75 of file pgstat_backend.c.
References Assert, backend_has_iostats, PgStat_PendingIO::bytes, PgStat_PendingIO::counts, fb(), MyBackendType, PgStat_BackendPending::pending_io, PendingBackendStats, pgstat_report_fixed, pgstat_tracks_backend_bktype(), and pgstat_tracks_io_op().
Referenced by pgstat_count_io_op().
| void pgstat_count_backend_io_op_time | ( | IOObject | io_object, |
| IOContext | io_context, | ||
| IOOp | io_op, | ||
| instr_time | io_time | ||
| ) |
Definition at line 57 of file pgstat_backend.c.
References Assert, backend_has_iostats, fb(), INSTR_TIME_ADD, MyBackendType, PgStat_BackendPending::pending_io, PgStat_PendingIO::pending_times, PendingBackendStats, pgstat_report_fixed, pgstat_tracks_backend_bktype(), pgstat_tracks_io_op(), track_io_timing, and track_wal_io_timing.
Referenced by pgstat_count_io_op_time().
Definition at line 110 of file pgstat_backend.c.
References Assert, backend_has_lockstats, PgStat_LockEntry::fastpath_exceeded, LOCKTAG_LAST_TYPE, MyBackendType, PgStat_BackendPending::pending_lock, PendingBackendStats, pgstat_report_fixed, pgstat_tracks_backend_bktype(), and PgStat_PendingLock::stats.
Referenced by pgstat_count_lock_fastpath_exceeded().
| void pgstat_count_backend_lock_waits | ( | uint8 | locktag_type, |
| PgStat_Counter | usecs | ||
| ) |
Definition at line 95 of file pgstat_backend.c.
References Assert, backend_has_lockstats, fb(), LOCKTAG_LAST_TYPE, MyBackendType, PgStat_BackendPending::pending_lock, PendingBackendStats, pgstat_report_fixed, pgstat_tracks_backend_bktype(), PgStat_PendingLock::stats, PgStat_LockEntry::wait_time, and PgStat_LockEntry::waits.
Referenced by pgstat_count_lock_waits().
| void pgstat_create_backend | ( | ProcNumber | procnum | ) |
Definition at line 395 of file pgstat_backend.c.
References backend_has_iostats, backend_has_lockstats, fb(), InvalidOid, MemSet, PendingBackendStats, pgstat_get_entry_ref_locked(), PGSTAT_KIND_BACKEND, pgstat_unlock_entry(), pgWalUsage, prevBackendWalUsage, and PgStat_EntryRef::shared_stats.
Referenced by pgstat_bestart_final().
| PgStat_Backend * pgstat_fetch_stat_backend | ( | ProcNumber | procNumber | ) |
Definition at line 127 of file pgstat_backend.c.
References fb(), InvalidOid, pgstat_fetch_entry(), and PGSTAT_KIND_BACKEND.
Referenced by pgstat_fetch_stat_backend_by_pid().
| PgStat_Backend * pgstat_fetch_stat_backend_by_pid | ( | int | pid, |
| BackendType * | bktype | ||
| ) |
Definition at line 146 of file pgstat_backend.c.
References AuxiliaryPidGetProc(), B_INVALID, BackendPidGetProc(), fb(), GetNumberFromPGProc, pgstat_fetch_stat_backend(), pgstat_get_beentry_by_proc_number(), and pgstat_tracks_backend_bktype().
Referenced by pg_stat_get_backend_io(), pg_stat_get_backend_lock(), and pg_stat_get_backend_wal().
Definition at line 336 of file pgstat_backend.c.
References backend_has_iostats, backend_has_lockstats, fb(), InvalidOid, MyBackendType, MyProcNumber, PGSTAT_BACKEND_FLUSH_IO, PGSTAT_BACKEND_FLUSH_LOCK, PGSTAT_BACKEND_FLUSH_WAL, pgstat_backend_wal_have_pending(), pgstat_flush_backend_entry_io(), pgstat_flush_backend_entry_lock(), pgstat_flush_backend_entry_wal(), pgstat_get_entry_ref_locked(), PGSTAT_KIND_BACKEND, pgstat_tracks_backend_bktype(), and pgstat_unlock_entry().
Referenced by pgstat_backend_flush_cb(), pgstat_report_analyze(), pgstat_report_vacuum(), pgstat_report_wal(), WalSndLoop(), and WalSndWaitForWal().
|
static |
Definition at line 201 of file pgstat_backend.c.
References backend_has_iostats, PgStat_PendingIO::bytes, PgStat_PendingIO::counts, fb(), INSTR_TIME_GET_MICROSEC, IOCONTEXT_NUM_TYPES, IOOBJECT_NUM_TYPES, IOOP_NUM_TYPES, MemSet, PgStat_BackendPending::pending_io, PgStat_PendingIO::pending_times, PendingBackendStats, and PgStat_EntryRef::shared_stats.
Referenced by pgstat_flush_backend().
|
static |
Definition at line 304 of file pgstat_backend.c.
References backend_has_lockstats, fb(), i, LOCKSTAT_ACC, LOCKTAG_LAST_TYPE, MemSet, PgStat_BackendPending::pending_lock, PendingBackendStats, and PgStat_EntryRef::shared_stats.
Referenced by pgstat_flush_backend().
|
static |
Definition at line 261 of file pgstat_backend.c.
References fb(), pgstat_backend_wal_have_pending(), pgWalUsage, prevBackendWalUsage, PgStat_EntryRef::shared_stats, WALSTAT_ACC, and WalUsageAccumDiff().
Referenced by pgstat_flush_backend().
| bool pgstat_tracks_backend_bktype | ( | BackendType | bktype | ) |
Definition at line 439 of file pgstat_backend.c.
References B_ARCHIVER, B_AUTOVAC_LAUNCHER, B_AUTOVAC_WORKER, B_BACKEND, B_BG_WORKER, B_BG_WRITER, B_CHECKPOINTER, B_DATACHECKSUMSWORKER_LAUNCHER, B_DATACHECKSUMSWORKER_WORKER, B_DEAD_END_BACKEND, B_INVALID, B_IO_WORKER, B_LOGGER, B_SLOTSYNC_WORKER, B_STANDALONE_BACKEND, B_STARTUP, B_WAL_RECEIVER, B_WAL_SENDER, B_WAL_SUMMARIZER, B_WAL_WRITER, and fb().
Referenced by pg_stat_reset_backend_stats(), pgstat_bestart_final(), pgstat_count_backend_io_op(), pgstat_count_backend_io_op_time(), pgstat_count_backend_lock_fastpath_exceeded(), pgstat_count_backend_lock_waits(), pgstat_fetch_stat_backend_by_pid(), and pgstat_flush_backend().
Definition at line 41 of file pgstat_backend.c.
Referenced by pgstat_count_backend_io_op(), pgstat_count_backend_io_op_time(), pgstat_create_backend(), pgstat_flush_backend(), and pgstat_flush_backend_entry_io().
Definition at line 42 of file pgstat_backend.c.
Referenced by pgstat_count_backend_lock_fastpath_exceeded(), pgstat_count_backend_lock_waits(), pgstat_create_backend(), pgstat_flush_backend(), and pgstat_flush_backend_entry_lock().
|
static |
Definition at line 40 of file pgstat_backend.c.
Referenced by pgstat_count_backend_io_op(), pgstat_count_backend_io_op_time(), pgstat_count_backend_lock_fastpath_exceeded(), pgstat_count_backend_lock_waits(), pgstat_create_backend(), pgstat_flush_backend_entry_io(), and pgstat_flush_backend_entry_lock().
|
static |
Definition at line 50 of file pgstat_backend.c.
Referenced by pgstat_backend_wal_have_pending(), pgstat_create_backend(), and pgstat_flush_backend_entry_wal().