From 6819dc47ad96a98dc16cab8237161ccebc580695 Mon Sep 17 00:00:00 2001 From: benoit Date: Wed, 29 Jan 2025 17:10:57 +0100 Subject: [PATCH v8 3/4] Implements logging for parallel worker usage in utilities This patch implements logging of parallel worker usage for: * the index cleanup and bulkdelete phases of vacuum; * btree and brin index builds. --- src/backend/access/brin/brin.c | 4 ++++ src/backend/access/nbtree/nbtsort.c | 4 ++++ src/backend/commands/vacuumparallel.c | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c index ccf824bbdb..0435522dd5 100644 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@ -2546,6 +2546,10 @@ _brin_end_parallel(BrinLeader *brinleader, BrinBuildState *state) /* Shutdown worker processes */ WaitForParallelWorkersToFinish(brinleader->pcxt); + LogParallelWorkersIfNeeded(log_parallel_workers, + brinleader->pcxt->nworkers_to_launch, + brinleader->pcxt->nworkers_launched); + /* * Next, accumulate WAL usage. (This must wait for the workers to finish, * or we might get incomplete data.) diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c index 7aba852db9..0877350d9c 100644 --- a/src/backend/access/nbtree/nbtsort.c +++ b/src/backend/access/nbtree/nbtsort.c @@ -1614,6 +1614,10 @@ _bt_end_parallel(BTLeader *btleader) /* Shutdown worker processes */ WaitForParallelWorkersToFinish(btleader->pcxt); + LogParallelWorkersIfNeeded(log_parallel_workers, + btleader->pcxt->nworkers_to_launch, + btleader->pcxt->nworkers_launched); + /* * Next, accumulate WAL usage. (This must wait for the workers to finish, * or we might get incomplete data.) diff --git a/src/backend/commands/vacuumparallel.c b/src/backend/commands/vacuumparallel.c index b63a4c0c55..182dba0f36 100644 --- a/src/backend/commands/vacuumparallel.c +++ b/src/backend/commands/vacuumparallel.c @@ -443,6 +443,10 @@ parallel_vacuum_end(ParallelVacuumState *pvs, IndexBulkDeleteResult **istats) { Assert(!IsParallelWorker()); + LogParallelWorkersIfNeeded(log_parallel_workers, + pvs->nworkers_to_launch, + pvs->nworkers_launched); + /* Copy the updated statistics */ for (int i = 0; i < pvs->nindexes; i++) { -- 2.47.1