Galène videoconferencing server discussion list archives
 help / color / mirror / Atom feed
From: Juliusz Chroboczek <jch@irif.fr>
To: alex@alexschroeder.ch
Cc: galene@lists.galene.org
Subject: [Galene] Re: Munin stats
Date: Sun, 13 Apr 2025 12:43:57 +0200	[thread overview]
Message-ID: <87v7r8gx3m.wl-jch@irif.fr> (raw)
In-Reply-To: <174449896128.2905.17174186580459925646@gauss>

> 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

           reply	other threads:[~2025-04-13 10:44 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <174449896128.2905.17174186580459925646@gauss>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.galene.org/postorius/lists/galene.lists.galene.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v7r8gx3m.wl-jch@irif.fr \
    --to=jch@irif.fr \
    --cc=alex@alexschroeder.ch \
    --cc=galene@lists.galene.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox