From: | Melanie Plageman <melanieplageman(at)gmail(dot)com> |
---|---|
To: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Guillaume Lelarge <guillaume(at)lelarge(dot)info>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Daniel Gustafsson <daniel(at)yesql(dot)se>, andrey(dot)chudnovskiy(at)microsoft(dot)com, Jelte Fennema-Nio <postgres(at)jeltef(dot)nl> |
Subject: | Re: Log connection establishment timings |
Date: | 2025-03-07 22:10:44 |
Message-ID: | CAAKRu_aWVcWd1aRATeOVR9m-gQ5tT3ns88X2bYjzwP-Yt+OF1A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Mar 7, 2025 at 10:09 AM Bertrand Drouvot
<bertranddrouvot(dot)pg(at)gmail(dot)com> wrote:
>
> Given that conn_timing.ready_for_use is only used here:
>
> + if (!reported_first_ready_for_query &&
> + (log_connections & LOG_CONNECTION_READY_FOR_USE) &&
> + IsConnectionBackend(MyBackendType))
> + {
> + uint64 total_duration,
> + fork_duration,
> + auth_duration;
> +
> + conn_timing.ready_for_use = GetCurrentTimestamp();
> +
> + total_duration =
> + TimestampDifferenceMicroseconds(conn_timing.socket_create,
> + conn_timing.ready_for_use);
>
> I wonder if ready_for_use needs to be part of ConnectionTiming after all.
> I mean we could just:
>
> "
> total_duration = TimestampDifferenceMicroseconds(conn_timing.socket_create, GetCurrentTimestamp())
> "
>
> That said, having ready_for_use part of ConnectionTiming could be
> useful if we decide to create a SQL API on top of this struct though. So,
> that's probably fine and better as it is.
That's what I was thinking. It felt like good symmetry to have it there.
> And if we keep it part of ConnectionTiming, then:
>
> === 02
>
> + if (!reported_first_ready_for_query &&
> + (log_connections & LOG_CONNECTION_READY_FOR_USE) &&
> + IsConnectionBackend(MyBackendType))
>
> What about getting rid of reported_first_ready_for_query and check if
> conn_timing.ready_for_use is zero instead?
Unfortunately, I think a TimestampTz value of 0 corresponds to
1970-01-01 00:00:00 UTC, which is a valid timestamp.
- Melanie
From | Date | Subject | |
---|---|---|---|
Next Message | Melanie Plageman | 2025-03-07 22:17:30 | Re: Log connection establishment timings |
Previous Message | Melanie Plageman | 2025-03-07 22:08:52 | Re: Log connection establishment timings |