coturn / coturn

coturn TURN server project
Other
11.48k stars 2.03k forks source link

Prometheus library dependency #1579

Open volga629-1 opened 1 month ago

volga629-1 commented 1 month ago

Hello Everyone, Is possible to check if https://github.com/jupp0r/prometheus-cpp can be alternative library of https://github.com/digitalocean/prometheus-client-c/issues

Seems like digital ocean version is not maintained.

eakraly commented 1 month ago

Thanks @volga629-1 This is definitely a problem for the project - digitalocean dropped the support for the library jupp0r/prometheus-cpp is a great library.

So far no one from the maintainers could find time to do this and a contribution from the community would be great

volga629-1 commented 1 month ago

Thank you, is possible add this ticket backlog to implement when it possible.

Neboer commented 1 month ago

I’d be happy to help with the development of this feature. However, there are a few concerns I'd like to bring up. Since Coturn is written in C, integrating it with a C++ library like jupp0r/prometheus-cpp will require some additional effort.

That said, there's also another project, jelmd/libprom, which is a fork of digitalocean/prometheus-client-c, and it might be a more straightforward option given that it’s a C-based implementation.

Would you have a preference for which library you'd like to use as a dependency? This would help guide my contribution and ensure it aligns with your expectations. Looking forward to your thoughts!

jelmd commented 3 weeks ago

...

So far no one from the maintainers could find time to do this and a contribution from the community would be great

Unfortunately that's wrong. PR #1349 is almost 1 year old! It even provides a much better, efficient metrics implementation than the current really poor/experimental try (poor because of its inefficiency and not-in-time reports, which makes monitoring it a more or less useless thing).

We run https://github.com/jelmd/coturn (a fork with the PR #1349 applied incl. some logging enhancements) for 1+ year w/o any problems regarding realtime-metrics (our pull interval is 1s) and it really helps to better understand coturn. Also our https://github.com/jelmd/nvmex (used to monitor Nvida devices in our GPU cluster) as well as https://github.com/jelmd/ipmimex (BMC sensor/power monitoring) and https://github.com/jelmd/fstatmex (file size analysis) use it for 3+ years w/o any problems. Last but not least one should be aware, that the digital ocean implementation (generated? code) has some bugs and hides many useful functions, which prevents efficient use of it (which was actually one reason to fork it).

eakraly commented 1 week ago

...

So far no one from the maintainers could find time to do this and a contribution from the community would be great

Unfortunately that's wrong. PR #1349 is almost 1 year old! It even provides a much better, efficient metrics implementation than the current really poor/experimental try (poor because of its inefficiency and not-in-time reports, which makes monitoring it a more or less useless thing).

We run jelmd/coturn (a fork with the PR #1349 applied incl. some logging enhancements) for 1+ year w/o any problems regarding realtime-metrics (our pull interval is 1s) and it really helps to better understand coturn. Also our jelmd/nvmex (used to monitor Nvida devices in our GPU cluster) as well as jelmd/ipmimex (BMC sensor/power monitoring) and jelmd/fstatmex (file size analysis) use it for 3+ years w/o any problems. Last but not least one should be aware, that the digital ocean implementation (generated? code) has some bugs and hides many useful functions, which prevents efficient use of it (which was actually one reason to fork it).

I stand corrected :) But my point was that I could not find time for this - not you. I hope to address this sometime soon