From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Nikita Malakhov <hukutoc(at)gmail(dot)com> |
Cc: | Anthonin Bonnefoy <anthonin(dot)bonnefoy(at)datadoghq(dot)com>, Jan Katins <jasc(at)gmx(dot)net>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Peter Smith <smithpb2250(at)gmail(dot)com>, Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>, Aleksander Alekseev <aleksander(at)timescale(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Craig Ringer <craig(dot)ringer(at)enterprisedb(dot)com>, Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com> |
Subject: | Re: POC: Extension for adding distributed tracing - pg_tracing |
Date: | 2024-02-09 18:50:53 |
Message-ID: | 20240209185053.zsh3ohgukpeu3tke@awork3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2024-02-09 19:46:58 +0300, Nikita Malakhov wrote:
> I agree with Heikki on most topics and especially the one he recommended
> to publish your extension on GitHub, this tool is very promising for highly
> loaded
> systems, you will get a lot of feedback very soon.
>
> I'm curious about SpinLock - it is recommended for very short operations,
> taking up to several instructions, and docs say that for longer ones it
> will be
> too expensive, and recommends using LWLock. Why have you chosen SpinLock?
> Does it have some benefits here?
Indeed - e.g. end_tracing() looks to hold the spinlock for far too long for
spinlocks to be appropriate. Use an lwlock.
Random stuff I noticed while skimming:
- pg_tracing.c should include postgres.h as the first thing
- afaict none of the use of volatile is required, spinlocks have been barriers
for a long time now
- you acquire the spinlock for single increments of n_writers, perhaps that
could become an atomic, to reduce contention?
- I don't think it's a good idea to do memory allocations in the middle of a
PG_CATCH. If the error was due to out-of-memory, you'll throw another error.
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2024-02-09 18:59:15 | Re: failure in 019_replslot_limit |
Previous Message | Andres Freund | 2024-02-09 18:40:14 | Re: glibc qsort() vulnerability |