Re: Log statement sample - take two
Tomas Vondra <tomas.vondra@2ndquadrant.com>
From: Tomas Vondra <tomas.vondra@2ndquadrant.com>
To: Adrien Nayrat <adrien.nayrat@anayrat.info>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Pavel Stehule <pavel.stehule@gmail.com>
Date: 2019-11-04T01:08:07Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow sampling of statements depending on duration
- 6e3e6cc0e884 13.0 landed
-
Revert "Add log_statement_sample_rate parameter"
- 75506195da81 13.0 cited
-
Log all statements from a sample of transactions
- 799e220346f1 12.0 cited
Attachments
On Sat, Oct 19, 2019 at 05:02:01PM +0200, Adrien Nayrat wrote: >Hello, > >This patch propose a new way to sample statement to logs. > >As a reminder, this feature was committed in PG12[1] then reverted[2] after the >proposition of log_statement_sample_limit[3] > >The first implementation added a new GUC to sample statement logged by >log_min_duration_statement. Then, we wanted to add the ability to log all >statement whose duration exceed log_statement_sample_limit. > >This was confusing because log_min_duration behaves as a minimum to enable >sampling. While log_statement_sample_limit behave as maximum to disable it.[4] > >Tomas Vondra proposed to use two minimum thresholds: > >> 1) log_min_duration_sample - enables sampling of commands, using the >> existing GUC log_statement_sample_rate >> >> 2) log_min_duration_statement - logs all commands exceeding this > >This patch implement this idea. > >PS: I notice I forgot to mention "Only superusers can change this setting" in >the log_transaction_sample_rate documentation. It attached a second patch to fix >this. > Seems fine to me, mostly. I think the docs should explain how log_min_duration_statement interacts with log_min_duration_sample. Attached is a patch doing that, by adding one para to each GUC, along with some minor rewordings. I think the docs are mixing "sampling" vs. "logging" and "durations" vs. "statements" not sure. I also think the two new sampling GUCs (log_min_duration_sample and log_statement_sample_rate) should be next to each other. We're not ordering the GUCs alphabetically anyway. I plan to make those changes and push in a couple days. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services