Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[collectd 6] cache: Provide the first metric value available alongside the first metric time. #4265

Merged
merged 10 commits into from
Jan 31, 2024

Conversation

octo
Copy link
Member

@octo octo commented Jan 31, 2024

The write_stackdriver plugin uses the first observed time to scale counters so they appear to start from zero. OpenTelemetry calls this inserting true reset points. The new API returns the first metric time and first metric time in one call for consistency and efficiency.

This PR contains a few other, smaller improvements to the cache:

  • A unit test for uc_insert() and uc_get_rate() has been added.
  • The public uc_init() function has been removed in favor of automatic initialization. This simplifies using the cache from unit tests.
  • The behavior of uc_get_rate() has been documented.

ChangeLog: Daemon: The first observed metric value has been added to the metrics cache.

…ded.

This simplifies writing unit tests using the cache.
…nd value.

Returning both in one call ensures these values are consistent, i.e. it avoids
the case that there might have been an update inbewtween reading time and
value.
This also improved the return values to give more information about which error condition occurred.
Copy link
Contributor

@eero-t eero-t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks OK in general, but there are some potential bug(s) in format_stackdriver.c changes, and some API inconsistency.

src/daemon/utils_cache.h Outdated Show resolved Hide resolved
src/utils/format_stackdriver/format_stackdriver.c Outdated Show resolved Hide resolved
src/daemon/utils_cache.h Show resolved Hide resolved
src/daemon/utils_cache.c Show resolved Hide resolved
@octo octo added this to In progress in collectd 6 via automation Jan 31, 2024
@octo octo added the Automerge Labels PRs to be merged by a bot once approved label Jan 31, 2024
@octo octo merged commit 89decd7 into collectd:collectd-6.0 Jan 31, 2024
27 checks passed
collectd 6 automation moved this from In progress to Done Jan 31, 2024
@octo octo deleted the 6/cache branch January 31, 2024 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Automerge Labels PRs to be merged by a bot once approved core Feature
Projects
collectd 6
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants