Re: New GUC to sample log queries

Adrien NAYRAT <adrien.nayrat@anayrat.info>

From: Adrien Nayrat <adrien.nayrat@anayrat.info>
To: Dmitry Dolgov <9erthalion6@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>
Cc: Vik Fearing <vik.fearing@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>, Michael Paquier <michael@paquier.xyz>, <david.rowley@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-11-21T08:06:40Z
Lists: pgsql-hackers

Attachments

On 11/19/18 2:52 PM, Dmitry Dolgov wrote:
>> On Mon, Nov 19, 2018 at 2:40 PM Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote:
>>
>> On 11/19/18 2:57 AM, Michael Paquier wrote:
>>> On Sun, Nov 18, 2018 at 12:18:33PM +0100, Dmitry Dolgov wrote:
>>>> Since it's hard to come up with a concise name that will mention sampling rate
>>>> in the context of min_duration_statement, I think it's fine to name this
>>>> configuration "log_sample_rate", as long as it's dependency from
>>>> log_min_duration_statements is clearly explained in the documentation.
>>>
>>> log_sample_rate looks fine to me as a name.
>>
>> That seems far too short to me - the name should indicate it applies to
>> statement logging. I'd say log_statement_sample_rate is better.
> 
> I agree, sounds reasonable.
> 

Thanks for your comments. Here is the updated patch. I fixed a warning for
missing parentheses in this expression:
if ((exceeded && in_sample) || log_duration)

It passed make check_world and make docs

Commits

  1. Use pg_strong_random() to select each server process's random seed.

  2. Use a separate random seed for SQL random()/setseed() functions.

  3. Marginal performance hacking in erand48.c.

  4. Fix latent problem with pg_jrand48().

  5. Silence compiler warning

  6. Add log_statement_sample_rate parameter