Line data Source code
1 : /*------------------------------------------------------------------------- 2 : * 3 : * pgstat_wait_event.c 4 : * Generated wait events infrastructure code 5 : * 6 : * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group 7 : * Portions Copyright (c) 1994, Regents of the University of California 8 : * 9 : * NOTES 10 : * ****************************** 11 : * *** DO NOT EDIT THIS FILE! *** 12 : * ****************************** 13 : * 14 : * It has been GENERATED by src/backend/utils/activity/generate-wait_event_types.pl 15 : * 16 : *------------------------------------------------------------------------- 17 : */ 18 : 19 : static const char * 20 15954 : pgstat_get_wait_activity(WaitEventActivity w) 21 : { 22 15954 : const char *event_name = "unknown wait event"; 23 : 24 15954 : switch (w) 25 : { 26 58 : case WAIT_EVENT_ARCHIVER_MAIN: 27 58 : event_name = "ArchiverMain"; 28 58 : break; 29 1676 : case WAIT_EVENT_AUTOVACUUM_MAIN: 30 1676 : event_name = "AutovacuumMain"; 31 1676 : break; 32 324 : case WAIT_EVENT_BGWRITER_HIBERNATE: 33 324 : event_name = "BgwriterHibernate"; 34 324 : break; 35 1502 : case WAIT_EVENT_BGWRITER_MAIN: 36 1502 : event_name = "BgwriterMain"; 37 1502 : break; 38 1798 : case WAIT_EVENT_CHECKPOINTER_MAIN: 39 1798 : event_name = "CheckpointerMain"; 40 1798 : break; 41 0 : case WAIT_EVENT_CHECKPOINTER_SHUTDOWN: 42 0 : event_name = "CheckpointerShutdown"; 43 0 : break; 44 6068 : case WAIT_EVENT_IO_WORKER_MAIN: 45 6068 : event_name = "IoWorkerMain"; 46 6068 : break; 47 76 : case WAIT_EVENT_LOGICAL_APPLY_MAIN: 48 76 : event_name = "LogicalApplyMain"; 49 76 : break; 50 1800 : case WAIT_EVENT_LOGICAL_LAUNCHER_MAIN: 51 1800 : event_name = "LogicalLauncherMain"; 52 1800 : break; 53 0 : case WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN: 54 0 : event_name = "LogicalParallelApplyMain"; 55 0 : break; 56 26 : case WAIT_EVENT_RECOVERY_WAL_STREAM: 57 26 : event_name = "RecoveryWalStream"; 58 26 : break; 59 0 : case WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN: 60 0 : event_name = "ReplicationSlotsyncMain"; 61 0 : break; 62 0 : case WAIT_EVENT_REPLICATION_SLOTSYNC_SHUTDOWN: 63 0 : event_name = "ReplicationSlotsyncShutdown"; 64 0 : break; 65 0 : case WAIT_EVENT_SYSLOGGER_MAIN: 66 0 : event_name = "SysloggerMain"; 67 0 : break; 68 26 : case WAIT_EVENT_WAL_RECEIVER_MAIN: 69 26 : event_name = "WalReceiverMain"; 70 26 : break; 71 802 : case WAIT_EVENT_WAL_SENDER_MAIN: 72 802 : event_name = "WalSenderMain"; 73 802 : break; 74 0 : case WAIT_EVENT_WAL_SUMMARIZER_WAL: 75 0 : event_name = "WalSummarizerWal"; 76 0 : break; 77 1798 : case WAIT_EVENT_WAL_WRITER_MAIN: 78 1798 : event_name = "WalWriterMain"; 79 1798 : break; 80 : /* no default case, so that compiler will warn */ 81 : } 82 : 83 15954 : return event_name; 84 : } 85 : 86 : static const char * 87 0 : pgstat_get_wait_bufferpin(WaitEventBufferPin w) 88 : { 89 0 : const char *event_name = "unknown wait event"; 90 : 91 0 : switch (w) 92 : { 93 0 : case WAIT_EVENT_BUFFER_PIN: 94 0 : event_name = "BufferPin"; 95 0 : break; 96 : /* no default case, so that compiler will warn */ 97 : } 98 : 99 0 : return event_name; 100 : } 101 : 102 : static const char * 103 1522 : pgstat_get_wait_client(WaitEventClient w) 104 : { 105 1522 : const char *event_name = "unknown wait event"; 106 : 107 1522 : switch (w) 108 : { 109 444 : case WAIT_EVENT_CLIENT_READ: 110 444 : event_name = "ClientRead"; 111 444 : break; 112 0 : case WAIT_EVENT_CLIENT_WRITE: 113 0 : event_name = "ClientWrite"; 114 0 : break; 115 0 : case WAIT_EVENT_GSS_OPEN_SERVER: 116 0 : event_name = "GssOpenServer"; 117 0 : break; 118 0 : case WAIT_EVENT_LIBPQWALRECEIVER_CONNECT: 119 0 : event_name = "LibpqwalreceiverConnect"; 120 0 : break; 121 2 : case WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE: 122 2 : event_name = "LibpqwalreceiverReceive"; 123 2 : break; 124 0 : case WAIT_EVENT_SSL_OPEN_SERVER: 125 0 : event_name = "SslOpenServer"; 126 0 : break; 127 4 : case WAIT_EVENT_WAIT_FOR_STANDBY_CONFIRMATION: 128 4 : event_name = "WaitForStandbyConfirmation"; 129 4 : break; 130 1070 : case WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL: 131 1070 : event_name = "WalSenderWaitForWal"; 132 1070 : break; 133 2 : case WAIT_EVENT_WAL_SENDER_WRITE_DATA: 134 2 : event_name = "WalSenderWriteData"; 135 2 : break; 136 : /* no default case, so that compiler will warn */ 137 : } 138 : 139 1522 : return event_name; 140 : } 141 : 142 : static const char * 143 18 : pgstat_get_wait_io(WaitEventIO w) 144 : { 145 18 : const char *event_name = "unknown wait event"; 146 : 147 18 : switch (w) 148 : { 149 6 : case WAIT_EVENT_AIO_IO_COMPLETION: 150 6 : event_name = "AioIoCompletion"; 151 6 : break; 152 0 : case WAIT_EVENT_AIO_IO_URING_EXECUTION: 153 0 : event_name = "AioIoUringExecution"; 154 0 : break; 155 0 : case WAIT_EVENT_AIO_IO_URING_SUBMIT: 156 0 : event_name = "AioIoUringSubmit"; 157 0 : break; 158 0 : case WAIT_EVENT_BASEBACKUP_READ: 159 0 : event_name = "BasebackupRead"; 160 0 : break; 161 0 : case WAIT_EVENT_BASEBACKUP_SYNC: 162 0 : event_name = "BasebackupSync"; 163 0 : break; 164 0 : case WAIT_EVENT_BASEBACKUP_WRITE: 165 0 : event_name = "BasebackupWrite"; 166 0 : break; 167 0 : case WAIT_EVENT_BUFFILE_READ: 168 0 : event_name = "BuffileRead"; 169 0 : break; 170 0 : case WAIT_EVENT_BUFFILE_TRUNCATE: 171 0 : event_name = "BuffileTruncate"; 172 0 : break; 173 0 : case WAIT_EVENT_BUFFILE_WRITE: 174 0 : event_name = "BuffileWrite"; 175 0 : break; 176 0 : case WAIT_EVENT_CONTROL_FILE_READ: 177 0 : event_name = "ControlFileRead"; 178 0 : break; 179 0 : case WAIT_EVENT_CONTROL_FILE_SYNC: 180 0 : event_name = "ControlFileSync"; 181 0 : break; 182 0 : case WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE: 183 0 : event_name = "ControlFileSyncUpdate"; 184 0 : break; 185 0 : case WAIT_EVENT_CONTROL_FILE_WRITE: 186 0 : event_name = "ControlFileWrite"; 187 0 : break; 188 0 : case WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE: 189 0 : event_name = "ControlFileWriteUpdate"; 190 0 : break; 191 0 : case WAIT_EVENT_COPY_FILE_COPY: 192 0 : event_name = "CopyFileCopy"; 193 0 : break; 194 0 : case WAIT_EVENT_COPY_FILE_READ: 195 0 : event_name = "CopyFileRead"; 196 0 : break; 197 0 : case WAIT_EVENT_COPY_FILE_WRITE: 198 0 : event_name = "CopyFileWrite"; 199 0 : break; 200 4 : case WAIT_EVENT_DATA_FILE_EXTEND: 201 4 : event_name = "DataFileExtend"; 202 4 : break; 203 0 : case WAIT_EVENT_DATA_FILE_FLUSH: 204 0 : event_name = "DataFileFlush"; 205 0 : break; 206 0 : case WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC: 207 0 : event_name = "DataFileImmediateSync"; 208 0 : break; 209 0 : case WAIT_EVENT_DATA_FILE_PREFETCH: 210 0 : event_name = "DataFilePrefetch"; 211 0 : break; 212 0 : case WAIT_EVENT_DATA_FILE_READ: 213 0 : event_name = "DataFileRead"; 214 0 : break; 215 0 : case WAIT_EVENT_DATA_FILE_SYNC: 216 0 : event_name = "DataFileSync"; 217 0 : break; 218 0 : case WAIT_EVENT_DATA_FILE_TRUNCATE: 219 0 : event_name = "DataFileTruncate"; 220 0 : break; 221 0 : case WAIT_EVENT_DATA_FILE_WRITE: 222 0 : event_name = "DataFileWrite"; 223 0 : break; 224 0 : case WAIT_EVENT_DSM_ALLOCATE: 225 0 : event_name = "DsmAllocate"; 226 0 : break; 227 0 : case WAIT_EVENT_DSM_FILL_ZERO_WRITE: 228 0 : event_name = "DsmFillZeroWrite"; 229 0 : break; 230 0 : case WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ: 231 0 : event_name = "LockFileAddtodatadirRead"; 232 0 : break; 233 0 : case WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC: 234 0 : event_name = "LockFileAddtodatadirSync"; 235 0 : break; 236 0 : case WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE: 237 0 : event_name = "LockFileAddtodatadirWrite"; 238 0 : break; 239 0 : case WAIT_EVENT_LOCK_FILE_CREATE_READ: 240 0 : event_name = "LockFileCreateRead"; 241 0 : break; 242 0 : case WAIT_EVENT_LOCK_FILE_CREATE_SYNC: 243 0 : event_name = "LockFileCreateSync"; 244 0 : break; 245 0 : case WAIT_EVENT_LOCK_FILE_CREATE_WRITE: 246 0 : event_name = "LockFileCreateWrite"; 247 0 : break; 248 0 : case WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ: 249 0 : event_name = "LockFileRecheckdatadirRead"; 250 0 : break; 251 0 : case WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC: 252 0 : event_name = "LogicalRewriteCheckpointSync"; 253 0 : break; 254 0 : case WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC: 255 0 : event_name = "LogicalRewriteMappingSync"; 256 0 : break; 257 0 : case WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE: 258 0 : event_name = "LogicalRewriteMappingWrite"; 259 0 : break; 260 0 : case WAIT_EVENT_LOGICAL_REWRITE_SYNC: 261 0 : event_name = "LogicalRewriteSync"; 262 0 : break; 263 0 : case WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE: 264 0 : event_name = "LogicalRewriteTruncate"; 265 0 : break; 266 0 : case WAIT_EVENT_LOGICAL_REWRITE_WRITE: 267 0 : event_name = "LogicalRewriteWrite"; 268 0 : break; 269 0 : case WAIT_EVENT_RELATION_MAP_READ: 270 0 : event_name = "RelationMapRead"; 271 0 : break; 272 0 : case WAIT_EVENT_RELATION_MAP_REPLACE: 273 0 : event_name = "RelationMapReplace"; 274 0 : break; 275 0 : case WAIT_EVENT_RELATION_MAP_WRITE: 276 0 : event_name = "RelationMapWrite"; 277 0 : break; 278 0 : case WAIT_EVENT_REORDER_BUFFER_READ: 279 0 : event_name = "ReorderBufferRead"; 280 0 : break; 281 6 : case WAIT_EVENT_REORDER_BUFFER_WRITE: 282 6 : event_name = "ReorderBufferWrite"; 283 6 : break; 284 0 : case WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ: 285 0 : event_name = "ReorderLogicalMappingRead"; 286 0 : break; 287 0 : case WAIT_EVENT_REPLICATION_SLOT_READ: 288 0 : event_name = "ReplicationSlotRead"; 289 0 : break; 290 0 : case WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC: 291 0 : event_name = "ReplicationSlotRestoreSync"; 292 0 : break; 293 0 : case WAIT_EVENT_REPLICATION_SLOT_SYNC: 294 0 : event_name = "ReplicationSlotSync"; 295 0 : break; 296 0 : case WAIT_EVENT_REPLICATION_SLOT_WRITE: 297 0 : event_name = "ReplicationSlotWrite"; 298 0 : break; 299 0 : case WAIT_EVENT_SLRU_FLUSH_SYNC: 300 0 : event_name = "SlruFlushSync"; 301 0 : break; 302 0 : case WAIT_EVENT_SLRU_READ: 303 0 : event_name = "SlruRead"; 304 0 : break; 305 0 : case WAIT_EVENT_SLRU_SYNC: 306 0 : event_name = "SlruSync"; 307 0 : break; 308 0 : case WAIT_EVENT_SLRU_WRITE: 309 0 : event_name = "SlruWrite"; 310 0 : break; 311 0 : case WAIT_EVENT_SNAPBUILD_READ: 312 0 : event_name = "SnapbuildRead"; 313 0 : break; 314 0 : case WAIT_EVENT_SNAPBUILD_SYNC: 315 0 : event_name = "SnapbuildSync"; 316 0 : break; 317 0 : case WAIT_EVENT_SNAPBUILD_WRITE: 318 0 : event_name = "SnapbuildWrite"; 319 0 : break; 320 0 : case WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC: 321 0 : event_name = "TimelineHistoryFileSync"; 322 0 : break; 323 0 : case WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE: 324 0 : event_name = "TimelineHistoryFileWrite"; 325 0 : break; 326 0 : case WAIT_EVENT_TIMELINE_HISTORY_READ: 327 0 : event_name = "TimelineHistoryRead"; 328 0 : break; 329 0 : case WAIT_EVENT_TIMELINE_HISTORY_SYNC: 330 0 : event_name = "TimelineHistorySync"; 331 0 : break; 332 0 : case WAIT_EVENT_TIMELINE_HISTORY_WRITE: 333 0 : event_name = "TimelineHistoryWrite"; 334 0 : break; 335 0 : case WAIT_EVENT_TWOPHASE_FILE_READ: 336 0 : event_name = "TwophaseFileRead"; 337 0 : break; 338 0 : case WAIT_EVENT_TWOPHASE_FILE_SYNC: 339 0 : event_name = "TwophaseFileSync"; 340 0 : break; 341 0 : case WAIT_EVENT_TWOPHASE_FILE_WRITE: 342 0 : event_name = "TwophaseFileWrite"; 343 0 : break; 344 0 : case WAIT_EVENT_VERSION_FILE_SYNC: 345 0 : event_name = "VersionFileSync"; 346 0 : break; 347 0 : case WAIT_EVENT_VERSION_FILE_WRITE: 348 0 : event_name = "VersionFileWrite"; 349 0 : break; 350 0 : case WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ: 351 0 : event_name = "WalsenderTimelineHistoryRead"; 352 0 : break; 353 0 : case WAIT_EVENT_WAL_BOOTSTRAP_SYNC: 354 0 : event_name = "WalBootstrapSync"; 355 0 : break; 356 0 : case WAIT_EVENT_WAL_BOOTSTRAP_WRITE: 357 0 : event_name = "WalBootstrapWrite"; 358 0 : break; 359 0 : case WAIT_EVENT_WAL_COPY_READ: 360 0 : event_name = "WalCopyRead"; 361 0 : break; 362 0 : case WAIT_EVENT_WAL_COPY_SYNC: 363 0 : event_name = "WalCopySync"; 364 0 : break; 365 0 : case WAIT_EVENT_WAL_COPY_WRITE: 366 0 : event_name = "WalCopyWrite"; 367 0 : break; 368 0 : case WAIT_EVENT_WAL_INIT_SYNC: 369 0 : event_name = "WalInitSync"; 370 0 : break; 371 2 : case WAIT_EVENT_WAL_INIT_WRITE: 372 2 : event_name = "WalInitWrite"; 373 2 : break; 374 0 : case WAIT_EVENT_WAL_READ: 375 0 : event_name = "WalRead"; 376 0 : break; 377 0 : case WAIT_EVENT_WAL_SUMMARY_READ: 378 0 : event_name = "WalSummaryRead"; 379 0 : break; 380 0 : case WAIT_EVENT_WAL_SUMMARY_WRITE: 381 0 : event_name = "WalSummaryWrite"; 382 0 : break; 383 0 : case WAIT_EVENT_WAL_SYNC: 384 0 : event_name = "WalSync"; 385 0 : break; 386 0 : case WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN: 387 0 : event_name = "WalSyncMethodAssign"; 388 0 : break; 389 0 : case WAIT_EVENT_WAL_WRITE: 390 0 : event_name = "WalWrite"; 391 0 : break; 392 : /* no default case, so that compiler will warn */ 393 : } 394 : 395 18 : return event_name; 396 : } 397 : 398 : static const char * 399 34 : pgstat_get_wait_ipc(WaitEventIPC w) 400 : { 401 34 : const char *event_name = "unknown wait event"; 402 : 403 34 : switch (w) 404 : { 405 0 : case WAIT_EVENT_APPEND_READY: 406 0 : event_name = "AppendReady"; 407 0 : break; 408 0 : case WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND: 409 0 : event_name = "ArchiveCleanupCommand"; 410 0 : break; 411 2 : case WAIT_EVENT_ARCHIVE_COMMAND: 412 2 : event_name = "ArchiveCommand"; 413 2 : break; 414 0 : case WAIT_EVENT_BACKEND_TERMINATION: 415 0 : event_name = "BackendTermination"; 416 0 : break; 417 0 : case WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE: 418 0 : event_name = "BackupWaitWalArchive"; 419 0 : break; 420 0 : case WAIT_EVENT_BGWORKER_SHUTDOWN: 421 0 : event_name = "BgworkerShutdown"; 422 0 : break; 423 0 : case WAIT_EVENT_BGWORKER_STARTUP: 424 0 : event_name = "BgworkerStartup"; 425 0 : break; 426 0 : case WAIT_EVENT_BTREE_PAGE: 427 0 : event_name = "BtreePage"; 428 0 : break; 429 8 : case WAIT_EVENT_BUFFER_IO: 430 8 : event_name = "BufferIo"; 431 8 : break; 432 0 : case WAIT_EVENT_CHECKPOINT_DELAY_COMPLETE: 433 0 : event_name = "CheckpointDelayComplete"; 434 0 : break; 435 0 : case WAIT_EVENT_CHECKPOINT_DELAY_START: 436 0 : event_name = "CheckpointDelayStart"; 437 0 : break; 438 2 : case WAIT_EVENT_CHECKPOINT_DONE: 439 2 : event_name = "CheckpointDone"; 440 2 : break; 441 0 : case WAIT_EVENT_CHECKPOINT_START: 442 0 : event_name = "CheckpointStart"; 443 0 : break; 444 2 : case WAIT_EVENT_EXECUTE_GATHER: 445 2 : event_name = "ExecuteGather"; 446 2 : break; 447 0 : case WAIT_EVENT_HASH_BATCH_ALLOCATE: 448 0 : event_name = "HashBatchAllocate"; 449 0 : break; 450 0 : case WAIT_EVENT_HASH_BATCH_ELECT: 451 0 : event_name = "HashBatchElect"; 452 0 : break; 453 0 : case WAIT_EVENT_HASH_BATCH_LOAD: 454 0 : event_name = "HashBatchLoad"; 455 0 : break; 456 0 : case WAIT_EVENT_HASH_BUILD_ALLOCATE: 457 0 : event_name = "HashBuildAllocate"; 458 0 : break; 459 0 : case WAIT_EVENT_HASH_BUILD_ELECT: 460 0 : event_name = "HashBuildElect"; 461 0 : break; 462 0 : case WAIT_EVENT_HASH_BUILD_HASH_INNER: 463 0 : event_name = "HashBuildHashInner"; 464 0 : break; 465 0 : case WAIT_EVENT_HASH_BUILD_HASH_OUTER: 466 0 : event_name = "HashBuildHashOuter"; 467 0 : break; 468 0 : case WAIT_EVENT_HASH_GROW_BATCHES_DECIDE: 469 0 : event_name = "HashGrowBatchesDecide"; 470 0 : break; 471 0 : case WAIT_EVENT_HASH_GROW_BATCHES_ELECT: 472 0 : event_name = "HashGrowBatchesElect"; 473 0 : break; 474 0 : case WAIT_EVENT_HASH_GROW_BATCHES_FINISH: 475 0 : event_name = "HashGrowBatchesFinish"; 476 0 : break; 477 0 : case WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE: 478 0 : event_name = "HashGrowBatchesReallocate"; 479 0 : break; 480 0 : case WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION: 481 0 : event_name = "HashGrowBatchesRepartition"; 482 0 : break; 483 0 : case WAIT_EVENT_HASH_GROW_BUCKETS_ELECT: 484 0 : event_name = "HashGrowBucketsElect"; 485 0 : break; 486 0 : case WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE: 487 0 : event_name = "HashGrowBucketsReallocate"; 488 0 : break; 489 0 : case WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT: 490 0 : event_name = "HashGrowBucketsReinsert"; 491 0 : break; 492 0 : case WAIT_EVENT_LOGICAL_APPLY_SEND_DATA: 493 0 : event_name = "LogicalApplySendData"; 494 0 : break; 495 0 : case WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE: 496 0 : event_name = "LogicalParallelApplyStateChange"; 497 0 : break; 498 0 : case WAIT_EVENT_LOGICAL_SYNC_DATA: 499 0 : event_name = "LogicalSyncData"; 500 0 : break; 501 0 : case WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE: 502 0 : event_name = "LogicalSyncStateChange"; 503 0 : break; 504 0 : case WAIT_EVENT_MEM_CXT_PUBLISH: 505 0 : event_name = "MemCxtPublish"; 506 0 : break; 507 0 : case WAIT_EVENT_MESSAGE_QUEUE_INTERNAL: 508 0 : event_name = "MessageQueueInternal"; 509 0 : break; 510 0 : case WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE: 511 0 : event_name = "MessageQueuePutMessage"; 512 0 : break; 513 0 : case WAIT_EVENT_MESSAGE_QUEUE_RECEIVE: 514 0 : event_name = "MessageQueueReceive"; 515 0 : break; 516 0 : case WAIT_EVENT_MESSAGE_QUEUE_SEND: 517 0 : event_name = "MessageQueueSend"; 518 0 : break; 519 0 : case WAIT_EVENT_MULTIXACT_CREATION: 520 0 : event_name = "MultixactCreation"; 521 0 : break; 522 0 : case WAIT_EVENT_PARALLEL_BITMAP_SCAN: 523 0 : event_name = "ParallelBitmapScan"; 524 0 : break; 525 0 : case WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN: 526 0 : event_name = "ParallelCreateIndexScan"; 527 0 : break; 528 0 : case WAIT_EVENT_PARALLEL_FINISH: 529 0 : event_name = "ParallelFinish"; 530 0 : break; 531 0 : case WAIT_EVENT_PROCARRAY_GROUP_UPDATE: 532 0 : event_name = "ProcarrayGroupUpdate"; 533 0 : break; 534 0 : case WAIT_EVENT_PROC_SIGNAL_BARRIER: 535 0 : event_name = "ProcSignalBarrier"; 536 0 : break; 537 0 : case WAIT_EVENT_PROMOTE: 538 0 : event_name = "Promote"; 539 0 : break; 540 0 : case WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT: 541 0 : event_name = "RecoveryConflictSnapshot"; 542 0 : break; 543 0 : case WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE: 544 0 : event_name = "RecoveryConflictTablespace"; 545 0 : break; 546 0 : case WAIT_EVENT_RECOVERY_END_COMMAND: 547 0 : event_name = "RecoveryEndCommand"; 548 0 : break; 549 0 : case WAIT_EVENT_RECOVERY_PAUSE: 550 0 : event_name = "RecoveryPause"; 551 0 : break; 552 0 : case WAIT_EVENT_REPLICATION_ORIGIN_DROP: 553 0 : event_name = "ReplicationOriginDrop"; 554 0 : break; 555 0 : case WAIT_EVENT_REPLICATION_SLOT_DROP: 556 0 : event_name = "ReplicationSlotDrop"; 557 0 : break; 558 0 : case WAIT_EVENT_RESTORE_COMMAND: 559 0 : event_name = "RestoreCommand"; 560 0 : break; 561 0 : case WAIT_EVENT_SAFE_SNAPSHOT: 562 0 : event_name = "SafeSnapshot"; 563 0 : break; 564 0 : case WAIT_EVENT_SYNC_REP: 565 0 : event_name = "SyncRep"; 566 0 : break; 567 20 : case WAIT_EVENT_WAL_BUFFER_INIT: 568 20 : event_name = "WalBufferInit"; 569 20 : break; 570 0 : case WAIT_EVENT_WAL_RECEIVER_EXIT: 571 0 : event_name = "WalReceiverExit"; 572 0 : break; 573 0 : case WAIT_EVENT_WAL_RECEIVER_WAIT_START: 574 0 : event_name = "WalReceiverWaitStart"; 575 0 : break; 576 0 : case WAIT_EVENT_WAL_SUMMARY_READY: 577 0 : event_name = "WalSummaryReady"; 578 0 : break; 579 0 : case WAIT_EVENT_XACT_GROUP_UPDATE: 580 0 : event_name = "XactGroupUpdate"; 581 0 : break; 582 : /* no default case, so that compiler will warn */ 583 : } 584 : 585 34 : return event_name; 586 : } 587 : 588 : static const char * 589 62 : pgstat_get_wait_timeout(WaitEventTimeout w) 590 : { 591 62 : const char *event_name = "unknown wait event"; 592 : 593 62 : switch (w) 594 : { 595 10 : case WAIT_EVENT_BASE_BACKUP_THROTTLE: 596 10 : event_name = "BaseBackupThrottle"; 597 10 : break; 598 26 : case WAIT_EVENT_CHECKPOINT_WRITE_DELAY: 599 26 : event_name = "CheckpointWriteDelay"; 600 26 : break; 601 26 : case WAIT_EVENT_PG_SLEEP: 602 26 : event_name = "PgSleep"; 603 26 : break; 604 0 : case WAIT_EVENT_RECOVERY_APPLY_DELAY: 605 0 : event_name = "RecoveryApplyDelay"; 606 0 : break; 607 0 : case WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL: 608 0 : event_name = "RecoveryRetrieveRetryInterval"; 609 0 : break; 610 0 : case WAIT_EVENT_REGISTER_SYNC_REQUEST: 611 0 : event_name = "RegisterSyncRequest"; 612 0 : break; 613 0 : case WAIT_EVENT_SPIN_DELAY: 614 0 : event_name = "SpinDelay"; 615 0 : break; 616 0 : case WAIT_EVENT_VACUUM_DELAY: 617 0 : event_name = "VacuumDelay"; 618 0 : break; 619 0 : case WAIT_EVENT_VACUUM_TRUNCATE: 620 0 : event_name = "VacuumTruncate"; 621 0 : break; 622 0 : case WAIT_EVENT_WAL_SUMMARIZER_ERROR: 623 0 : event_name = "WalSummarizerError"; 624 0 : break; 625 : /* no default case, so that compiler will warn */ 626 : } 627 : 628 62 : return event_name; 629 : } 630 :