|
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) |
Functions | |
| void | pgstat_count_backend_io_op_time (IOObject io_object, IOContext io_context, IOOp io_op, instr_time io_time) |
| void | pgstat_count_backend_io_op (IOObject io_object, IOContext io_context, IOOp io_op, uint32 cnt, uint64 bytes) |
| PgStat_Backend * | pgstat_fetch_stat_backend (ProcNumber procNumber) |
| PgStat_Backend * | pgstat_fetch_stat_backend_by_pid (int pid, BackendType *bktype) |
| static void | pgstat_flush_backend_entry_io (PgStat_EntryRef *entry_ref) |
| static bool | pgstat_backend_wal_have_pending (void) |
| static void | pgstat_flush_backend_entry_wal (PgStat_EntryRef *entry_ref) |
| bool | pgstat_flush_backend (bool nowait, bits32 flags) |
| bool | pgstat_backend_flush_cb (bool nowait) |
| void | pgstat_create_backend (ProcNumber procnum) |
| bool | pgstat_tracks_backend_bktype (BackendType bktype) |
| void | pgstat_backend_reset_timestamp_cb (PgStatShared_Common *header, TimestampTz ts) |
Variables | |
| static PgStat_BackendPending | PendingBackendStats |
| static bool | backend_has_iostats = false |
| static WalUsage | prevBackendWalUsage |
| #define WALSTAT_ACC | ( | fld, | |
| var_to_add | |||
| ) | (bktype_shstats->fld += var_to_add.fld) |
| bool pgstat_backend_flush_cb | ( | bool | nowait | ) |
Definition at line 314 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 401 of file pgstat_backend.c.
|
inlinestatic |
Definition at line 216 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 74 of file pgstat_backend.c.
References Assert(), backend_has_iostats, PgStat_PendingIO::bytes, PgStat_PendingIO::counts, 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 56 of file pgstat_backend.c.
References Assert(), backend_has_iostats, 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().
| void pgstat_create_backend | ( | ProcNumber | procnum | ) |
Definition at line 323 of file pgstat_backend.c.
References backend_has_iostats, InvalidOid, MemSet, MyProcNumber, PendingBackendStats, pgstat_get_entry_ref_locked(), PGSTAT_KIND_BACKEND, pgstat_unlock_entry(), pgWalUsage, prevBackendWalUsage, PgStat_EntryRef::shared_stats, and PgStatShared_Backend::stats.
Referenced by pgstat_bestart_final().
| PgStat_Backend * pgstat_fetch_stat_backend | ( | ProcNumber | procNumber | ) |
Definition at line 93 of file pgstat_backend.c.
References 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 111 of file pgstat_backend.c.
References AuxiliaryPidGetProc(), B_INVALID, BackendPidGetProc(), GetNumberFromPGProc, pgstat_fetch_stat_backend(), pgstat_get_beentry_by_proc_number(), pgstat_tracks_backend_bktype(), PgBackendStatus::st_backendType, and PgBackendStatus::st_procpid.
Referenced by pg_stat_get_backend_io(), and pg_stat_get_backend_wal().
| bool pgstat_flush_backend | ( | bool | nowait, |
| bits32 | flags | ||
| ) |
Definition at line 271 of file pgstat_backend.c.
References backend_has_iostats, InvalidOid, MyBackendType, MyProcNumber, PGSTAT_BACKEND_FLUSH_IO, PGSTAT_BACKEND_FLUSH_WAL, pgstat_backend_wal_have_pending(), pgstat_flush_backend_entry_io(), 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 166 of file pgstat_backend.c.
References backend_has_iostats, PgStat_BktypeIO::bytes, PgStat_PendingIO::bytes, PgStat_BktypeIO::counts, PgStat_PendingIO::counts, for(), INSTR_TIME_GET_MICROSEC, PgStat_Backend::io_stats, IOCONTEXT_NUM_TYPES, IOOBJECT_NUM_TYPES, IOOP_NUM_TYPES, MemSet, PgStat_BackendPending::pending_io, PgStat_PendingIO::pending_times, PendingBackendStats, PgStat_EntryRef::shared_stats, PgStatShared_Backend::stats, and PgStat_BktypeIO::times.
Referenced by pgstat_flush_backend().
|
static |
Definition at line 226 of file pgstat_backend.c.
References pgstat_backend_wal_have_pending(), pgWalUsage, prevBackendWalUsage, PgStat_EntryRef::shared_stats, PgStatShared_Backend::stats, PgStat_Backend::wal_counters, WALSTAT_ACC, and WalUsageAccumDiff().
Referenced by pgstat_flush_backend().
| bool pgstat_tracks_backend_bktype | ( | BackendType | bktype | ) |
Definition at line 366 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_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, and B_WAL_WRITER.
Referenced by pg_stat_reset_backend_stats(), pgstat_bestart_final(), pgstat_count_backend_io_op(), pgstat_count_backend_io_op_time(), pgstat_fetch_stat_backend_by_pid(), and pgstat_flush_backend().
|
static |
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().
|
static |
Definition at line 40 of file pgstat_backend.c.
Referenced by pgstat_count_backend_io_op(), pgstat_count_backend_io_op_time(), pgstat_create_backend(), and pgstat_flush_backend_entry_io().
|
static |
Definition at line 49 of file pgstat_backend.c.
Referenced by pgstat_backend_wal_have_pending(), pgstat_create_backend(), and pgstat_flush_backend_entry_wal().