]> git.ipfire.org Git - thirdparty/collectd.git/log
thirdparty/collectd.git
17 months ago.gitmodules: Defaut to shallow submodules. 4231/head
Florian Forster [Thu, 11 Jan 2024 18:39:20 +0000 (19:39 +0100)] 
.gitmodules: Defaut to shallow submodules.

17 months ago.github/workflows/: Only activate the opentelemetry submodule.
Florian Forster [Thu, 11 Jan 2024 18:53:12 +0000 (19:53 +0100)] 
.github/workflows/: Only activate the opentelemetry submodule.

17 months agomemory plugin: Use a constant for label names.
Florian Forster [Thu, 4 Jan 2024 06:05:08 +0000 (07:05 +0100)] 
memory plugin: Use a constant for label names.

17 months agoMerge pull request #4180 from octo/open-telemetry
Florian Forster [Wed, 3 Jan 2024 18:07:59 +0000 (19:07 +0100)] 
Merge pull request #4180 from octo/open-telemetry

[collectd 6] Write OpenTelemetry: New plugin to export metrics via OTLP over gRPC.

17 months agowrite_open_telemetry plugin: Fix minor memory leak. 4180/head
Florian Forster [Wed, 3 Jan 2024 17:39:52 +0000 (18:39 +0100)] 
write_open_telemetry plugin: Fix minor memory leak.

Error:

```
==171106== 8 bytes in 1 blocks are definitely lost in loss record 58 of 228
==171106==    at 0x48407B4: malloc (vg_replace_malloc.c:381)
==171106==    by 0x492E7F9: strdup (strdup.c:42)
==171106==    by 0x1131F9: cf_util_get_string (configfile.c:1127)
==171106==    by 0x4EA3FD0: ot_config_node (write_open_telemetry.cc:206)
==171106==    by 0x4EA3FD0: ??? (write_open_telemetry.cc:262)
==171106==    by 0x111794: dispatch_block_plugin (configfile.c:464)
==171106==    by 0x1119B9: dispatch_block (configfile.c:508)
==171106==    by 0x11313D: cf_read (configfile.c:1100)
==171106==    by 0x11034E: configure_collectd (collectd.c:356)
==171106==    by 0x1104B6: init_config (collectd.c:406)
==171106==    by 0x121F3F: main (cmd.c:167)
```

17 months agosrc/collectd.conf.in: Add a `LoadPlugin` line for write_open_telemetry.
Florian Forster [Wed, 3 Jan 2024 17:35:45 +0000 (18:35 +0100)] 
src/collectd.conf.in: Add a `LoadPlugin` line for write_open_telemetry.

17 months agoformat_open_telemetry: Add `return` statement to that the block is not empty.
Florian Forster [Wed, 3 Jan 2024 16:01:34 +0000 (17:01 +0100)] 
format_open_telemetry: Add `return` statement to that the block is not empty.

17 months agoWrite Open Telemetry plugin: Improve readability of time comparison.
Florian Forster [Wed, 3 Jan 2024 15:37:48 +0000 (16:37 +0100)] 
Write Open Telemetry plugin: Improve readability of time comparison.

Co-authored-by: Eero Tamminen <eero.t.tamminen@intel.com>
17 months agoformat_open_telemetry: Handle unexpected metric types gracefully.
Florian Forster [Wed, 3 Jan 2024 15:35:05 +0000 (16:35 +0100)] 
format_open_telemetry: Handle unexpected metric types gracefully.

17 months agoformat_open_telemetry: Unify the `set_gauge` and `set_sum` functions.
Florian Forster [Wed, 3 Jan 2024 15:17:06 +0000 (16:17 +0100)] 
format_open_telemetry: Unify the `set_gauge` and `set_sum` functions.

17 months agoformat_open_telemetry: Reuse local variable.
Florian Forster [Wed, 3 Jan 2024 15:10:58 +0000 (16:10 +0100)] 
format_open_telemetry: Reuse local variable.

Co-authored-by: Eero Tamminen <eero.t.tamminen@intel.com>
17 months agosrc/daemon/metric.c: Drop redundant check from `metric_family_clone`.
Florian Forster [Wed, 3 Jan 2024 15:08:37 +0000 (16:08 +0100)] 
src/daemon/metric.c: Drop redundant check from `metric_family_clone`.

Co-authored-by: Eero Tamminen <eero.t.tamminen@intel.com>
17 months agoformat_open_telemetry: Populate the `unit` field.
Florian Forster [Wed, 3 Jan 2024 12:42:11 +0000 (13:42 +0100)] 
format_open_telemetry: Populate the `unit` field.

17 months ago.cirrus.yml: Tell CirrusCI to also clone submodules.
Florian Forster [Wed, 20 Dec 2023 11:46:43 +0000 (12:46 +0100)] 
.cirrus.yml: Tell CirrusCI to also clone submodules.

17 months ago./contrib/format.sh src/write_open_telemetry.cc
Florian Forster [Wed, 20 Dec 2023 10:56:00 +0000 (11:56 +0100)] 
./contrib/format.sh src/write_open_telemetry.cc

17 months agowrite_open_telemetry plugin: Adapt to changed resource_metrics semantic.
Florian Forster [Sun, 17 Dec 2023 08:45:44 +0000 (09:45 +0100)] 
write_open_telemetry plugin: Adapt to changed resource_metrics semantic.

17 months agowrite_open_telemetry plugin: Configure the flush callback to be called periodically.
Florian Forster [Sat, 16 Dec 2023 19:59:39 +0000 (20:59 +0100)] 
write_open_telemetry plugin: Configure the flush callback to be called periodically.

17 months agowrite_open_telemetry plugin: Use resource metrics to stage metric families.
Florian Forster [Sat, 16 Dec 2023 19:59:02 +0000 (20:59 +0100)] 
write_open_telemetry plugin: Use resource metrics to stage metric families.

17 months agoformat_open_telemetry: Accept a `resource_metrics_set_t`.
Florian Forster [Sat, 16 Dec 2023 19:55:45 +0000 (20:55 +0100)] 
format_open_telemetry: Accept a `resource_metrics_set_t`.

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`.