* [Galene] Re: Munin stats
[not found] <174449896128.2905.17174186580459925646@gauss>
@ 2025-04-13 10:43 ` Juliusz Chroboczek
0 siblings, 0 replies; only message in thread
From: Juliusz Chroboczek @ 2025-04-13 10:43 UTC (permalink / raw)
To: alex; +Cc: galene
> OK, this made me laugh:
>
> ~ $ curl https://campaignwiki.org:8443/galene-api/v0/.stats
> Haha!
Oh my, that dates from the very first prototype, before proto-Galene was
even an SFU. I think the code is still available somewhere,
https://www.irif.fr/~jch/software/chat/
Patches gratefully accepted, of course.
> In any case, I'm currently experimenting with writing Munin plugin for Galène.
> Munin is a networked resource monitoring tool. https://munin-monitoring.org/
I know nothing about monitoring, and I'll be grateful for suggestions to
extend the monitoring data. Anything goes as long as:
- it doesn't violate the users' privacy (that's why the current
data is keyed by stream id, and usernames are not visible);
- it doesn't cause contention on a central mutex or atomic variable in
normal usage.
The second point is somewhat subtle. Some people don't realise that
atomic read-write-modify operations are just as costly as operations on an
uncongested mutex (they cause cache line bouncing), and write statistics
code that accumulates into an atomic variable. That's okay for rare
operations (say, a user logging in), but it's not okay for frequent
operations (such as per-packet statistics).
(The solution is to maintain per-thread or per-connection statistics, and
accumulate them into a central place periodically, either on a timer or on
well-defined events, say, when a connection dies.)
-- Juliusz
^ permalink raw reply [flat|nested] only message in thread