]>
git.ipfire.org Git - collecty.git/log
Michael Tremer [Fri, 3 Oct 2025 14:40:22 +0000 (14:40 +0000)]
graphs: Create macros to write less code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 12:47:48 +0000 (12:47 +0000)]
po: Update translations
This is to make "make distcheck" happy.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 12:46:08 +0000 (12:46 +0000)]
graphs: Add a conntrack graph
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 11:37:07 +0000 (11:37 +0000)]
graph: Move all stuff that is needed to draw graphs into a new header
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 11:31:44 +0000 (11:31 +0000)]
daemon: Rename modules to sources
This makes more sense as the graphs have now been split into their own
modules, and so we won't have a too generic term for the sources.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 11:14:11 +0000 (11:14 +0000)]
modules: Rename methods to impl
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 11:06:34 +0000 (11:06 +0000)]
graph: Measure the time it takes to generate a graph
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 11:02:04 +0000 (11:02 +0000)]
graph: Add title and vertical label
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:44:26 +0000 (10:44 +0000)]
graph: Always pass --rigid
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:40:29 +0000 (10:40 +0000)]
graph: Add upper and lower limits
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:27:47 +0000 (10:27 +0000)]
graph: Make backgrounds transparent
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:27:38 +0000 (10:27 +0000)]
colors: Fix black and white
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:24:42 +0000 (10:24 +0000)]
colors: Remove the prefix
I suppose there will be no collisions in the namespace.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:22:51 +0000 (10:22 +0000)]
loadavg: Add a simple graph
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:21:51 +0000 (10:21 +0000)]
graph: Add macros to draw some elements
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:21:13 +0000 (10:21 +0000)]
colors: Add macro to make colors transparent
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:21:00 +0000 (10:21 +0000)]
colors: Add orange
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 10:04:42 +0000 (10:04 +0000)]
graph: Draw all graphs from back to front
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 09:48:13 +0000 (09:48 +0000)]
client: Use a helper function to send format
No functional changes, just less code.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 09:46:46 +0000 (09:46 +0000)]
graph: Allow specifying the output dimensions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 19:31:54 +0000 (19:31 +0000)]
graph: Fix the text on the watermark
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 19:26:02 +0000 (19:26 +0000)]
graph: Send further rendering options over dbus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 19:25:18 +0000 (19:25 +0000)]
graph: Allow to specify the output format
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 19:24:20 +0000 (19:24 +0000)]
graphs: Add a struct with further rendering options
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 18:21:42 +0000 (18:21 +0000)]
client: Accept a --format argument
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 18:12:11 +0000 (18:12 +0000)]
client: Add a basic client to fetch the graphs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 17:17:07 +0000 (17:17 +0000)]
module: Define all DEFs and VDEFs for any imported modules
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 17:15:22 +0000 (17:15 +0000)]
graph: Cast arguments to void* to deal with API breakage
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 10:51:23 +0000 (10:51 +0000)]
graph: Log the size of the generated output
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 10:51:06 +0000 (10:51 +0000)]
graph: Write the graph to the output stream
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 10:11:02 +0000 (10:11 +0000)]
graph: Import the default arguments from the Python implementation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 10:10:27 +0000 (10:10 +0000)]
Make Gettext available
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 10:10:01 +0000 (10:10 +0000)]
Import some colours from the Python implementation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 10:08:25 +0000 (10:08 +0000)]
graph: Fix calling rrd_graph()
There is pretty much no documenation of librrd and the API has been
changed multiple times. Initially, various arguments have been labeled
optional, but that does not seem to be true for at least the
implementation I am testing against.
So we pass all variables that we function has, and we might as well
include them in the debugging output.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 09:35:57 +0000 (09:35 +0000)]
args: Add function to add multiple pre-formatted arguments at once
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 09:03:23 +0000 (09:03 +0000)]
module: Remove hack where the event loop stores the reference
This was needed when we did not have a proper registry for all modules,
but it seems that that is now the easier way.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 09:00:38 +0000 (09:00 +0000)]
graph: Pass the object to the render function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 08:58:22 +0000 (08:58 +0000)]
graph: Add a helper function to pull in all data sources from a module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 08:57:35 +0000 (08:57 +0000)]
graph: Add a render function to jump into the individual graphs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 08:56:37 +0000 (08:56 +0000)]
modules: Add function to fetch a specific module by its name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Oct 2025 08:56:14 +0000 (08:56 +0000)]
daemon: Add function to fetch all modules
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Oct 2025 17:06:09 +0000 (17:06 +0000)]
graph: Create the basic to render a graph
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Oct 2025 16:48:57 +0000 (16:48 +0000)]
graphs: Fix typo in variable name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 Sep 2025 16:50:25 +0000 (16:50 +0000)]
daemon: Create a modules registry
Just like we have for graphs now
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 Sep 2025 16:37:51 +0000 (16:37 +0000)]
graphs: Take the object name as first (and only) argument
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 Sep 2025 16:34:25 +0000 (16:34 +0000)]
graph: Add a Render() method to the bus to render graphs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 Sep 2025 15:51:12 +0000 (15:51 +0000)]
graphs: Export them over dbus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 Sep 2025 15:21:25 +0000 (15:21 +0000)]
graphs: Add scaffolding for a loadavg graph
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 Sep 2025 08:36:09 +0000 (08:36 +0000)]
jenkins: Don't fail if the static analyzer didn't find any issues
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 18:05:27 +0000 (18:05 +0000)]
daemon: Initialize all graphs when the daemon starts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 17:53:01 +0000 (17:53 +0000)]
daemon: Initialize all graphs when the daemon starts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 17:50:02 +0000 (17:50 +0000)]
daemon: Generalize the init/exit functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 17:40:16 +0000 (17:40 +0000)]
graphs: Add scaffolding for a graph collection
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 17:36:56 +0000 (17:36 +0000)]
main: Log an error if we could not free all resources
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 17:13:19 +0000 (17:13 +0000)]
graphs: Add scaffolding for a new object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 17:03:47 +0000 (17:03 +0000)]
daemon: Add a basic dbus interfaces for graphs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 16:41:56 +0000 (16:41 +0000)]
queue: Allocate the correct amount of memory
This has been found by the clang static analyzer.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 16:40:12 +0000 (16:40 +0000)]
jenkins: The configure script does not have a --enable-debug switch
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 16:39:23 +0000 (16:39 +0000)]
configure: Make lm-sensors an optional dependency
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 16:34:58 +0000 (16:34 +0000)]
configure: Check for pkg-config before using it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 16:34:04 +0000 (16:34 +0000)]
configure: Make libatasmart an optional dependency
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 16:28:16 +0000 (16:28 +0000)]
configure: Drop dependency to liboping
This won't be implemented in this daemon any more, but move to the
network daemon which is broadcasting the results over the bus.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 16:26:25 +0000 (16:26 +0000)]
Drop the Python implementation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 16:21:24 +0000 (16:21 +0000)]
daemon: Export the version over dbus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 16:01:23 +0000 (16:01 +0000)]
Add a Jenkinsfile
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Sep 2025 15:46:13 +0000 (15:46 +0000)]
po: Update langauge files
This is mainly to make "make distcheck" happy.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 12:04:46 +0000 (12:04 +0000)]
daemon: Connect to dbus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 12:01:26 +0000 (12:01 +0000)]
module: Explicitely clear any RRD errors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 12:01:04 +0000 (12:01 +0000)]
Make secure_getenv available
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 11:14:06 +0000 (11:14 +0000)]
modules: Add the conntrack module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 11:13:45 +0000 (11:13 +0000)]
util: Add helper function to read integers from file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 10:57:34 +0000 (10:57 +0000)]
module: Fix the heartbeat of the RRD database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 10:53:00 +0000 (10:53 +0000)]
modules: Add context switches
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 10:09:07 +0000 (10:09 +0000)]
queue: Commit only once every 5 minutes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 10:06:18 +0000 (10:06 +0000)]
module: Define some default RRAs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:54:24 +0000 (09:54 +0000)]
module: The step size is not passed as a command line argument
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:53:48 +0000 (09:53 +0000)]
module: Call RRD tool to create a new database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:53:37 +0000 (09:53 +0000)]
args: Fix typo in function name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:48:33 +0000 (09:48 +0000)]
module: Add the step size to the RRD configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:42:48 +0000 (09:42 +0000)]
module: Format the data sources
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:42:33 +0000 (09:42 +0000)]
util: Add helper function to format numbers for RRD
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:22:33 +0000 (09:22 +0000)]
modules: Rename RRD schema
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:22:02 +0000 (09:22 +0000)]
args: Add function to dump the array
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:21:40 +0000 (09:21 +0000)]
args: Make space in the array for the NULL termination
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:06:34 +0000 (09:06 +0000)]
args: Add functions to fetch values
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 09:04:19 +0000 (09:04 +0000)]
args: Implement pushing arguments to the array
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 28 Sep 2025 08:56:03 +0000 (08:56 +0000)]
daemon: Create scaffolding to format argument lists
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 18:14:10 +0000 (18:14 +0000)]
modules: Define the RRD schema
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 18:04:38 +0000 (18:04 +0000)]
module: Create scaffolding to create the database if it does not exist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 17:58:06 +0000 (17:58 +0000)]
module: Implement batched committing of samples to the database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 17:11:05 +0000 (17:11 +0000)]
Link against rrdtool
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 16:58:51 +0000 (16:58 +0000)]
queue: Store the timestamp with the sample
We can no longer store it this way because we are storing multiple
samples in a single object now.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 16:54:52 +0000 (16:54 +0000)]
queue: Store multiple samples in one queue object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 16:11:00 +0000 (16:11 +0000)]
queue: Flush on exit
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 16:07:58 +0000 (16:07 +0000)]
daemon: Move the queue into a separate object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 15:55:19 +0000 (15:55 +0000)]
Actually free the objects
I don't know why I keep forgetting this.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 15:46:59 +0000 (15:46 +0000)]
daemon: Flush the queue on SIGHUP
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 15:41:14 +0000 (15:41 +0000)]
daemon: Call a function to regularly flush the queue
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 15:27:55 +0000 (15:27 +0000)]
daemon: Cleanup the queue on exit
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Sep 2025 15:25:16 +0000 (15:25 +0000)]
module: Format any arguments on the stack
We seem to be keeping the allocator quite busy, which we don't need to
do too much.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>