Skip to content

Add async/callback mode to instruments? #702

Description

@timwoj

I'd like to propose a new feature for prometheus-cpp that would add an async or callback mode to the instrument types. This would allow a user to add a callback method (such as a std::function) to an instrument. The callback would be called during Collect() to set the value of the instrument before it’s exported to prometheus. The difference here with normal operation is that it avoids needing to directly record a value periodically, and lets the prometheus export set it only when it’s actually needed.

Does this seem like something worthwhile to add? I don’t mind doing the work, but I just wanted to gauge the interest before I got started on it.

If you need a (possibly overly-complicated) example, opentelemetry-cpp has a similar feature in their “Observable” instruments.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions