aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop/postgres.c
diff options
context:
space:
mode:
authorTomas Vondra <tomas.vondra@postgresql.org>2019-08-04 20:29:00 +0200
committerTomas Vondra <tomas.vondra@postgresql.org>2019-08-04 23:37:44 +0200
commitd5f53a8e26caf7931db6ad3939cd34d36ea54d91 (patch)
tree6854c50fd5af3639ae2d88101c069fe84896778e /src/backend/tcop/postgres.c
parentd8453ccfbfd6bb1782e71beb28acf4025a9a01ce (diff)
downloadpostgresql-d5f53a8e26caf7931db6ad3939cd34d36ea54d91.tar.gz
postgresql-d5f53a8e26caf7931db6ad3939cd34d36ea54d91.zip
Revert "Add log_statement_sample_rate parameter"
This reverts commit 88bdbd3f746049834ae3cc972e6e650586ec3c9d. As committed, statement sampling used the existing duration threshold (log_min_duration_statement) when decide which statements to sample. The issue is that even the longest statements are subject to sampling, and so may not end up logged. An improvement was proposed, introducing a second duration threshold, but it would not be backwards compatible. So we've decided to revert this feature - the separate threshold should be part of the feature itself. Discussion: https://postgr.es/m/CAFj8pRDS8tQ3Wviw9%3DAvODyUciPSrGeMhJi_WPE%2BEB8%2B4gLL-Q%40mail.gmail.com
Diffstat (limited to 'src/backend/tcop/postgres.c')
-rw-r--r--src/backend/tcop/postgres.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index f010aa884ce..c28cc370129 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -2192,8 +2192,7 @@ check_log_statement(List *stmt_list)
/*
* check_log_duration
- * Determine whether current command's duration should be logged.
- * If log_statement_sample_rate < 1.0, log only a sample.
+ * Determine whether current command's duration should be logged
* We also check if this statement in this transaction must be logged
* (regardless of its duration).
*
@@ -2217,7 +2216,6 @@ check_log_duration(char *msec_str, bool was_logged)
int usecs;
int msecs;
bool exceeded;
- bool in_sample;
TimestampDifference(GetCurrentStatementStartTimestamp(),
GetCurrentTimestamp(),
@@ -2234,17 +2232,7 @@ check_log_duration(char *msec_str, bool was_logged)
(secs > log_min_duration_statement / 1000 ||
secs * 1000 + msecs >= log_min_duration_statement)));
- /*
- * Do not log if log_statement_sample_rate = 0. Log a sample if
- * log_statement_sample_rate <= 1 and avoid unecessary random() call
- * if log_statement_sample_rate = 1.
- */
- if (exceeded)
- in_sample = log_statement_sample_rate != 0 &&
- (log_statement_sample_rate == 1 ||
- random() <= log_statement_sample_rate * MAX_RANDOM_VALUE);
-
- if ((exceeded && in_sample) || log_duration || xact_is_sampled)
+ if (exceeded || log_duration || xact_is_sampled)
{
snprintf(msec_str, 32, "%ld.%03d",
secs * 1000 + msecs, usecs % 1000);