V6_0002-Implements-logging-for-parallel-worker-usage-in-inde.patch
text/x-patch
Filename: V6_0002-Implements-logging-for-parallel-worker-usage-in-inde.patch
Type: text/x-patch
Part: 1
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 | 7 | 0 |
| src/backend/access/nbtree/nbtsort.c | 7 | 0 |
From 2ac1032e64e30c65863b76a4616fc509e7be6fe0 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 | 7 +++++++ src/backend/access/nbtree/nbtsort.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c index 4289142e20b..a081974fe2c 100644 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@ -2544,6 +2544,13 @@ _brin_end_parallel(BrinLeader *brinleader, BrinBuildState *state) /* Shutdown worker processes */ WaitForParallelWorkersToFinish(brinleader->pcxt); + if (LoggingParallelWorkers(log_parallel_workers, + brinleader->pcxt->nworkers_to_launch, + brinleader->pcxt->nworkers_launched)) + elog(LOG, "launched %i parallel workers (planned: %i)", + brinleader->pcxt->nworkers_launched, + brinleader->pcxt->nworkers_to_launch); + /* * 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 7aba852db90..db3f19bcf50 100644 --- a/src/backend/access/nbtree/nbtsort.c +++ b/src/backend/access/nbtree/nbtsort.c @@ -1614,6 +1614,13 @@ _bt_end_parallel(BTLeader *btleader) /* Shutdown worker processes */ WaitForParallelWorkersToFinish(btleader->pcxt); + if (LoggingParallelWorkers(log_parallel_workers, + btleader->pcxt->nworkers_to_launch, + btleader->pcxt->nworkers_launched)) + elog(LOG, "launched %i parallel workers (planned: %i)", + btleader->pcxt->nworkers_launched, + btleader->pcxt->nworkers_to_launch); + /* * Next, accumulate WAL usage. (This must wait for the workers to finish, * or we might get incomplete data.) -- 2.47.0