]> git.ipfire.org Git - collecty.git/commitdiff
queue: Remove the old way to submit sample data
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 22 Oct 2025 18:00:01 +0000 (18:00 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 22 Oct 2025 18:00:01 +0000 (18:00 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/daemon/daemon.c
src/daemon/daemon.h
src/daemon/queue.c
src/daemon/queue.h
src/daemon/source.c
src/daemon/source.h

index 5b8c5b9be1d03d61bdb50f75fb4101e523adb469..bf3d12bd7fcfa53da703c5f46b56d18e374767d1 100644 (file)
@@ -381,15 +381,6 @@ ERROR:
        return 1;
 }
 
-int td_daemon_submit(td_daemon* self,
-               td_source* source, const char* object, const char* value) {
-       // Log action
-       DEBUG(self->ctx, "%s(%s) submitted: %s\n",
-               td_source_name(source), (object) ? object : "", value);
-
-       return td_queue_submit(self->queue, source, object, value);
-}
-
 int td_daemon_submit_metrics(td_daemon* self, td_metrics* metrics) {
        return td_queue_submit_metrics(self->queue, metrics);
 }
index 07e545e0d54a06f6758c3c00feac75078b91372b..5610c5fd3bb2c9110fdf2cde91a4053831a713dd 100644 (file)
@@ -45,8 +45,6 @@ td_graphs* td_daemon_get_graphs(td_daemon* self);
 
 int td_daemon_run(td_daemon* self);
 
-int td_daemon_submit(td_daemon* self,
-               td_source* source, const char* object, const char* value);
 int td_daemon_submit_metrics(td_daemon* self, td_metrics* metrics);
 
 int td_daemon_flush_source(
index cfa1b6e3863e68b2592fcd6ce10508c81e48ee6b..32fd99fbee0ddb796162d87d1c0c0a42c2315f28 100644 (file)
@@ -42,10 +42,6 @@ struct td_queue_object {
        // Object
        char* object;
 
-       // Samples
-       char** samples;
-       unsigned int num_samples;
-
        // Metrics
        td_metrics** metrics;
        unsigned int num_metrics;
@@ -114,12 +110,6 @@ static void td_queue_free_object(struct td_queue_object* o) {
                free(o->metrics);
        }
 
-       if (o->samples) {
-               for (unsigned int i = 0; i < o->num_samples; i++)
-                       free(o->samples[i]);
-               free(o->samples);
-       }
-
        if (o->source)
                td_source_unref(o->source);
        if (o->object)
@@ -291,37 +281,6 @@ static struct td_queue_object* td_queue_find_object_by_metrics(
        return o;
 }
 
-static int td_queue_object_append_sample(td_queue* self, td_source* source,
-               const char* object, struct td_queue_object* o, const char* sample) {
-       struct timeval t = {};
-       char** samples = NULL;
-       char* s = NULL;
-       int r;
-
-       // Fetch the current timestamp
-       r = gettimeofday(&t, NULL);
-       if (r < 0)
-               return -errno;
-
-       // Increase the size of the array
-       samples = reallocarray(o->samples, o->num_samples + 1, sizeof(*o->samples));
-       if (!samples)
-               return -errno;
-
-       // Prepend the timestamp to the sample
-       r = asprintf(&s, "%ld:%s", t.tv_sec, sample);
-       if (r < 0)
-               return -errno;
-
-       // Assign the sample
-       samples[o->num_samples++] = s;
-
-       // Replace the array
-       o->samples = samples;
-
-       return 0;
-}
-
 static int td_queue_object_append_metrics(td_queue* self,
                struct td_queue_object* o, td_metrics* m) {
        td_metrics** metrics = NULL;
@@ -343,54 +302,6 @@ static int td_queue_object_append_metrics(td_queue* self,
 /*
        Submits a new reading into the queue
 */
-int td_queue_submit(td_queue* self,
-               td_source* source, const char* object, const char* sample) {
-       struct td_queue_object* o = NULL;
-       int r;
-
-       // Check inputs
-       if (!sample)
-               return -EINVAL;
-
-       // Check if we can append the sample
-       o = td_queue_find_object(self, source, object);
-       if (o)
-               return td_queue_object_append_sample(self, source, object, o, sample);
-
-       // Allocate some memory
-       o = calloc(1, sizeof(*o));
-       if (!o)
-               return -errno;
-
-       // Reference the source
-       o->source = td_source_ref(source);
-
-       // Store the object
-       if (object) {
-               o->object = strdup(object);
-               if (!o->object) {
-                       r = -errno;
-                       goto ERROR;
-               }
-       }
-
-       // Store the sample
-       r = td_queue_object_append_sample(self, source, object, o, sample);
-       if (r < 0)
-               goto ERROR;
-
-       // Append the object to the queue
-       STAILQ_INSERT_TAIL(&self->queue, o, nodes);
-
-       return 0;
-
-ERROR:
-       if (o)
-               td_queue_free_object(o);
-
-       return r;
-}
-
 int td_queue_submit_metrics(td_queue* self, td_metrics* metrics) {
        struct td_queue_object* o = NULL;
        int r;
@@ -416,22 +327,11 @@ int td_queue_submit_metrics(td_queue* self, td_metrics* metrics) {
 static int td_queue_flush_object(td_queue* self, struct td_queue_object* o) {
        int r;
 
-       // Call the source to write its data
-       if (o->num_samples) {
-               r = td_source_commit(o->source, o->object, o->num_samples, (const char**)o->samples);
-               if (r < 0) {
-                       ERROR(self->ctx, "Failed to write samples for %s(%s): %s\n",
-                               td_source_name(o->source), (o->object) ? o->object : NULL, strerror(-r));
-               }
-       }
-
        // Call the source to write its metrics
-       if (o->num_metrics) {
-               r = td_source_commit_metrics(o->source, o->object, o->num_metrics, o->metrics);
-               if (r < 0) {
-                       ERROR(self->ctx, "Failed to write metrics for %s(%s): %s\n",
-                               td_source_name(o->source), (o->object) ? o->object : NULL, strerror(-r));
-               }
+       r = td_source_commit_metrics(o->source, o->object, o->num_metrics, o->metrics);
+       if (r < 0) {
+               ERROR(self->ctx, "Failed to write metrics for %s(%s): %s\n",
+                       td_source_name(o->source), (o->object) ? o->object : NULL, strerror(-r));
        }
 
        // Remove the object from the queue
index 5123a64ee41c82871908de724baa787142937410..0a51842a1f7f11eab49f9b7f02cfc44b218c977f 100644 (file)
@@ -34,8 +34,6 @@ int td_queue_create(td_queue** queue,
 td_queue* td_queue_ref(td_queue* self);
 td_queue* td_queue_unref(td_queue* self);
 
-int td_queue_submit(td_queue* self,
-       td_source* source, const char* object, const char* sample);
 int td_queue_submit_metrics(td_queue* self, td_metrics* metrics);
 
 int td_queue_flush(td_queue* self);
index 1f8f237a3d0b57960c3d220454649cebde505687..6f529c9b7b0a33bc185eb0f4e53881a17d33c89f 100644 (file)
@@ -502,28 +502,6 @@ static int __td_source_path(td_source* self,
        return __td_string_format(path, length, "%s/%s.rrd", DATABASE_PATH, name);
 }
 
-/*
-       Called when a source has some data to submit
-*/
-int td_source_submit(td_source* self,
-               const char* object, const char* format, ...) {
-       char value[2048];
-       va_list args;
-       int r;
-
-       // Format the arguments
-       va_start(args, format);
-       r = td_string_vformat(value, format, args);
-       va_end(args);
-
-       // Handle errors
-       if (r < 0)
-               return r;
-
-       // Submit the data to the daemon
-       return td_daemon_submit(self->daemon, self, object, value);
-}
-
 int td_source_submit_values(td_source* self,
                const char* object, const td_metric_value* values) {
        td_metrics* metrics = NULL;
@@ -929,7 +907,7 @@ ERROR:
 /*
        Called to write all collected samples to disk
 */
-int td_source_commit(td_source* self,
+static int td_source_commit_samples(td_source* self,
                const char* object, unsigned int num_samples, const char** samples) {
        struct stat st = {};
        char path[PATH_MAX];
@@ -990,7 +968,7 @@ int td_source_commit_metrics(td_source* self, const char* object,
        }
 
        // Commit the samples
-       r = td_source_commit(self, object, num_metrics, (const char**)samples);
+       r = td_source_commit_samples(self, object, num_metrics, (const char**)samples);
 
 ERROR:
        if (samples)
index b04c14af4ce8e9926619a1e20232fc62d9422924..89341fc7e6630389efc84edc48aacfb5ffad7164 100644 (file)
@@ -90,14 +90,10 @@ const td_rrd_ds* td_source_get_data_sources(td_source* self);
 int td_source_create_metrics(td_source* self, td_metrics** metrics, const char* object);
 int td_source_create_command(td_source* self, td_command** command);
 
-int td_source_submit(td_source* self, const char* object,
-       const char* format, ...) __attribute__((format(printf, 3, 4)));
 int td_source_submit_metrics(td_source* self, td_metrics* metrics);
 int td_source_submit_values(td_source* self,
        const char* object, const td_metric_value* values);
 
-int td_source_commit(td_source* self,
-       const char* object, unsigned int num_samples, const char** samples);
 int td_source_commit_metrics(td_source* self, const char* object,
        unsigned int num_metrics, td_metrics** metrics);