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 11786 : pgstat_get_wait_activity(WaitEventActivity w) 21 : { 22 11786 : const char *event_name = "unknown wait event"; 23 : 24 11786 : switch (w) 25 : { 26 58 : case WAIT_EVENT_ARCHIVER_MAIN: 27 58 : event_name = "ArchiverMain"; 28 58 : break; 29 1280 : case WAIT_EVENT_AUTOVACUUM_MAIN: 30 1280 : event_name = "AutovacuumMain"; 31 1280 : break; 32 30 : case WAIT_EVENT_BGWRITER_HIBERNATE: 33 30 : event_name = "BgwriterHibernate"; 34 30 : break; 35 1388 : case WAIT_EVENT_BGWRITER_MAIN: 36 1388 : event_name = "BgwriterMain"; 37 1388 : break; 38 1392 : case WAIT_EVENT_CHECKPOINTER_MAIN: 39 1392 : event_name = "CheckpointerMain"; 40 1392 : break; 41 0 : case WAIT_EVENT_CHECKPOINTER_SHUTDOWN: 42 0 : event_name = "CheckpointerShutdown"; 43 0 : break; 44 4254 : case WAIT_EVENT_IO_WORKER_MAIN: 45 4254 : event_name = "IoWorkerMain"; 46 4254 : break; 47 74 : case WAIT_EVENT_LOGICAL_APPLY_MAIN: 48 74 : event_name = "LogicalApplyMain"; 49 74 : break; 50 1390 : case WAIT_EVENT_LOGICAL_LAUNCHER_MAIN: 51 1390 : event_name = "LogicalLauncherMain"; 52 1390 : break; 53 0 : case WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN: 54 0 : event_name = "LogicalParallelApplyMain"; 55 0 : break; 56 28 : case WAIT_EVENT_RECOVERY_WAL_STREAM: 57 28 : event_name = "RecoveryWalStream"; 58 28 : 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 28 : case WAIT_EVENT_WAL_RECEIVER_MAIN: 69 28 : event_name = "WalReceiverMain"; 70 28 : break; 71 474 : case WAIT_EVENT_WAL_SENDER_MAIN: 72 474 : event_name = "WalSenderMain"; 73 474 : break; 74 0 : case WAIT_EVENT_WAL_SUMMARIZER_WAL: 75 0 : event_name = "WalSummarizerWal"; 76 0 : break; 77 1390 : case WAIT_EVENT_WAL_WRITER_MAIN: 78 1390 : event_name = "WalWriterMain"; 79 1390 : break; 80 : /* no default case, so that compiler will warn */ 81 : } 82 : 83 11786 : 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 1158 : pgstat_get_wait_client(WaitEventClient w) 104 : { 105 1158 : const char *event_name = "unknown wait event"; 106 : 107 1158 : switch (w) 108 : { 109 112 : case WAIT_EVENT_CLIENT_READ: 110 112 : event_name = "ClientRead"; 111 112 : 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 0 : case WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE: 122 0 : event_name = "LibpqwalreceiverReceive"; 123 0 : 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 1042 : case WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL: 131 1042 : event_name = "WalSenderWaitForWal"; 132 1042 : break; 133 0 : case WAIT_EVENT_WAL_SENDER_WRITE_DATA: 134 0 : event_name = "WalSenderWriteData"; 135 0 : break; 136 : /* no default case, so that compiler will warn */ 137 : } 138 : 139 1158 : return event_name; 140 : } 141 : 142 : static const char * 143 20 : pgstat_get_wait_io(WaitEventIO w) 144 : { 145 20 : const char *event_name = "unknown wait event"; 146 : 147 20 : switch (w) 148 : { 149 10 : case WAIT_EVENT_AIO_IO_COMPLETION: 150 10 : event_name = "AioIoCompletion"; 151 10 : 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_READ: 192 0 : event_name = "CopyFileRead"; 193 0 : break; 194 0 : case WAIT_EVENT_COPY_FILE_WRITE: 195 0 : event_name = "CopyFileWrite"; 196 0 : break; 197 2 : case WAIT_EVENT_DATA_FILE_EXTEND: 198 2 : event_name = "DataFileExtend"; 199 2 : break; 200 0 : case WAIT_EVENT_DATA_FILE_FLUSH: 201 0 : event_name = "DataFileFlush"; 202 0 : break; 203 0 : case WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC: 204 0 : event_name = "DataFileImmediateSync"; 205 0 : break; 206 0 : case WAIT_EVENT_DATA_FILE_PREFETCH: 207 0 : event_name = "DataFilePrefetch"; 208 0 : break; 209 0 : case WAIT_EVENT_DATA_FILE_READ: 210 0 : event_name = "DataFileRead"; 211 0 : break; 212 0 : case WAIT_EVENT_DATA_FILE_SYNC: 213 0 : event_name = "DataFileSync"; 214 0 : break; 215 0 : case WAIT_EVENT_DATA_FILE_TRUNCATE: 216 0 : event_name = "DataFileTruncate"; 217 0 : break; 218 0 : case WAIT_EVENT_DATA_FILE_WRITE: 219 0 : event_name = "DataFileWrite"; 220 0 : break; 221 0 : case WAIT_EVENT_DSM_ALLOCATE: 222 0 : event_name = "DsmAllocate"; 223 0 : break; 224 0 : case WAIT_EVENT_DSM_FILL_ZERO_WRITE: 225 0 : event_name = "DsmFillZeroWrite"; 226 0 : break; 227 0 : case WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ: 228 0 : event_name = "LockFileAddtodatadirRead"; 229 0 : break; 230 0 : case WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC: 231 0 : event_name = "LockFileAddtodatadirSync"; 232 0 : break; 233 0 : case WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE: 234 0 : event_name = "LockFileAddtodatadirWrite"; 235 0 : break; 236 0 : case WAIT_EVENT_LOCK_FILE_CREATE_READ: 237 0 : event_name = "LockFileCreateRead"; 238 0 : break; 239 0 : case WAIT_EVENT_LOCK_FILE_CREATE_SYNC: 240 0 : event_name = "LockFileCreateSync"; 241 0 : break; 242 0 : case WAIT_EVENT_LOCK_FILE_CREATE_WRITE: 243 0 : event_name = "LockFileCreateWrite"; 244 0 : break; 245 0 : case WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ: 246 0 : event_name = "LockFileRecheckdatadirRead"; 247 0 : break; 248 0 : case WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC: 249 0 : event_name = "LogicalRewriteCheckpointSync"; 250 0 : break; 251 0 : case WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC: 252 0 : event_name = "LogicalRewriteMappingSync"; 253 0 : break; 254 0 : case WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE: 255 0 : event_name = "LogicalRewriteMappingWrite"; 256 0 : break; 257 0 : case WAIT_EVENT_LOGICAL_REWRITE_SYNC: 258 0 : event_name = "LogicalRewriteSync"; 259 0 : break; 260 0 : case WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE: 261 0 : event_name = "LogicalRewriteTruncate"; 262 0 : break; 263 0 : case WAIT_EVENT_LOGICAL_REWRITE_WRITE: 264 0 : event_name = "LogicalRewriteWrite"; 265 0 : break; 266 0 : case WAIT_EVENT_RELATION_MAP_READ: 267 0 : event_name = "RelationMapRead"; 268 0 : break; 269 0 : case WAIT_EVENT_RELATION_MAP_REPLACE: 270 0 : event_name = "RelationMapReplace"; 271 0 : break; 272 0 : case WAIT_EVENT_RELATION_MAP_WRITE: 273 0 : event_name = "RelationMapWrite"; 274 0 : break; 275 0 : case WAIT_EVENT_REORDER_BUFFER_READ: 276 0 : event_name = "ReorderBufferRead"; 277 0 : break; 278 6 : case WAIT_EVENT_REORDER_BUFFER_WRITE: 279 6 : event_name = "ReorderBufferWrite"; 280 6 : break; 281 0 : case WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ: 282 0 : event_name = "ReorderLogicalMappingRead"; 283 0 : break; 284 0 : case WAIT_EVENT_REPLICATION_SLOT_READ: 285 0 : event_name = "ReplicationSlotRead"; 286 0 : break; 287 0 : case WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC: 288 0 : event_name = "ReplicationSlotRestoreSync"; 289 0 : break; 290 0 : case WAIT_EVENT_REPLICATION_SLOT_SYNC: 291 0 : event_name = "ReplicationSlotSync"; 292 0 : break; 293 0 : case WAIT_EVENT_REPLICATION_SLOT_WRITE: 294 0 : event_name = "ReplicationSlotWrite"; 295 0 : break; 296 0 : case WAIT_EVENT_SLRU_FLUSH_SYNC: 297 0 : event_name = "SlruFlushSync"; 298 0 : break; 299 0 : case WAIT_EVENT_SLRU_READ: 300 0 : event_name = "SlruRead"; 301 0 : break; 302 0 : case WAIT_EVENT_SLRU_SYNC: 303 0 : event_name = "SlruSync"; 304 0 : break; 305 0 : case WAIT_EVENT_SLRU_WRITE: 306 0 : event_name = "SlruWrite"; 307 0 : break; 308 0 : case WAIT_EVENT_SNAPBUILD_READ: 309 0 : event_name = "SnapbuildRead"; 310 0 : break; 311 0 : case WAIT_EVENT_SNAPBUILD_SYNC: 312 0 : event_name = "SnapbuildSync"; 313 0 : break; 314 0 : case WAIT_EVENT_SNAPBUILD_WRITE: 315 0 : event_name = "SnapbuildWrite"; 316 0 : break; 317 0 : case WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC: 318 0 : event_name = "TimelineHistoryFileSync"; 319 0 : break; 320 0 : case WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE: 321 0 : event_name = "TimelineHistoryFileWrite"; 322 0 : break; 323 0 : case WAIT_EVENT_TIMELINE_HISTORY_READ: 324 0 : event_name = "TimelineHistoryRead"; 325 0 : break; 326 0 : case WAIT_EVENT_TIMELINE_HISTORY_SYNC: 327 0 : event_name = "TimelineHistorySync"; 328 0 : break; 329 0 : case WAIT_EVENT_TIMELINE_HISTORY_WRITE: 330 0 : event_name = "TimelineHistoryWrite"; 331 0 : break; 332 0 : case WAIT_EVENT_TWOPHASE_FILE_READ: 333 0 : event_name = "TwophaseFileRead"; 334 0 : break; 335 0 : case WAIT_EVENT_TWOPHASE_FILE_SYNC: 336 0 : event_name = "TwophaseFileSync"; 337 0 : break; 338 0 : case WAIT_EVENT_TWOPHASE_FILE_WRITE: 339 0 : event_name = "TwophaseFileWrite"; 340 0 : break; 341 0 : case WAIT_EVENT_VERSION_FILE_SYNC: 342 0 : event_name = "VersionFileSync"; 343 0 : break; 344 0 : case WAIT_EVENT_VERSION_FILE_WRITE: 345 0 : event_name = "VersionFileWrite"; 346 0 : break; 347 0 : case WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ: 348 0 : event_name = "WalsenderTimelineHistoryRead"; 349 0 : break; 350 0 : case WAIT_EVENT_WAL_BOOTSTRAP_SYNC: 351 0 : event_name = "WalBootstrapSync"; 352 0 : break; 353 0 : case WAIT_EVENT_WAL_BOOTSTRAP_WRITE: 354 0 : event_name = "WalBootstrapWrite"; 355 0 : break; 356 0 : case WAIT_EVENT_WAL_COPY_READ: 357 0 : event_name = "WalCopyRead"; 358 0 : break; 359 0 : case WAIT_EVENT_WAL_COPY_SYNC: 360 0 : event_name = "WalCopySync"; 361 0 : break; 362 0 : case WAIT_EVENT_WAL_COPY_WRITE: 363 0 : event_name = "WalCopyWrite"; 364 0 : break; 365 0 : case WAIT_EVENT_WAL_INIT_SYNC: 366 0 : event_name = "WalInitSync"; 367 0 : break; 368 0 : case WAIT_EVENT_WAL_INIT_WRITE: 369 0 : event_name = "WalInitWrite"; 370 0 : break; 371 2 : case WAIT_EVENT_WAL_READ: 372 2 : event_name = "WalRead"; 373 2 : break; 374 0 : case WAIT_EVENT_WAL_SUMMARY_READ: 375 0 : event_name = "WalSummaryRead"; 376 0 : break; 377 0 : case WAIT_EVENT_WAL_SUMMARY_WRITE: 378 0 : event_name = "WalSummaryWrite"; 379 0 : break; 380 0 : case WAIT_EVENT_WAL_SYNC: 381 0 : event_name = "WalSync"; 382 0 : break; 383 0 : case WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN: 384 0 : event_name = "WalSyncMethodAssign"; 385 0 : break; 386 0 : case WAIT_EVENT_WAL_WRITE: 387 0 : event_name = "WalWrite"; 388 0 : break; 389 : /* no default case, so that compiler will warn */ 390 : } 391 : 392 20 : return event_name; 393 : } 394 : 395 : static const char * 396 8 : pgstat_get_wait_ipc(WaitEventIPC w) 397 : { 398 8 : const char *event_name = "unknown wait event"; 399 : 400 8 : switch (w) 401 : { 402 0 : case WAIT_EVENT_APPEND_READY: 403 0 : event_name = "AppendReady"; 404 0 : break; 405 0 : case WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND: 406 0 : event_name = "ArchiveCleanupCommand"; 407 0 : break; 408 2 : case WAIT_EVENT_ARCHIVE_COMMAND: 409 2 : event_name = "ArchiveCommand"; 410 2 : break; 411 0 : case WAIT_EVENT_BACKEND_TERMINATION: 412 0 : event_name = "BackendTermination"; 413 0 : break; 414 0 : case WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE: 415 0 : event_name = "BackupWaitWalArchive"; 416 0 : break; 417 0 : case WAIT_EVENT_BGWORKER_SHUTDOWN: 418 0 : event_name = "BgworkerShutdown"; 419 0 : break; 420 0 : case WAIT_EVENT_BGWORKER_STARTUP: 421 0 : event_name = "BgworkerStartup"; 422 0 : break; 423 0 : case WAIT_EVENT_BTREE_PAGE: 424 0 : event_name = "BtreePage"; 425 0 : break; 426 0 : case WAIT_EVENT_BUFFER_IO: 427 0 : event_name = "BufferIo"; 428 0 : break; 429 0 : case WAIT_EVENT_CHECKPOINT_DELAY_COMPLETE: 430 0 : event_name = "CheckpointDelayComplete"; 431 0 : break; 432 0 : case WAIT_EVENT_CHECKPOINT_DELAY_START: 433 0 : event_name = "CheckpointDelayStart"; 434 0 : break; 435 2 : case WAIT_EVENT_CHECKPOINT_DONE: 436 2 : event_name = "CheckpointDone"; 437 2 : break; 438 0 : case WAIT_EVENT_CHECKPOINT_START: 439 0 : event_name = "CheckpointStart"; 440 0 : break; 441 4 : case WAIT_EVENT_EXECUTE_GATHER: 442 4 : event_name = "ExecuteGather"; 443 4 : break; 444 0 : case WAIT_EVENT_HASH_BATCH_ALLOCATE: 445 0 : event_name = "HashBatchAllocate"; 446 0 : break; 447 0 : case WAIT_EVENT_HASH_BATCH_ELECT: 448 0 : event_name = "HashBatchElect"; 449 0 : break; 450 0 : case WAIT_EVENT_HASH_BATCH_LOAD: 451 0 : event_name = "HashBatchLoad"; 452 0 : break; 453 0 : case WAIT_EVENT_HASH_BUILD_ALLOCATE: 454 0 : event_name = "HashBuildAllocate"; 455 0 : break; 456 0 : case WAIT_EVENT_HASH_BUILD_ELECT: 457 0 : event_name = "HashBuildElect"; 458 0 : break; 459 0 : case WAIT_EVENT_HASH_BUILD_HASH_INNER: 460 0 : event_name = "HashBuildHashInner"; 461 0 : break; 462 0 : case WAIT_EVENT_HASH_BUILD_HASH_OUTER: 463 0 : event_name = "HashBuildHashOuter"; 464 0 : break; 465 0 : case WAIT_EVENT_HASH_GROW_BATCHES_DECIDE: 466 0 : event_name = "HashGrowBatchesDecide"; 467 0 : break; 468 0 : case WAIT_EVENT_HASH_GROW_BATCHES_ELECT: 469 0 : event_name = "HashGrowBatchesElect"; 470 0 : break; 471 0 : case WAIT_EVENT_HASH_GROW_BATCHES_FINISH: 472 0 : event_name = "HashGrowBatchesFinish"; 473 0 : break; 474 0 : case WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE: 475 0 : event_name = "HashGrowBatchesReallocate"; 476 0 : break; 477 0 : case WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION: 478 0 : event_name = "HashGrowBatchesRepartition"; 479 0 : break; 480 0 : case WAIT_EVENT_HASH_GROW_BUCKETS_ELECT: 481 0 : event_name = "HashGrowBucketsElect"; 482 0 : break; 483 0 : case WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE: 484 0 : event_name = "HashGrowBucketsReallocate"; 485 0 : break; 486 0 : case WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT: 487 0 : event_name = "HashGrowBucketsReinsert"; 488 0 : break; 489 0 : case WAIT_EVENT_LOGICAL_APPLY_SEND_DATA: 490 0 : event_name = "LogicalApplySendData"; 491 0 : break; 492 0 : case WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE: 493 0 : event_name = "LogicalParallelApplyStateChange"; 494 0 : break; 495 0 : case WAIT_EVENT_LOGICAL_SYNC_DATA: 496 0 : event_name = "LogicalSyncData"; 497 0 : break; 498 0 : case WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE: 499 0 : event_name = "LogicalSyncStateChange"; 500 0 : break; 501 0 : case WAIT_EVENT_MESSAGE_QUEUE_INTERNAL: 502 0 : event_name = "MessageQueueInternal"; 503 0 : break; 504 0 : case WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE: 505 0 : event_name = "MessageQueuePutMessage"; 506 0 : break; 507 0 : case WAIT_EVENT_MESSAGE_QUEUE_RECEIVE: 508 0 : event_name = "MessageQueueReceive"; 509 0 : break; 510 0 : case WAIT_EVENT_MESSAGE_QUEUE_SEND: 511 0 : event_name = "MessageQueueSend"; 512 0 : break; 513 0 : case WAIT_EVENT_MULTIXACT_CREATION: 514 0 : event_name = "MultixactCreation"; 515 0 : break; 516 0 : case WAIT_EVENT_PARALLEL_BITMAP_SCAN: 517 0 : event_name = "ParallelBitmapScan"; 518 0 : break; 519 0 : case WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN: 520 0 : event_name = "ParallelCreateIndexScan"; 521 0 : break; 522 0 : case WAIT_EVENT_PARALLEL_FINISH: 523 0 : event_name = "ParallelFinish"; 524 0 : break; 525 0 : case WAIT_EVENT_PROCARRAY_GROUP_UPDATE: 526 0 : event_name = "ProcarrayGroupUpdate"; 527 0 : break; 528 0 : case WAIT_EVENT_PROC_SIGNAL_BARRIER: 529 0 : event_name = "ProcSignalBarrier"; 530 0 : break; 531 0 : case WAIT_EVENT_PROMOTE: 532 0 : event_name = "Promote"; 533 0 : break; 534 0 : case WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT: 535 0 : event_name = "RecoveryConflictSnapshot"; 536 0 : break; 537 0 : case WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE: 538 0 : event_name = "RecoveryConflictTablespace"; 539 0 : break; 540 0 : case WAIT_EVENT_RECOVERY_END_COMMAND: 541 0 : event_name = "RecoveryEndCommand"; 542 0 : break; 543 0 : case WAIT_EVENT_RECOVERY_PAUSE: 544 0 : event_name = "RecoveryPause"; 545 0 : break; 546 0 : case WAIT_EVENT_REPLICATION_ORIGIN_DROP: 547 0 : event_name = "ReplicationOriginDrop"; 548 0 : break; 549 0 : case WAIT_EVENT_REPLICATION_SLOT_DROP: 550 0 : event_name = "ReplicationSlotDrop"; 551 0 : break; 552 0 : case WAIT_EVENT_RESTORE_COMMAND: 553 0 : event_name = "RestoreCommand"; 554 0 : break; 555 0 : case WAIT_EVENT_SAFE_SNAPSHOT: 556 0 : event_name = "SafeSnapshot"; 557 0 : break; 558 0 : case WAIT_EVENT_SYNC_REP: 559 0 : event_name = "SyncRep"; 560 0 : break; 561 0 : case WAIT_EVENT_WAL_RECEIVER_EXIT: 562 0 : event_name = "WalReceiverExit"; 563 0 : break; 564 0 : case WAIT_EVENT_WAL_RECEIVER_WAIT_START: 565 0 : event_name = "WalReceiverWaitStart"; 566 0 : break; 567 0 : case WAIT_EVENT_WAL_SUMMARY_READY: 568 0 : event_name = "WalSummaryReady"; 569 0 : break; 570 0 : case WAIT_EVENT_XACT_GROUP_UPDATE: 571 0 : event_name = "XactGroupUpdate"; 572 0 : break; 573 : /* no default case, so that compiler will warn */ 574 : } 575 : 576 8 : return event_name; 577 : } 578 : 579 : static const char * 580 50 : pgstat_get_wait_timeout(WaitEventTimeout w) 581 : { 582 50 : const char *event_name = "unknown wait event"; 583 : 584 50 : switch (w) 585 : { 586 10 : case WAIT_EVENT_BASE_BACKUP_THROTTLE: 587 10 : event_name = "BaseBackupThrottle"; 588 10 : break; 589 24 : case WAIT_EVENT_CHECKPOINT_WRITE_DELAY: 590 24 : event_name = "CheckpointWriteDelay"; 591 24 : break; 592 14 : case WAIT_EVENT_PG_SLEEP: 593 14 : event_name = "PgSleep"; 594 14 : break; 595 0 : case WAIT_EVENT_RECOVERY_APPLY_DELAY: 596 0 : event_name = "RecoveryApplyDelay"; 597 0 : break; 598 0 : case WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL: 599 0 : event_name = "RecoveryRetrieveRetryInterval"; 600 0 : break; 601 2 : case WAIT_EVENT_REGISTER_SYNC_REQUEST: 602 2 : event_name = "RegisterSyncRequest"; 603 2 : break; 604 0 : case WAIT_EVENT_SPIN_DELAY: 605 0 : event_name = "SpinDelay"; 606 0 : break; 607 0 : case WAIT_EVENT_VACUUM_DELAY: 608 0 : event_name = "VacuumDelay"; 609 0 : break; 610 0 : case WAIT_EVENT_VACUUM_TRUNCATE: 611 0 : event_name = "VacuumTruncate"; 612 0 : break; 613 0 : case WAIT_EVENT_WAL_SUMMARIZER_ERROR: 614 0 : event_name = "WalSummarizerError"; 615 0 : break; 616 : /* no default case, so that compiler will warn */ 617 : } 618 : 619 50 : return event_name; 620 : } 621 :