PostgreSQL Source Code git master
Macros | Typedefs | Enumerations | Functions
backend_progress.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define  PGSTAT_NUM_PROGRESS_PARAM   20
 

Typedefs

 

Enumerations

 

Functions

 
 
 
 
void  pgstat_progress_update_multi_param (int nparam, const int *index, const int64 *val)
 
 

Macro Definition Documentation

PGSTAT_NUM_PROGRESS_PARAM

#define PGSTAT_NUM_PROGRESS_PARAM   20

Definition at line 33 of file backend_progress.h.

Typedef Documentation

ProgressCommandType

Enumeration Type Documentation

ProgressCommandType

Enumerator
PROGRESS_COMMAND_INVALID 
PROGRESS_COMMAND_VACUUM 
PROGRESS_COMMAND_ANALYZE 
PROGRESS_COMMAND_CLUSTER 
PROGRESS_COMMAND_CREATE_INDEX 
PROGRESS_COMMAND_BASEBACKUP 
PROGRESS_COMMAND_COPY 

Definition at line 22 of file backend_progress.h.

23{
ProgressCommandType
@ PROGRESS_COMMAND_ANALYZE
@ PROGRESS_COMMAND_CLUSTER
@ PROGRESS_COMMAND_CREATE_INDEX
@ PROGRESS_COMMAND_VACUUM
@ PROGRESS_COMMAND_INVALID
@ PROGRESS_COMMAND_BASEBACKUP
@ PROGRESS_COMMAND_COPY

Function Documentation

pgstat_progress_end_command()

void pgstat_progress_end_command ( void  )

Definition at line 150 of file backend_progress.c.

151{
152 volatile PgBackendStatus *beentry = MyBEEntry;
153
154 if (!beentry || !pgstat_track_activities)
155 return;
156
158 return;
159
164}
PgBackendStatus * MyBEEntry
Definition: backend_status.c:47
bool pgstat_track_activities
Definition: backend_status.c:42
#define PGSTAT_END_WRITE_ACTIVITY(beentry)
#define PGSTAT_BEGIN_WRITE_ACTIVITY(beentry)
#define InvalidOid
Definition: postgres_ext.h:37
ProgressCommandType st_progress_command
Oid st_progress_command_target

References InvalidOid, MyBEEntry, PGSTAT_BEGIN_WRITE_ACTIVITY, PGSTAT_END_WRITE_ACTIVITY, pgstat_track_activities, PROGRESS_COMMAND_INVALID, PgBackendStatus::st_progress_command, and PgBackendStatus::st_progress_command_target.

Referenced by AbortSubTransaction(), AbortTransaction(), analyze_rel(), basebackup_progress_done(), cluster_rel(), DefineIndex(), EndCopy(), EndCopyFrom(), heap_vacuum_rel(), reindex_index(), and ReindexRelationConcurrently().

pgstat_progress_incr_param()

void pgstat_progress_incr_param ( int  index,
int64  incr 
)

Definition at line 69 of file backend_progress.c.

70{
71 volatile PgBackendStatus *beentry = MyBEEntry;
72
74
75 if (!beentry || !pgstat_track_activities)
76 return;
77
79 beentry->st_progress_param[index] += incr;
81}
#define PGSTAT_NUM_PROGRESS_PARAM
Assert(PointerIsAligned(start, uint64))
int64 st_progress_param[PGSTAT_NUM_PROGRESS_PARAM]
Definition: type.h:96

References Assert(), MyBEEntry, PGSTAT_BEGIN_WRITE_ACTIVITY, PGSTAT_END_WRITE_ACTIVITY, PGSTAT_NUM_PROGRESS_PARAM, pgstat_track_activities, and PgBackendStatus::st_progress_param.

Referenced by DefineIndex(), pgstat_progress_parallel_incr_param(), ProcessParallelMessage(), and vacuum_delay_point().

pgstat_progress_parallel_incr_param()

void pgstat_progress_parallel_incr_param ( int  index,
int64  incr 
)

Definition at line 91 of file backend_progress.c.

92{
93 /*
94 * Parallel workers notify a leader through a PqMsg_Progress message to
95 * update progress, passing the progress index and incremented value.
96 * Leaders can just call pgstat_progress_incr_param directly.
97 */
98 if (IsParallelWorker())
99 {
100 static StringInfoData progress_message;
101
102 initStringInfo(&progress_message);
103
104 pq_beginmessage(&progress_message, PqMsg_Progress);
105 pq_sendint32(&progress_message, index);
106 pq_sendint64(&progress_message, incr);
107 pq_endmessage(&progress_message);
108 }
109 else
111}
void pgstat_progress_incr_param(int index, int64 incr)
#define IsParallelWorker()
Definition: parallel.h:60
void pq_endmessage(StringInfo buf)
Definition: pqformat.c:296
void pq_beginmessage(StringInfo buf, char msgtype)
Definition: pqformat.c:88
static void pq_sendint32(StringInfo buf, uint32 i)
Definition: pqformat.h:144
static void pq_sendint64(StringInfo buf, uint64 i)
Definition: pqformat.h:152
#define PqMsg_Progress
Definition: protocol.h:70
void initStringInfo(StringInfo str)
Definition: stringinfo.c:97

References initStringInfo(), IsParallelWorker, pgstat_progress_incr_param(), pq_beginmessage(), pq_endmessage(), pq_sendint32(), pq_sendint64(), and PqMsg_Progress.

Referenced by parallel_vacuum_main(), parallel_vacuum_process_one_index(), and vacuum_delay_point().

pgstat_progress_start_command()

void pgstat_progress_start_command ( ProgressCommandType  cmdtype,
Oid  relid 
)

Definition at line 27 of file backend_progress.c.

28{
29 volatile PgBackendStatus *beentry = MyBEEntry;
30
31 if (!beentry || !pgstat_track_activities)
32 return;
33
35 beentry->st_progress_command = cmdtype;
36 beentry->st_progress_command_target = relid;
37 MemSet(&beentry->st_progress_param, 0, sizeof(beentry->st_progress_param));
39}
#define MemSet(start, val, len)
Definition: c.h:1019

References MemSet, MyBEEntry, PGSTAT_BEGIN_WRITE_ACTIVITY, PGSTAT_END_WRITE_ACTIVITY, pgstat_track_activities, PgBackendStatus::st_progress_command, PgBackendStatus::st_progress_command_target, and PgBackendStatus::st_progress_param.

Referenced by analyze_rel(), bbsink_progress_new(), BeginCopyFrom(), BeginCopyTo(), cluster_rel(), DefineIndex(), heap_vacuum_rel(), reindex_index(), and ReindexRelationConcurrently().

pgstat_progress_update_multi_param()

void pgstat_progress_update_multi_param ( int  nparam,
const int *  index,
const int64val 
)

Definition at line 121 of file backend_progress.c.

123{
124 volatile PgBackendStatus *beentry = MyBEEntry;
125 int i;
126
127 if (!beentry || !pgstat_track_activities || nparam == 0)
128 return;
129
131
132 for (i = 0; i < nparam; ++i)
133 {
135
136 beentry->st_progress_param[index[i]] = val[i];
137 }
138
140}
long val
Definition: informix.c:689
i
int i
Definition: isn.c:77

References Assert(), i, MyBEEntry, PGSTAT_BEGIN_WRITE_ACTIVITY, PGSTAT_END_WRITE_ACTIVITY, PGSTAT_NUM_PROGRESS_PARAM, pgstat_track_activities, PgBackendStatus::st_progress_param, and val.

Referenced by _bt_spools_heapscan(), _gin_parallel_merge(), acquire_inherited_sample_rows(), basebackup_progress_wait_wal_archive(), bbsink_progress_archive_contents(), bbsink_progress_begin_backup(), BeginCopyFrom(), BeginCopyTo(), BuildRelationExtStatistics(), dead_items_add(), DefineIndex(), heapam_relation_copy_for_cluster(), index_build(), lazy_check_wraparound_failsafe(), lazy_cleanup_all_indexes(), lazy_scan_heap(), lazy_vacuum_all_indexes(), reindex_index(), ReindexRelationConcurrently(), validate_index(), and WaitForLockersMultiple().

pgstat_progress_update_param()

void pgstat_progress_update_param ( int  index,
int64  val 
)

Definition at line 48 of file backend_progress.c.

49{
50 volatile PgBackendStatus *beentry = MyBEEntry;
51
53
54 if (!beentry || !pgstat_track_activities)
55 return;
56
58 beentry->st_progress_param[index] = val;
60}

References Assert(), MyBEEntry, PGSTAT_BEGIN_WRITE_ACTIVITY, PGSTAT_END_WRITE_ACTIVITY, PGSTAT_NUM_PROGRESS_PARAM, pgstat_track_activities, PgBackendStatus::st_progress_param, and val.

Referenced by _bt_leafbuild(), _bt_load(), _bt_parallel_scan_and_sort(), _bt_spools_heapscan(), _gin_parallel_merge(), _gin_process_worker_data(), _h_indexbuild(), acquire_inherited_sample_rows(), acquire_sample_rows(), basebackup_progress_estimate_backup_size(), basebackup_progress_transfer_wal(), basebackup_progress_wait_checkpoint(), bbsink_progress_end_archive(), bbsink_progress_new(), btvacuumscan(), BuildRelationExtStatistics(), cluster_rel(), copy_dest_receive(), CopyFrom(), CopyLoadRawBuf(), CopyMultiInsertBufferFlush(), CopySendEndOfRow(), DefineIndex(), do_analyze_rel(), DoCopyTo(), finish_heap_swap(), ginbuild(), hashbuild(), heap_vacuum_rel(), heapam_index_build_range_scan(), heapam_index_validate_scan(), heapam_relation_copy_for_cluster(), lazy_cleanup_all_indexes(), lazy_scan_heap(), lazy_truncate_heap(), lazy_vacuum_all_indexes(), lazy_vacuum_heap_page(), lazy_vacuum_heap_rel(), reindex_index(), reindex_relation(), ReindexRelationConcurrently(), validate_index(), WaitForLockersMultiple(), and WaitForOlderSnapshots().

AltStyle によって変換されたページ (->オリジナル) /