]>
git.ipfire.org Git - telemetry.git/log
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Michael Tremer [Sat, 4 Oct 2025 13:26:55 +0000 (13:26 +0000)]
sources: Add source for disk usage
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Oct 2025 12:51:21 +0000 (12:51 +0000)]
po: Update translations
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Oct 2025 12:49:49 +0000 (12:49 +0000)]
sources: Add PSI for I/O
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Oct 2025 12:47:00 +0000 (12:47 +0000)]
sources: Add PSI for memory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Oct 2025 12:43:59 +0000 (12:43 +0000)]
sources: Add PSI for CPU
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Oct 2025 12:01:50 +0000 (12:01 +0000)]
graphs: Make it configurable if the graph is reversed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Oct 2025 11:55:50 +0000 (11:55 +0000)]
Add a processor graph
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 16:23:15 +0000 (16:23 +0000)]
sources: Add source for processor usage
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 15:15:15 +0000 (15:15 +0000)]
graphs: Add context switch graph
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 15:12:05 +0000 (15:12 +0000)]
graphs: conntrack: Remove unused color definitions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 15:07:31 +0000 (15:07 +0000)]
graphs: Add macro to format headers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 15:03:44 +0000 (15:03 +0000)]
graphs: Add macros to draw transparent areas easier
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 3 Oct 2025 14:54:27 +0000 (14:54 +0000)]
graphs: Consolidate macros with and without label
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
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>