V3_0002-Implements-logging-for-parallel-worker-usage-in-inde.patch
text/x-patch
Filename: V3_0002-Implements-logging-for-parallel-worker-usage-in-inde.patch
Type: text/x-patch
Part: 3
Message:
Re: Logging parallel worker draught
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch 0002
Subject: Implements logging for parallel worker usage in index builds
| File | + | − |
|---|---|---|
| src/backend/access/brin/brin.c | 8 | 0 |
| src/backend/access/nbtree/nbtsort.c | 8 | 0 |
From 367b163e135011290125fc4db7586f6603e09270 Mon Sep 17 00:00:00 2001 From: benoit <benoit.lobreau@dalibo.com> Date: Tue, 8 Oct 2024 12:45:03 +0200 Subject: [PATCH 2/5] Implements logging for parallel worker usage in index builds Two types of index are concerned: brin and btree. --- src/backend/access/brin/brin.c | 8 ++++++++ src/backend/access/nbtree/nbtsort.c | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c index c0b978119a..fdfbbc7dc4 100644 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@ -2544,6 +2544,14 @@ _brin_end_parallel(BrinLeader *brinleader, BrinBuildState *state) /* Shutdown worker processes */ WaitForParallelWorkersToFinish(brinleader->pcxt); + if ((log_parallel_workers == LOG_PARALLEL_WORKERS_ALL && + brinleader->pcxt->nworkers_to_launch > 0) || + (log_parallel_workers == LOG_PARALLEL_WORKERS_FAILURE && + brinleader->pcxt->nworkers_to_launch > brinleader->pcxt->nworkers_launched)) + elog(LOG, "%i workers planned (%i workers launched)", + 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 5cca0d4f52..e31bd8e223 100644 --- a/src/backend/access/nbtree/nbtsort.c +++ b/src/backend/access/nbtree/nbtsort.c @@ -1615,6 +1615,14 @@ _bt_end_parallel(BTLeader *btleader) /* Shutdown worker processes */ WaitForParallelWorkersToFinish(btleader->pcxt); + if ((log_parallel_workers == LOG_PARALLEL_WORKERS_ALL && + btleader->pcxt->nworkers_to_launch > 0) || + (log_parallel_workers == LOG_PARALLEL_WORKERS_FAILURE && + btleader->pcxt->nworkers_to_launch > btleader->pcxt->nworkers_launched)) + elog(LOG, "%i workers planned (%i workers launched)", + 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.) -- 2.46.2