]> git.ipfire.org Git - oddments/collecty.git/log
oddments/collecty.git
2 weeks agosources: disk: Create a metrics object and populate as we go
Michael Tremer [Wed, 22 Oct 2025 17:44:44 +0000 (17:44 +0000)] 
sources: disk: Create a metrics object and populate as we go

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agometrics: Add support for bool
Michael Tremer [Wed, 22 Oct 2025 17:41:53 +0000 (17:41 +0000)] 
metrics: Add support for bool

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosources: Convert all sources to submit metrics the new way
Michael Tremer [Wed, 22 Oct 2025 17:17:02 +0000 (17:17 +0000)] 
sources: Convert all sources to submit metrics the new way

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agometrics: Create a shorthand to submit stats with less code
Michael Tremer [Wed, 22 Oct 2025 16:55:15 +0000 (16:55 +0000)] 
metrics: Create a shorthand to submit stats with less code

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agofile: Implement parsing the entire file as JSON object
Michael Tremer [Wed, 22 Oct 2025 16:26:45 +0000 (16:26 +0000)] 
file: Implement parsing the entire file as JSON object

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agoAdd a new metrics object
Michael Tremer [Wed, 22 Oct 2025 16:25:27 +0000 (16:25 +0000)] 
Add a new metrics object

When we have larger RRD files, it will become increasingly difficult to
serialize the format strings. This new object is supposed to store
metrics more efficiently and with more metadata.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agojenkins: Install libudev-dev on Debian-based machines
Michael Tremer [Wed, 22 Oct 2025 10:39:32 +0000 (10:39 +0000)] 
jenkins: Install libudev-dev on Debian-based machines

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agodaemon: Release memory when the system is under pressure
Michael Tremer [Wed, 22 Oct 2025 10:37:37 +0000 (10:37 +0000)] 
daemon: Release memory when the system is under pressure

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosources: disk: Read SMART data if available
Michael Tremer [Tue, 21 Oct 2025 19:25:52 +0000 (19:25 +0000)] 
sources: disk: Read SMART data if available

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosource: Implement actually migrating databases
Michael Tremer [Tue, 21 Oct 2025 18:05:52 +0000 (18:05 +0000)] 
source: Implement actually migrating databases

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosource: Check if RRD files need migration
Michael Tremer [Tue, 21 Oct 2025 17:36:40 +0000 (17:36 +0000)] 
source: Check if RRD files need migration

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosources: Add source to collect disk IO stats
Michael Tremer [Tue, 21 Oct 2025 15:52:53 +0000 (15:52 +0000)] 
sources: Add source to collect disk IO stats

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agofile: Return the error code if we could not read the file
Michael Tremer [Tue, 21 Oct 2025 15:52:26 +0000 (15:52 +0000)] 
file: Return the error code if we could not read the file

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agodaemon: Connect to udev
Michael Tremer [Tue, 21 Oct 2025 14:28:51 +0000 (14:28 +0000)] 
daemon: Connect to udev

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agocolors: Define a special color for rx/tx traffic
Michael Tremer [Tue, 21 Oct 2025 14:12:50 +0000 (14:12 +0000)] 
colors: Define a special color for rx/tx traffic

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agographs: Add a graph to show rate information
Michael Tremer [Tue, 21 Oct 2025 14:10:10 +0000 (14:10 +0000)] 
graphs: Add a graph to show rate information

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosources: Correct rate information of hostapd stations
Michael Tremer [Tue, 21 Oct 2025 14:09:27 +0000 (14:09 +0000)] 
sources: Correct rate information of hostapd stations

hostapd returns this in hundredth of kilobits. We will store it in bits.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agographs: Try to make the signal graph a bit more colourful
Michael Tremer [Tue, 21 Oct 2025 13:53:38 +0000 (13:53 +0000)] 
graphs: Try to make the signal graph a bit more colourful

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agographs: Add bandwidth graphs for hostapd stations
Michael Tremer [Tue, 21 Oct 2025 13:37:44 +0000 (13:37 +0000)] 
graphs: Add bandwidth graphs for hostapd stations

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agographs: Rename hostapd station signal graph
Michael Tremer [Tue, 21 Oct 2025 10:46:51 +0000 (10:46 +0000)] 
graphs: Rename hostapd station signal graph

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agopo: Add telemetry.po to .gitignore
Michael Tremer [Tue, 21 Oct 2025 10:44:17 +0000 (10:44 +0000)] 
po: Add telemetry.po to .gitignore

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agographs: hostapd: Add graph that shows the station signal
Michael Tremer [Tue, 21 Oct 2025 10:42:25 +0000 (10:42 +0000)] 
graphs: hostapd: Add graph that shows the station signal

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agographs: Add some more macros
Michael Tremer [Tue, 21 Oct 2025 10:41:53 +0000 (10:41 +0000)] 
graphs: Add some more macros

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosources: Take VDEFs from the graphs macros
Michael Tremer [Tue, 21 Oct 2025 10:41:20 +0000 (10:41 +0000)] 
sources: Take VDEFs from the graphs macros

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agocommand: Cleanup events before closing file descriptors
Michael Tremer [Tue, 21 Oct 2025 07:26:25 +0000 (07:26 +0000)] 
command: Cleanup events before closing file descriptors

This makes the trace slightly cleaner when FDs will be removed from the
event loop before they are closed and not the other way round.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agocommand: Defer cleaning up the command to avoid zombies
Michael Tremer [Tue, 21 Oct 2025 07:26:01 +0000 (07:26 +0000)] 
command: Defer cleaning up the command to avoid zombies

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agographs: Simplify headers by removing option to pass extra arguments
Michael Tremer [Mon, 20 Oct 2025 17:13:54 +0000 (17:13 +0000)] 
graphs: Simplify headers by removing option to pass extra arguments

We should keep it so that the macros print simple things and we won't
have to deal with the extra arguments.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agographs: Add automatic field composition for objects
Michael Tremer [Mon, 20 Oct 2025 17:10:11 +0000 (17:10 +0000)] 
graphs: Add automatic field composition for objects

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosources: hostapd: Don't use colons
Michael Tremer [Mon, 20 Oct 2025 14:29:29 +0000 (14:29 +0000)] 
sources: hostapd: Don't use colons

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agoqueue: Don't allow colons in object names
Michael Tremer [Mon, 20 Oct 2025 14:28:39 +0000 (14:28 +0000)] 
queue: Don't allow colons in object names

This breaks generating graphs where colons are used as delimiter.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosources: hostapd: Zero-pad MAC addresses
Michael Tremer [Mon, 20 Oct 2025 14:23:02 +0000 (14:23 +0000)] 
sources: hostapd: Zero-pad MAC addresses

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agoclient: Pass the object in the options array
Michael Tremer [Mon, 20 Oct 2025 14:16:56 +0000 (14:16 +0000)] 
client: Pass the object in the options array

This makes it all a little bit easier

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosources: Add source for hostapd clients
Michael Tremer [Mon, 20 Oct 2025 13:26:58 +0000 (13:26 +0000)] 
sources: Add source for hostapd clients

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agofile: Only finish parsing when we have found enough fields
Michael Tremer [Mon, 20 Oct 2025 13:25:37 +0000 (13:25 +0000)] 
file: Only finish parsing when we have found enough fields

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agofile: There is no need to attempt to parse empty lines
Michael Tremer [Mon, 20 Oct 2025 13:24:51 +0000 (13:24 +0000)] 
file: There is no need to attempt to parse empty lines

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agofile: Add function to run the parser on a single line
Michael Tremer [Mon, 20 Oct 2025 13:23:29 +0000 (13:23 +0000)] 
file: Add function to run the parser on a single line

This is useful if we want to use the parser when we cannot walk through
the file line by line.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agodaemon: Allow to select sources on the CLI
Michael Tremer [Mon, 20 Oct 2025 10:15:29 +0000 (10:15 +0000)] 
daemon: Allow to select sources on the CLI

This is only useful for testing to basically disable all other sources
for better log readability.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosources: Properly turn off the event when we disable a source
Michael Tremer [Mon, 20 Oct 2025 09:04:06 +0000 (09:04 +0000)] 
sources: Properly turn off the event when we disable a source

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agopo: Update translations
Michael Tremer [Sun, 19 Oct 2025 13:40:14 +0000 (13:40 +0000)] 
po: Update translations

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agoRename the entire project to "IPFire Telemetry"
Michael Tremer [Sun, 19 Oct 2025 13:39:44 +0000 (13:39 +0000)] 
Rename the entire project to "IPFire Telemetry"

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agosource: Disable all sources that fail all the time
Michael Tremer [Sun, 19 Oct 2025 13:08:08 +0000 (13:08 +0000)] 
source: Disable all sources that fail all the time

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2 weeks agographs: Always show the top of the memory graph
Michael Tremer [Sun, 19 Oct 2025 13:03:05 +0000 (13:03 +0000)] 
graphs: Always show the top of the memory graph

I am not sure whether this is what I actually want but some members on
the team think that it should  be this way. So I will commit this for
now and maybe later revert it again.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
3 weeks agosources: df: Cleanup /proc/self/mounts on error
Michael Tremer [Fri, 10 Oct 2025 09:57:14 +0000 (09:57 +0000)] 
sources: df: Cleanup /proc/self/mounts on error

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agocommand: Close the pidfd
Michael Tremer [Thu, 9 Oct 2025 17:44:23 +0000 (17:44 +0000)] 
command: Close the pidfd

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agofile: Reset the file pointer on error
Michael Tremer [Wed, 8 Oct 2025 20:46:13 +0000 (20:46 +0000)] 
file: Reset the file pointer on error

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agofile: Another attempt to make the static analyzer happy
Michael Tremer [Wed, 8 Oct 2025 20:39:06 +0000 (20:39 +0000)] 
file: Another attempt to make the static analyzer happy

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agofile: Try to make the static analyzer happy
Michael Tremer [Wed, 8 Oct 2025 20:33:15 +0000 (20:33 +0000)] 
file: Try to make the static analyzer happy

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agographs: Add a memory graph
Michael Tremer [Wed, 8 Oct 2025 20:30:24 +0000 (20:30 +0000)] 
graphs: Add a memory graph

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoproc: Also convert total memory to bytes
Michael Tremer [Wed, 8 Oct 2025 20:07:02 +0000 (20:07 +0000)] 
proc: Also convert total memory to bytes

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoqueue: Flush all data when we want to draw a graph
Michael Tremer [Wed, 8 Oct 2025 20:06:35 +0000 (20:06 +0000)] 
queue: Flush all data when we want to draw a graph

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agographs: Write title/vlabel to the stack
Michael Tremer [Wed, 8 Oct 2025 16:33:10 +0000 (16:33 +0000)] 
graphs: Write title/vlabel to the stack

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agopo: Update translations
Michael Tremer [Wed, 8 Oct 2025 16:24:14 +0000 (16:24 +0000)] 
po: Update translations

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoconfigure: Add option to enable tests
Michael Tremer [Wed, 8 Oct 2025 16:23:14 +0000 (16:23 +0000)] 
configure: Add option to enable tests

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoutil: Remove the old file walking functions
Michael Tremer [Wed, 8 Oct 2025 16:10:12 +0000 (16:10 +0000)] 
util: Remove the old file walking functions

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoproc: Use the new parser to parse PSI information
Michael Tremer [Wed, 8 Oct 2025 16:07:13 +0000 (16:07 +0000)] 
proc: Use the new parser to parse PSI information

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agofile: Implement parsing multiple values per line
Michael Tremer [Wed, 8 Oct 2025 16:02:39 +0000 (16:02 +0000)] 
file: Implement parsing multiple values per line

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosources: unbound: Cleanup some code
Michael Tremer [Wed, 8 Oct 2025 15:49:02 +0000 (15:49 +0000)] 
sources: unbound: Cleanup some code

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agocommand: Use the buffer implementation for internal buffering
Michael Tremer [Wed, 8 Oct 2025 15:46:33 +0000 (15:46 +0000)] 
command: Use the buffer implementation for internal buffering

In order to use the file parser, we convert the output of the command to
a file object which then provides a nice and simple parser.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agofile: Allow to open a buffer as a file object
Michael Tremer [Wed, 8 Oct 2025 15:44:58 +0000 (15:44 +0000)] 
file: Allow to open a buffer as a file object

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agofile: Fix format string check
Michael Tremer [Wed, 8 Oct 2025 15:43:24 +0000 (15:43 +0000)] 
file: Fix format string check

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agobuffer: Add a buffer implementation to write larger data to
Michael Tremer [Wed, 8 Oct 2025 15:42:55 +0000 (15:42 +0000)] 
buffer: Add a buffer implementation to write larger data to

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agofile: Build a simple parser
Michael Tremer [Wed, 8 Oct 2025 10:47:45 +0000 (10:47 +0000)] 
file: Build a simple parser

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agofile: Add a function to read a single integer
Michael Tremer [Wed, 8 Oct 2025 09:57:46 +0000 (09:57 +0000)] 
file: Add a function to read a single integer

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosources: Rename collect() to heartbeat()
Michael Tremer [Wed, 8 Oct 2025 09:43:26 +0000 (09:43 +0000)] 
sources: Rename collect() to heartbeat()

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoparse: Add custom functions to parse token and integers
Michael Tremer [Wed, 8 Oct 2025 09:35:40 +0000 (09:35 +0000)] 
parse: Add custom functions to parse token and integers

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agostring: Add function to strip non-whitespace
Michael Tremer [Wed, 8 Oct 2025 09:34:45 +0000 (09:34 +0000)] 
string: Add function to strip non-whitespace

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agostring: Include <stdarg.h>
Michael Tremer [Wed, 8 Oct 2025 09:34:13 +0000 (09:34 +0000)] 
string: Include <stdarg.h>

This was required for a while and when not included will break the
build.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agostring: Add function to copy strings of a set input length
Michael Tremer [Wed, 8 Oct 2025 09:33:16 +0000 (09:33 +0000)] 
string: Add function to copy strings of a set input length

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoproc: Refatcor reading /proc/softirqs
Michael Tremer [Tue, 7 Oct 2025 10:07:02 +0000 (10:07 +0000)] 
proc: Refatcor reading /proc/softirqs

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agofile: Add an abstraction to read files
Michael Tremer [Tue, 7 Oct 2025 10:05:58 +0000 (10:05 +0000)] 
file: Add an abstraction to read files

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoloadavg: Make the graph make sense
Michael Tremer [Tue, 7 Oct 2025 08:11:24 +0000 (08:11 +0000)] 
loadavg: Make the graph make sense

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agographs: Make it easier to compute custom CDEFs
Michael Tremer [Tue, 7 Oct 2025 08:11:06 +0000 (08:11 +0000)] 
graphs: Make it easier to compute custom CDEFs

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosource: Remove stepsize
Michael Tremer [Mon, 6 Oct 2025 17:06:02 +0000 (17:06 +0000)] 
source: Remove stepsize

We can fetch this from the heartbeat which is easier to understand in
its function.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosource: Stagger sources to avoid load peaks
Michael Tremer [Mon, 6 Oct 2025 17:03:52 +0000 (17:03 +0000)] 
source: Stagger sources to avoid load peaks

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agocommand: Kill commands after 30 seconds
Michael Tremer [Mon, 6 Oct 2025 16:59:01 +0000 (16:59 +0000)] 
command: Kill commands after 30 seconds

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosources: Add a source for Unbound stats
Michael Tremer [Mon, 6 Oct 2025 16:17:45 +0000 (16:17 +0000)] 
sources: Add a source for Unbound stats

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agocommand: Add a helper object to run a command
Michael Tremer [Mon, 6 Oct 2025 16:16:11 +0000 (16:16 +0000)] 
command: Add a helper object to run a command

This is designed to run any shell commands and parse the output. This
has to be done asynchronously so that we won't block the event loop.
That slightly adds some complications.

The command will be executed and events will be installed with the event
loop to read any stdout/stderr and store it as well as receive a signal
when the process terminates.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoutil: Add a helper function to walk through a buffer
Michael Tremer [Mon, 6 Oct 2025 16:15:31 +0000 (16:15 +0000)] 
util: Add a helper function to walk through a buffer

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agodaemon: Mask SIGCHLD
Michael Tremer [Mon, 6 Oct 2025 14:29:16 +0000 (14:29 +0000)] 
daemon: Mask SIGCHLD

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoutil: Add a helper function to iterate through file handles
Michael Tremer [Mon, 6 Oct 2025 14:28:01 +0000 (14:28 +0000)] 
util: Add a helper function to iterate through file handles

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoproto: Reduce the amount of logging
Michael Tremer [Mon, 6 Oct 2025 11:42:26 +0000 (11:42 +0000)] 
proto: Reduce the amount of logging

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoqueue: Actually store the object in the queue
Michael Tremer [Mon, 6 Oct 2025 11:21:13 +0000 (11:21 +0000)] 
queue: Actually store the object in the queue

This used to never happen which is why sources with multiple objects had
their data written into the main RRD file.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agographs: Add uptime graph
Michael Tremer [Sun, 5 Oct 2025 15:16:39 +0000 (15:16 +0000)] 
graphs: Add uptime graph

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agostring: Check format strings
Michael Tremer [Sun, 5 Oct 2025 15:02:27 +0000 (15:02 +0000)] 
string: Check format strings

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosources: Add source for the system's uptime
Michael Tremer [Sun, 5 Oct 2025 14:37:12 +0000 (14:37 +0000)] 
sources: Add source for the system's uptime

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agostring: Make all functions static
Michael Tremer [Sun, 5 Oct 2025 14:23:41 +0000 (14:23 +0000)] 
string: Make all functions static

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agostring: Add formatting functions
Michael Tremer [Sun, 5 Oct 2025 14:23:09 +0000 (14:23 +0000)] 
string: Add formatting functions

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agostring: Add our string comparison function
Michael Tremer [Sun, 5 Oct 2025 14:08:53 +0000 (14:08 +0000)] 
string: Add our string comparison function

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoutil: Add macros for branch prediction
Michael Tremer [Sun, 5 Oct 2025 14:04:30 +0000 (14:04 +0000)] 
util: Add macros for branch prediction

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosources: Add softirqs
Michael Tremer [Sun, 5 Oct 2025 14:03:24 +0000 (14:03 +0000)] 
sources: Add softirqs

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoqueue: Fail if the object contains invalid characters
Michael Tremer [Sun, 5 Oct 2025 13:55:45 +0000 (13:55 +0000)] 
queue: Fail if the object contains invalid characters

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosources: Add sources for IPv4 fragmentation information
Michael Tremer [Sun, 5 Oct 2025 13:27:31 +0000 (13:27 +0000)] 
sources: Add sources for IPv4 fragmentation information

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agoAdd source for memory usage
Michael Tremer [Sun, 5 Oct 2025 11:55:23 +0000 (11:55 +0000)] 
Add source for memory usage

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agodaemon: Use macros to convert time
Michael Tremer [Sun, 5 Oct 2025 10:55:19 +0000 (10:55 +0000)] 
daemon: Use macros to convert time

That way, I will hopefully not get the maths wrong all the time.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosource: Complain if the heartbeat was called too late
Michael Tremer [Sat, 4 Oct 2025 16:07:06 +0000 (16:07 +0000)] 
source: Complain if the heartbeat was called too late

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosource: Complain if something stalls the event loop
Michael Tremer [Sat, 4 Oct 2025 16:02:24 +0000 (16:02 +0000)] 
source: Complain if something stalls the event loop

This source will also be de-prioritized so that other sources can work
better.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosources: Add a test that stalls the event loop
Michael Tremer [Sat, 4 Oct 2025 16:02:09 +0000 (16:02 +0000)] 
sources: Add a test that stalls the event loop

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosource: Lower the heartbeat if a source is in error state
Michael Tremer [Sat, 4 Oct 2025 15:19:11 +0000 (15:19 +0000)] 
source: Lower the heartbeat if a source is in error state

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosources: Store result codes and check for patterns
Michael Tremer [Sat, 4 Oct 2025 15:09:15 +0000 (15:09 +0000)] 
sources: Store result codes and check for patterns

That way we can disable any sources which constantly fail and we might
as well detect flapping.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 weeks agosources: Add some tests
Michael Tremer [Sat, 4 Oct 2025 14:58:18 +0000 (14:58 +0000)] 
sources: Add some tests

Oone constantly returns an error, the other one returns an error with a
probability of 50%. They are to test the internal error handling.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>