Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
if you have a few minutes, I would love a review of my first Rust library, munin-plugin. I'm relatively new to Rust, coming from a mixed background that contains lots of Shell, Python, Ruby and Java, and now I try my luck in Rust (and like it).
If you want to see more examples on how it can be used, my GitHub contains munin-if1sec, munin-cpu1sec and a plain simple load plugin (also, the load plugin is main part of examples in munin-plugin).
If you want to see more examples on how it can be used, my GitHub contains munin-if1sec, munin-cpu1sec and a plain simple load plugin (also, the load plugin is main part of examples in munin-plugin).
If you want to see more examples on how it can be used, my GitHub contains munin-if1sec, munin-cpu1sec and a plain simple load plugin (also, the load plugin is main part of examples in munin-plugin).
A bit of background, which may make understanding my choices in this lib easier: Munin is a resource monitoring tool using rrdtool, usually run in a Server/Client Setup. The client accepts plugins which are just executables in a directory. Usually written in a scripting language, but it actually doesn't matter. Data is fetched every 5 minutes, plugins are first run with a config argument to spit out a munin graph config, followed by a run without arguments to present data. To support higher resolutions than just "every 5 minutes", graph config can contain config to tell munin one collects it every second. Then the fetching part needs to run as a daemon, writing a cache somewhere which gets output when munin wants the data.
This sounds really interesting here's a quick few things after skimming the repo: - There are no examples; here is the usual thing we find in these repos - LGPL3 is not the common license, if you "don't care" and would like to "fit in" "they" use Apache2+MIT generally, within the Rust community - How would I build or get started? Usually this is also listed in the README and for a project like this I would recommend that - a link to "munin" which I am not familiar with? - There are a few identifiers without proper camel casing, ex dirtyconfig
The README definitely needs more content. Right now I link to docs.rs from it, and in there I do have a bunch of examples.