aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/xact.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2016-11-17 16:54:24 -0500
committerRobert Haas <rhaas@postgresql.org>2016-11-17 17:05:16 -0500
commita43f1939d5dcd02f4df1604a68392332168e4be0 (patch)
treee40ef45d1e6a6409236128f4f3b197c54141d69d /src/backend/access/transam/xact.c
parentd8c05aff56be92dda889abc89e3f3921d1c29c30 (diff)
downloadpostgresql-a43f1939d5dcd02f4df1604a68392332168e4be0.tar.gz
postgresql-a43f1939d5dcd02f4df1604a68392332168e4be0.zip
Remove or reduce verbosity of some debug messages.
The debug messages that merely print StartTransactionCommand, CommitTransactionCommand, ProcessUtilty, or ProcessQuery with no additional details seem to be useless. Get rid of them. The transaction status messages produced by ShowTransactionState are occasionally useful, but they are extremely verbose, producing multiple lines of log output every time they fire, which can happens multiple times per transaction. So, reduce the level to DEBUG5; avoid emitting an extra line just to explain which debug point is at issue; and tighten up the rest of the message so it doesn't use quite so much horizontal space. With these changes, it's possible to run a somewhat busy system with a log level even as high as DEBUG4, whereas previously anything above DEBUG2 would flood the log with output that probably wasn't really all that useful.
Diffstat (limited to 'src/backend/access/transam/xact.c')
-rw-r--r--src/backend/access/transam/xact.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index e11b2297921..95805963af1 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -327,7 +327,7 @@ static void AtSubStart_Memory(void);
static void AtSubStart_ResourceOwner(void);
static void ShowTransactionState(const char *str);
-static void ShowTransactionStateRec(TransactionState state);
+static void ShowTransactionStateRec(const char *str, TransactionState state);
static const char *BlockStateAsString(TBlockState blockState);
static const char *TransStateAsString(TransState state);
@@ -4944,11 +4944,8 @@ static void
ShowTransactionState(const char *str)
{
/* skip work if message will definitely not be printed */
- if (log_min_messages <= DEBUG3 || client_min_messages <= DEBUG3)
- {
- elog(DEBUG3, "%s", str);
- ShowTransactionStateRec(CurrentTransactionState);
- }
+ if (log_min_messages <= DEBUG5 || client_min_messages <= DEBUG5)
+ ShowTransactionStateRec(str, CurrentTransactionState);
}
/*
@@ -4956,7 +4953,7 @@ ShowTransactionState(const char *str)
* Recursive subroutine for ShowTransactionState
*/
static void
-ShowTransactionStateRec(TransactionState s)
+ShowTransactionStateRec(const char *str, TransactionState s)
{
StringInfoData buf;
@@ -4966,17 +4963,18 @@ ShowTransactionStateRec(TransactionState s)
{
int i;
- appendStringInfo(&buf, "%u", s->childXids[0]);
+ appendStringInfo(&buf, ", children: %u", s->childXids[0]);
for (i = 1; i < s->nChildXids; i++)
appendStringInfo(&buf, " %u", s->childXids[i]);
}
if (s->parent)
- ShowTransactionStateRec(s->parent);
+ ShowTransactionStateRec(str, s->parent);
/* use ereport to suppress computation if msg will not be printed */
- ereport(DEBUG3,
- (errmsg_internal("name: %s; blockState: %13s; state: %7s, xid/subid/cid: %u/%u/%u%s, nestlvl: %d, children: %s",
+ ereport(DEBUG5,
+ (errmsg_internal("%s(%d) name: %s; blockState: %s; state: %s, xid/subid/cid: %u/%u/%u%s%s",
+ str, s->nestingLevel,
PointerIsValid(s->name) ? s->name : "unnamed",
BlockStateAsString(s->blockState),
TransStateAsString(s->state),
@@ -4984,7 +4982,7 @@ ShowTransactionStateRec(TransactionState s)
(unsigned int) s->subTransactionId,
(unsigned int) currentCommandId,
currentCommandIdUsed ? " (used)" : "",
- s->nestingLevel, buf.data)));
+ buf.data)));
pfree(buf.data);
}