From b144bdaf0c98e05713f2bd33ee485ff055049822 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 14 Jun 2026 21:37:31 +0200 Subject: [PATCH 1/2] report: place Upload() on io.systemd.Report.Uploader rather than io.systemd.Report interface We really want to use io.systemd.Report for the interface provided by systemd-report itself, not by its backend. hence, rename the interface that uploading plugins shall implement to io.systemd.Report.Uploader. Note that we ideally should have a varlink interface definition for that interface. if we had, we'd have noticed that earlier. --- man/systemd-report.xml | 2 +- src/report/report-upload.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/man/systemd-report.xml b/man/systemd-report.xml index 560d940624..efbff555ee 100644 --- a/man/systemd-report.xml +++ b/man/systemd-report.xml @@ -89,7 +89,7 @@ https:// URL is specified with , an HTTP upload will be performed to the specified location. Otherwise, any sockets under /run/systemd/metrics-upload/ will be used to call - io.systemd.Report.Upload(). + io.systemd.Report.Uploader.Upload(). Match expressions supported by metrics are supported here too. diff --git a/src/report/report-upload.c b/src/report/report-upload.c index aea12e62a5..02f15cba61 100644 --- a/src/report/report-upload.c +++ b/src/report/report-upload.c @@ -249,7 +249,7 @@ static int upload_collected(Context *context, sd_json_variant *report) { ssize_t jobs = varlink_execute_directory( REPORT_UPLOAD_DIR, - "io.systemd.Report.Upload", + "io.systemd.Report.Uploader.Upload", params, /* more= */ false, arg_network_timeout_usec, From de4611efc2358384f350b97a63c41f4cef397713 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 14 Jun 2026 21:44:34 +0200 Subject: [PATCH 2/2] report: rename varlink dir for upload plugins let's name the dir "/run/systemd/report.upload/" (rather than "/run/systemd/metrics-upload/"). After all, these are reports that we upload, not indiviudual metrics. And it would be particular confusing since the dir to pick up metrics is called /run/systemd/report/, rather than /run/systemd/metrics/. Hence the thing that deals with reports is nmamed metrics, and the thing that deals in metrics is named reports... --- man/systemd-report.xml | 2 +- src/report/report.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/man/systemd-report.xml b/man/systemd-report.xml index efbff555ee..560d21c347 100644 --- a/man/systemd-report.xml +++ b/man/systemd-report.xml @@ -88,7 +88,7 @@ to an external server. Two upload mechanisms are supported. If an http:// or https:// URL is specified with , an HTTP upload will be performed to the specified location. Otherwise, any sockets under - /run/systemd/metrics-upload/ will be used to call + /run/systemd/report.upload/ will be used to call io.systemd.Report.Uploader.Upload(). Match expressions supported by metrics are supported here too. diff --git a/src/report/report.h b/src/report/report.h index 196a3daf57..3431755233 100644 --- a/src/report/report.h +++ b/src/report/report.h @@ -9,7 +9,7 @@ #define REPORT_CERT_FILE CERTIFICATE_ROOT "/certs/systemd-report.pem" #define REPORT_TRUST_FILE CERTIFICATE_ROOT "/ca/trusted.pem" -#define REPORT_UPLOAD_DIR "/run/systemd/metrics-upload" +#define REPORT_UPLOAD_DIR "/run/systemd/report.upload" extern sd_json_format_flags_t arg_json_format_flags; extern char *arg_url, *arg_key, *arg_cert, *arg_trust;