admin: Replace 'metrics' with 'prometheus-client' #211
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change replaces the
metrics
feature with aprometheus-client
feature. prometheus-client is the official Prometheus-org OpenMetrics implementation.The watch-pods example has been updated to export prometheus metrics:
Furthermore,
admin::Builder
APIs are updated to consume the builder and return it by-value (instead of handling references, which does not work well when chaining configuration). This is based on the experience of integrating prometheus into the example.Additionally, the admin server has been updated to use spawn_blocking for non-probe handlers.
To support this, a new kubert-prometheus-process crate has been added, including only the procfs bindings needed to support the process metrics. This crate is completely decoupled from kubert. It is based on the process metrics implementation in the linkerd2-proxy repo.