]> git.ipfire.org Git - thirdparty/collectd.git/log
thirdparty/collectd.git
17 months agowrite_open_telemetry plugin: Take the resource attributes into account when comparing...
Florian Forster [Thu, 14 Dec 2023 11:54:42 +0000 (12:54 +0100)] 
write_open_telemetry plugin: Take the resource attributes into account when comparing metric families.

The `staged_metric_families` tree was only using the metric family's name
to stage metrics, which is incorrect with the new resource attributes.

The code is now using the new `metric_family_compare` function to take the
attributes also into account.

17 months ago./contrib/format.sh src/utils/format_open_telemetry/format_open_telemetry.h
Florian Forster [Thu, 14 Dec 2023 07:29:28 +0000 (08:29 +0100)] 
./contrib/format.sh src/utils/format_open_telemetry/format_open_telemetry.h

17 months agosrc/collectd.conf.pod: Fix typo.
Eero Tamminen [Thu, 14 Dec 2023 07:22:05 +0000 (08:22 +0100)] 
src/collectd.conf.pod: Fix typo.

17 months agoFix .cc .h -> .proto mappings.
Florian Forster [Thu, 14 Dec 2023 07:20:20 +0000 (08:20 +0100)] 
Fix .cc .h -> .proto mappings.

How did this ever build on my machine?!

17 months agoAdd OpenTelemetry .proto files to the distribution.
Florian Forster [Thu, 14 Dec 2023 07:13:07 +0000 (08:13 +0100)] 
Add OpenTelemetry .proto files to the distribution.

This fixes `make distcheck`.

17 months agoAdd `using opentelemetry::proto::resource::v1::Resource`.
Florian Forster [Wed, 13 Dec 2023 22:26:52 +0000 (23:26 +0100)] 
Add `using opentelemetry::proto::resource::v1::Resource`.

17 months agoAdd support for resource attributes.
Florian Forster [Wed, 13 Dec 2023 22:18:44 +0000 (23:18 +0100)] 
Add support for resource attributes.

17 months agoMakefile.am: Only build OpenTelemetry protos if needed by write_open_telemetry.
Florian Forster [Thu, 7 Dec 2023 15:00:16 +0000 (16:00 +0100)] 
Makefile.am: Only build OpenTelemetry protos if needed by write_open_telemetry.

The plugin is only activated when protoc supports optional fields, which
is required by the OT protos.

17 months agoconfigure: Check whether protoc requires `--experimental_allow_proto3_optional`.
Florian Forster [Thu, 7 Dec 2023 14:43:46 +0000 (15:43 +0100)] 
configure: Check whether protoc requires `--experimental_allow_proto3_optional`.

17 months agowrite_open_telemetry plugin: Fix "unused variable" compile warning.
Florian Forster [Mon, 4 Dec 2023 16:49:14 +0000 (17:49 +0100)] 
write_open_telemetry plugin: Fix "unused variable" compile warning.

The variable is only used when compiling with `--enable-debug`.

17 months agoGitHub Actions: Fetch submodules when checking out the repository.
Florian Forster [Mon, 4 Dec 2023 16:43:49 +0000 (17:43 +0100)] 
GitHub Actions: Fetch submodules when checking out the repository.

17 months agowrite_open_telemetry plugin: Update copyright headers.
Florian Forster [Mon, 4 Dec 2023 16:27:16 +0000 (17:27 +0100)] 
write_open_telemetry plugin: Update copyright headers.

17 months agowrite_open_telemetry plugin: Document configuration options.
Florian Forster [Mon, 4 Dec 2023 16:20:23 +0000 (17:20 +0100)] 
write_open_telemetry plugin: Document configuration options.

17 months agowrite_open_telemetry plugin: Remove the unused "Path" config option.
Florian Forster [Mon, 4 Dec 2023 16:14:18 +0000 (17:14 +0100)] 
write_open_telemetry plugin: Remove the unused "Path" config option.

17 months agowrite_open_telemetry plugin: Set up the build system properly.
Florian Forster [Mon, 4 Dec 2023 16:10:37 +0000 (17:10 +0100)] 
write_open_telemetry plugin: Set up the build system properly.

My initial thought was to treat the file generated from protocol buffers
like the code generated by flex/yacc. However, protocol buffer code needs
to be linked with the protobuf library, so packaging the generated code
with the distribution may cause compatibility issues in the future.

17 months agowrite_open_telemetry plugin: Implement gRPC sending logic.
Florian Forster [Mon, 4 Dec 2023 14:10:53 +0000 (15:10 +0100)] 
write_open_telemetry plugin: Implement gRPC sending logic.

17 months agowrite_open_telemetry plugin: Implement conditional flushing.
Florian Forster [Sun, 3 Dec 2023 09:25:31 +0000 (10:25 +0100)] 
write_open_telemetry plugin: Implement conditional flushing.

17 months agowrite_open_telemetry plugin: s/cached/staged/
Florian Forster [Sat, 2 Dec 2023 21:42:45 +0000 (22:42 +0100)] 
write_open_telemetry plugin: s/cached/staged/

17 months agowrite_open_telemetry plugin: Wrap headers with `extern "C"`.
Florian Forster [Sat, 2 Dec 2023 21:41:28 +0000 (22:41 +0100)] 
write_open_telemetry plugin: Wrap headers with `extern "C"`.

This is required for linking correctly.

17 months agowrite_open_telemetry plugin: Initial commit.
Florian Forster [Sat, 2 Dec 2023 21:14:16 +0000 (22:14 +0100)] 
write_open_telemetry plugin: Initial commit.

17 months agoNew utility: format OpenTelemetry.
Florian Forster [Sat, 2 Dec 2023 06:52:10 +0000 (07:52 +0100)] 
New utility: format OpenTelemetry.

This new utility formats a metric family as an OpenTelemetry
"ResourceMetric" and writes the serialized protocol buffer to the provided
string buffer.

17 months agogit submodule add https://github.com/open-telemetry/opentelemetry-proto/
Florian Forster [Fri, 1 Dec 2023 13:18:55 +0000 (14:18 +0100)] 
git submodule add https://github.com/open-telemetry/opentelemetry-proto/

17 months agoMerge pull request #4188 from octo/6/write_http_otlp_json
Florian Forster [Wed, 3 Jan 2024 15:51:23 +0000 (16:51 +0100)] 
Merge pull request #4188 from octo/6/write_http_otlp_json

[collectd 6] Add OTLP support to the Write HTTP plugin.

17 months agowrite_http plugin: Remove `WH_FORMAT_OTLP_PROTO`. 4188/head
Florian Forster [Wed, 3 Jan 2024 15:01:18 +0000 (16:01 +0100)] 
write_http plugin: Remove `WH_FORMAT_OTLP_PROTO`.

17 months agoformat_json: Add the `unit` field to the OpenTelemetry output.
Florian Forster [Wed, 3 Jan 2024 14:59:53 +0000 (15:59 +0100)] 
format_json: Add the `unit` field to the OpenTelemetry output.

17 months agocollectd.conf(5): Improve wording.
Eero Tamminen [Wed, 3 Jan 2024 14:52:04 +0000 (15:52 +0100)] 
collectd.conf(5): Improve wording.

17 months agocollectd.conf(5): spell "time series database" consistently.
Florian Forster [Wed, 3 Jan 2024 14:50:55 +0000 (15:50 +0100)] 
collectd.conf(5): spell "time series database" consistently.

17 months agowrite_http plugin: Adapt to changed resource_metrics semantic.
Florian Forster [Sun, 17 Dec 2023 08:49:09 +0000 (09:49 +0100)] 
write_http plugin: Adapt to changed resource_metrics semantic.

17 months agowrite_http plugin: Clear the response buffer before issuing the request.
Florian Forster [Sun, 17 Dec 2023 07:57:15 +0000 (08:57 +0100)] 
write_http plugin: Clear the response buffer before issuing the request.

Previously all responses were concatenated together until the buffer was
full, at which point no additional responses were accessible.

17 months agowrite_http plugin: Make the OTLP_JSON output configurable.
Florian Forster [Sat, 16 Dec 2023 19:17:14 +0000 (20:17 +0100)] 
write_http plugin: Make the OTLP_JSON output configurable.

Also updates the manpage to reflect this change.

17 months agowrite_http plugin: Add OTLP JSON support using resource metrics.
Florian Forster [Sat, 16 Dec 2023 13:18:48 +0000 (14:18 +0100)] 
write_http plugin: Add OTLP JSON support using resource metrics.

17 months agoformat_json: Fix unit test.
Florian Forster [Sat, 16 Dec 2023 18:09:47 +0000 (19:09 +0100)] 
format_json: Fix unit test.

17 months agoformat_json: Emit only one `ScopeMetrics` per `ResourceMetrics`.
Florian Forster [Sat, 16 Dec 2023 13:40:11 +0000 (14:40 +0100)] 
format_json: Emit only one `ScopeMetrics` per `ResourceMetrics`.

Also fixed the unit test to pass again.

17 months agoformat_json: Update `format_json_open_telemetry` to use resource metrics.
Florian Forster [Sat, 16 Dec 2023 13:10:11 +0000 (14:10 +0100)] 
format_json: Update `format_json_open_telemetry` to use resource metrics.

17 months agoformat_json: Move conditional error logging to a separate function.
Eero Tamminen [Fri, 15 Dec 2023 18:18:54 +0000 (19:18 +0100)] 
format_json: Move conditional error logging to a separate function.

This reduces the amount of duplicate code being generated.

Co-authored-by: Florian Forster <octo@collectd.org>
17 months agoformat_json: Use `yajl_gen_double` to encode gauge metrics.
Florian Forster [Fri, 15 Dec 2023 18:12:13 +0000 (19:12 +0100)] 
format_json: Use `yajl_gen_double` to encode gauge metrics.

This also fixes the unit test by embedding PACKAGE_VERSION.

17 months agoformat_json: Add a missing "array open" call.
Florian Forster [Fri, 15 Dec 2023 14:39:17 +0000 (15:39 +0100)] 
format_json: Add a missing "array open" call.

17 months agoformat_json: Add a unit test for the OpenTelemetry format.
Florian Forster [Fri, 15 Dec 2023 14:38:52 +0000 (15:38 +0100)] 
format_json: Add a unit test for the OpenTelemetry format.

17 months agoformat_json: add special error handling to `json_add_string`.
Florian Forster [Fri, 15 Dec 2023 13:54:23 +0000 (14:54 +0100)] 
format_json: add special error handling to `json_add_string`.

17 months agoformat_json: only log errors when a `yajl_gen_` call fails.
Florian Forster [Fri, 15 Dec 2023 13:53:57 +0000 (14:53 +0100)] 
format_json: only log errors when a `yajl_gen_` call fails.

17 months agowrite_http plugin: Add initial support for exporting OTLP via HTTP.
Florian Forster [Thu, 14 Dec 2023 11:58:03 +0000 (12:58 +0100)] 
write_http plugin: Add initial support for exporting OTLP via HTTP.

17 months agoformat_json: Add `format_json_open_telemetry` for creating OpenTelemetry JSON.
Florian Forster [Thu, 14 Dec 2023 11:57:34 +0000 (12:57 +0100)] 
format_json: Add `format_json_open_telemetry` for creating OpenTelemetry JSON.

17 months agoMerge pull request #4219 from octo/6/memory
Florian Forster [Wed, 3 Jan 2024 12:05:36 +0000 (13:05 +0100)] 
Merge pull request #4219 from octo/6/memory

[collectd 6] memory plugin: Align metrics with OpenTelemetry recommendations.

17 months agomemory plugin: Align metrics with OpenTelemetry recommendations. 4219/head
Florian Forster [Sun, 17 Dec 2023 14:04:59 +0000 (15:04 +0100)] 
memory plugin: Align metrics with OpenTelemetry recommendations.

* The "state" label has been renamed to "system.memory.state".
* Metric descriptions and units have been added.

17 months agoMerge pull request #4220 from octo/6/write_prometheus
Florian Forster [Fri, 29 Dec 2023 16:55:45 +0000 (17:55 +0100)] 
Merge pull request #4220 from octo/6/write_prometheus

write_prometheus plugin: Use the `unit` field to create metric names.

17 months agowrite_prometheus plugin: Remove invalid characers from the unit. 4220/head
Florian Forster [Fri, 29 Dec 2023 16:07:24 +0000 (17:07 +0100)] 
write_prometheus plugin: Remove invalid characers from the unit.

17 months agocontrib/format.sh src/write_prometheus.c
Florian Forster [Fri, 29 Dec 2023 16:00:50 +0000 (17:00 +0100)] 
contrib/format.sh src/write_prometheus.c

17 months agowrite_prometheus plugin: Use the `unit` field to create metric names.
Florian Forster [Fri, 29 Dec 2023 15:58:37 +0000 (16:58 +0100)] 
write_prometheus plugin: Use the `unit` field to create metric names.

Reference:
https://opentelemetry.io/docs/specs/otel/compatibility/prometheus_and_openmetrics/#metric-metadata-1

17 months agoMerge pull request #4194 from octo/6/unit
Florian Forster [Thu, 28 Dec 2023 19:55:41 +0000 (20:55 +0100)] 
Merge pull request #4194 from octo/6/unit

[collectd 6] Add a `unit` field to the `metric_family_t` struct.

17 months agocontrib/format.sh src/daemon/unit.h 4194/head
Florian Forster [Thu, 28 Dec 2023 19:18:47 +0000 (20:18 +0100)] 
contrib/format.sh src/daemon/unit.h

17 months agosrc/daemon/unit.h: Reference OpenTelemetry docs.
Florian Forster [Thu, 28 Dec 2023 08:04:57 +0000 (09:04 +0100)] 
src/daemon/unit.h: Reference OpenTelemetry docs.

Co-authored-by: Eero Tamminen <eero.t.tamminen@intel.com>
17 months agosrc/daemon/unit.c: Use `string_has_suffix()` from `common`.
Florian Forster [Mon, 18 Dec 2023 14:04:13 +0000 (15:04 +0100)] 
src/daemon/unit.c: Use `string_has_suffix()` from `common`.

17 months agosrc/daemon/unit.c: Add reference link to metric names and units.
Florian Forster [Mon, 18 Dec 2023 14:02:08 +0000 (15:02 +0100)] 
src/daemon/unit.c: Add reference link to metric names and units.

17 months agosrc/daemon/metric.h: Add doc comment for the `unit` field.
Florian Forster [Mon, 18 Dec 2023 14:01:38 +0000 (15:01 +0100)] 
src/daemon/metric.h: Add doc comment for the `unit` field.

17 months agosrc/daemon/plugin.c: Automatically determine the unit if possible.
Florian Forster [Sun, 17 Dec 2023 13:04:48 +0000 (14:04 +0100)] 
src/daemon/plugin.c: Automatically determine the unit if possible.

17 months agosrc/daemon/unit.[ch]: Add utility for determining the unit.
Florian Forster [Sun, 17 Dec 2023 12:47:44 +0000 (13:47 +0100)] 
src/daemon/unit.[ch]: Add utility for determining the unit.

17 months agosrc/daemon/metric.[ch]: Add `unit` to `metric_family_t`.
Florian Forster [Sun, 17 Dec 2023 12:20:28 +0000 (13:20 +0100)] 
src/daemon/metric.[ch]: Add `unit` to `metric_family_t`.

17 months agoMerge pull request #4212 from octo/6/names
Florian Forster [Thu, 28 Dec 2023 19:39:36 +0000 (20:39 +0100)] 
Merge pull request #4212 from octo/6/names

[collectd 6] Allow arbitrary UTF-8 strings as label names.

17 months agoMakefile.am: Fix inconsistent indentation. 4212/head
Florian Forster [Thu, 28 Dec 2023 19:25:04 +0000 (20:25 +0100)] 
Makefile.am: Fix inconsistent indentation.

17 months agoMerge branch 'collectd-6.0' into 6/names
Florian Forster [Thu, 28 Dec 2023 19:23:33 +0000 (20:23 +0100)] 
Merge branch 'collectd-6.0' into 6/names

17 months agoMerge pull request #4213 from octo/6/write_prometheus
Florian Forster [Thu, 28 Dec 2023 19:20:12 +0000 (20:20 +0100)] 
Merge pull request #4213 from octo/6/write_prometheus

[collectd 6] Improve Write Prometheus' handling of resource attributes.

17 months agowrite_prometheus plugin: Emit a single `target_info` metric family. 4213/head
Florian Forster [Tue, 26 Dec 2023 07:27:43 +0000 (08:27 +0100)] 
write_prometheus plugin: Emit a single `target_info` metric family.

With this change, the *write_promtheus plugin* will emit a single
`target_info` metric family with one metric per resource.

17 months agowrite_prometheus plugin: Insert a newline between metric families.
Florian Forster [Tue, 26 Dec 2023 07:14:39 +0000 (08:14 +0100)] 
write_prometheus plugin: Insert a newline between metric families.

17 months agoresource_metrics: Compile into a library.
Florian Forster [Mon, 25 Dec 2023 20:47:17 +0000 (21:47 +0100)] 
resource_metrics: Compile into a library.

17 months agoresource_metrics: Fix an incorrect pointer type.
Florian Forster [Sun, 24 Dec 2023 20:44:59 +0000 (21:44 +0100)] 
resource_metrics: Fix an incorrect pointer type.

It's only ever used for a NULL comparison, so it doesn't really matter,
but it is unnecessarily confusing to use an incorrect type.

17 months agowrite_prometheus plugin: Emit the "target info" label as a gauge by default.
Florian Forster [Mon, 25 Dec 2023 22:00:18 +0000 (23:00 +0100)] 
write_prometheus plugin: Emit the "target info" label as a gauge by default.

Prometheus doesn't know the "info" type metrics that OpenMetrics talks
about. Instead, is has a *convention* of using a gauge metric named
"target_info".

17 months agowrite_prometheus plugin: Improve label sanitation.
Florian Forster [Sat, 23 Dec 2023 19:27:44 +0000 (20:27 +0100)] 
write_prometheus plugin: Improve label sanitation.

This copies the behavior of the OpenTelemetry Prometheus translator:

1.  Replace all invalid characters with underscores.
2.  If the name starts with a single underscore, add the prefix `key`.
3.  If the name stars with a digit, add the prefix `key_`.

17 months agosrc/daemon/metric.[ch]: Export `label_set_get` and `label_set_update`.
Florian Forster [Sat, 23 Dec 2023 19:30:05 +0000 (20:30 +0100)] 
src/daemon/metric.[ch]: Export `label_set_get` and `label_set_update`.

17 months agowrite_prometheus plugin: Improve metric family name generation.
Florian Forster [Sat, 23 Dec 2023 14:51:00 +0000 (15:51 +0100)] 
write_prometheus plugin: Improve metric family name generation.

17 months agowrite_prometheus plugin: Emit resource attributes only, if they differ from the default.
Florian Forster [Fri, 22 Dec 2023 22:44:09 +0000 (23:44 +0100)] 
write_prometheus plugin: Emit resource attributes only, if they differ from the default.

17 months agowrite_prometheus plugin: Translate between resource attributes and target labels.
Florian Forster [Fri, 22 Dec 2023 22:39:58 +0000 (23:39 +0100)] 
write_prometheus plugin: Translate between resource attributes and target labels.

* `service.name` → `job`
* `service.instance.id` → `instance`

17 months agowrite_prometheus plugin: Emit special a "target info" metric.
Florian Forster [Fri, 22 Dec 2023 22:18:01 +0000 (23:18 +0100)] 
write_prometheus plugin: Emit special a "target info" metric.

17 months agosrc/daemon/metric_test.c: Add invalid inputs for `metric_parse_identity`.
Florian Forster [Thu, 28 Dec 2023 08:51:47 +0000 (09:51 +0100)] 
src/daemon/metric_test.c: Add invalid inputs for `metric_parse_identity`.

17 months agosrc/daemon/metric.c: Allow arbitrary UTF-8 strings are label name.
Florian Forster [Fri, 22 Dec 2023 21:12:53 +0000 (22:12 +0100)] 
src/daemon/metric.c: Allow arbitrary UTF-8 strings are label name.

17 months agosrc/daemon/metric_test.c: Add test for `metric_parse_identity`.
Florian Forster [Fri, 22 Dec 2023 16:18:22 +0000 (17:18 +0100)] 
src/daemon/metric_test.c: Add test for `metric_parse_identity`.

17 months agoutf8: Handle `NULL` inputs gracefully.
Florian Forster [Fri, 22 Dec 2023 14:44:56 +0000 (15:44 +0100)] 
utf8: Handle `NULL` inputs gracefully.

17 months agoutf8: Make `decode` idempotent by returning the new state.
Florian Forster [Fri, 22 Dec 2023 14:37:57 +0000 (15:37 +0100)] 
utf8: Make `decode` idempotent by returning the new state.

17 months agoutf8: Remove the unused `codep` argument.
Florian Forster [Fri, 22 Dec 2023 14:35:09 +0000 (15:35 +0100)] 
utf8: Remove the unused `codep` argument.

17 months agoutf8: Iterate over the input string using a for loop.
Florian Forster [Fri, 22 Dec 2023 14:33:00 +0000 (15:33 +0100)] 
utf8: Iterate over the input string using a for loop.

This is arguably easier to read.

17 months agoutf8: Make `decode` a void function -- its return value is always ignored.
Florian Forster [Fri, 22 Dec 2023 14:32:30 +0000 (15:32 +0100)] 
utf8: Make `decode` a void function -- its return value is always ignored.

17 months agoutf8: Change return value to `bool`.
Florian Forster [Fri, 22 Dec 2023 14:26:53 +0000 (15:26 +0100)] 
utf8: Change return value to `bool`.

17 months agoutf8: Change argument from `uint8_t *` to `char const *`.
Florian Forster [Fri, 22 Dec 2023 14:26:11 +0000 (15:26 +0100)] 
utf8: Change argument from `uint8_t *` to `char const *`.

17 months agoutf8: Rename `IsUTF8` to `utf8_valid` to match collectd's naming schema.
Florian Forster [Fri, 22 Dec 2023 14:23:21 +0000 (15:23 +0100)] 
utf8: Rename `IsUTF8` to `utf8_valid` to match collectd's naming schema.

17 months agoutf8: Add unit test.
Florian Forster [Fri, 22 Dec 2023 14:21:21 +0000 (15:21 +0100)] 
utf8: Add unit test.

17 months agoutf8: Add a header file.
Florian Forster [Fri, 22 Dec 2023 13:41:44 +0000 (14:41 +0100)] 
utf8: Add a header file.

17 months agoutf8: Make utility build.
Florian Forster [Fri, 22 Dec 2023 13:38:28 +0000 (14:38 +0100)] 
utf8: Make utility build.

*   Import `"collectd.h"` for `<stdint.h>`.
*   Make `decode` static, otherwise GCC complains about it reading from a
    static variable.

17 months agocontrib/format.sh src/utils/utf8/utf8.c
Florian Forster [Fri, 22 Dec 2023 13:20:55 +0000 (14:20 +0100)] 
contrib/format.sh src/utils/utf8/utf8.c

17 months agoutf8: Import code from http://bjoern.hoehrmann.de/utf-8/decoder/dfa/.
Florian Forster [Fri, 22 Dec 2023 13:04:46 +0000 (14:04 +0100)] 
utf8: Import code from http://bjoern.hoehrmann.de/utf-8/decoder/dfa/.

Co-authored-by: Bjoern Hoehrmann <bjoern@hoehrmann.de>
17 months agoMerge pull request #4214 from octo/label_set_delete
Florian Forster [Thu, 28 Dec 2023 08:40:12 +0000 (09:40 +0100)] 
Merge pull request #4214 from octo/label_set_delete

[collectd 6] src/daemon/metric.c: Fix memory corruption in `label_set_delete`.

17 months agosrc/daemon/metric.[ch]: Export `label_set_format`. 4214/head
Florian Forster [Thu, 28 Dec 2023 08:32:00 +0000 (09:32 +0100)] 
src/daemon/metric.[ch]: Export `label_set_format`.

This is now also used in the metric test, replacing the custom
implementation there.

17 months agosrc/daemon/metric.c: Fix memory corruption in `label_set_delete`.
Florian Forster [Mon, 25 Dec 2023 21:57:10 +0000 (22:57 +0100)] 
src/daemon/metric.c: Fix memory corruption in `label_set_delete`.

The size parameter passed to `memmove` was in number of pairs, not bytes.

17 months agosrc/daemon/metric_test.c: Test the integrity of `metric_label_set`.
Florian Forster [Tue, 26 Dec 2023 17:50:07 +0000 (18:50 +0100)] 
src/daemon/metric_test.c: Test the integrity of `metric_label_set`.

The previous test only checked whether the added/removed value could be
retrieved. Also verify that the remainder of the label set is intact.

17 months agoMerge pull request #4199 from octo/6/resource
Florian Forster [Thu, 28 Dec 2023 08:12:37 +0000 (09:12 +0100)] 
Merge pull request #4199 from octo/6/resource

[collectd 6] Add an option to configure resource attributes.

17 months agosrc/daemon/resource.c: Allow default resource attributes to be empty. 4199/head
Florian Forster [Fri, 22 Dec 2023 07:13:22 +0000 (08:13 +0100)] 
src/daemon/resource.c: Allow default resource attributes to be empty.

To achieve this, track whether or not the struct has been initialized
separately, so that users can remove all the attributes if they wish.

17 months agosrc/collectd.conf.pod: Describe "resources" in more detail.
Florian Forster [Fri, 22 Dec 2023 07:08:44 +0000 (08:08 +0100)] 
src/collectd.conf.pod: Describe "resources" in more detail.

17 months agolibplugin_mock: Add `src/daemon/resource.[ch]`.
Florian Forster [Tue, 19 Dec 2023 13:51:13 +0000 (14:51 +0100)] 
libplugin_mock: Add `src/daemon/resource.[ch]`.

Since `configfile` now refers to `resource`, this needs to be linked into
tests.

17 months agoconfigfile: Avoid allocating a buffer for the resource type.
Florian Forster [Tue, 19 Dec 2023 13:18:30 +0000 (14:18 +0100)] 
configfile: Avoid allocating a buffer for the resource type.

Mostly to avoid an uninformed compiler warning ;)

17 months agoresource: Add an option to configure resource attributes.
Florian Forster [Tue, 19 Dec 2023 13:04:44 +0000 (14:04 +0100)] 
resource: Add an option to configure resource attributes.

17 months agoMerge pull request #4208 from octo/6/built-plugins
Florian Forster [Wed, 27 Dec 2023 14:20:21 +0000 (15:20 +0100)] 
Merge pull request #4208 from octo/6/built-plugins

.cirrus.yml: Provide expected plugin list to `check-built-plugins.sh` if present.

17 months ago.expected-plugins/debian_unstable: Import expected plugins list. 4208/head
Florian Forster [Thu, 21 Dec 2023 19:02:12 +0000 (20:02 +0100)] 
.expected-plugins/debian_unstable: Import expected plugins list.