refactor(API): deprecate non-descriptor metric creation methods#154
refactor(API): deprecate non-descriptor metric creation methods#154incertum merged 6 commits intoswift-server:mainfrom incertum:deprecation/help-unit-required-future
Conversation
|
Additional note: We should avoid redirecting to the public APIs that have now been marked as deprecated. I wanted to first ask for your opinion on this @ktoso . Happy to make these additional changes. |
I've pushed a suggestion. |
ktoso
left a comment
There was a problem hiding this comment.
Looks good, AFAICS this keeps source compat
Deprecates all metric creation methods that accept loose string parameters for name and help text.
This standardizes metric creation on the MetricNameDescriptor type, which requires a metricName, unitName and helpText for all metrics. This improves compliance with official Prometheus client library guidelines ("A MetricFamily MUST have a name, HELP, TYPE, and UNIT metadata.").
The deprecated methods will be removed in a future major version (see #145).
Signed-off-by: Melissa Kilby <mkilby@apple.com>
Signed-off-by: Melissa Kilby <mkilby@apple.com>
Signed-off-by: Melissa Kilby <mkilby@apple.com>
|
Please re re-review the latest minor fixes re CI failures, thanks! @FranzBusch @ktoso |
|
Can we avoid removing the warnings as errors setting? Are the deprecation warnings in the tests? If so you an mark the tests as deprecated which will silence those warnings. |
Signed-off-by: Melissa Kilby <mkilby@apple.com>
While it silenced it locally |
Mark tests as deprecated (for now). They will be refactored in the future. Co-authored-by: Franz Busch <f.busch@apple.com> Signed-off-by: Melissa Kilby <mkilby@apple.com>
It looks like only 5.10 and 6.0 are producing these warnings. Can we instead disable |
Signed-off-by: Melissa Kilby <mkilby@apple.com>
I have updated the override matrix (it wasn't yet configured for 6.0 and 6.1). It turns out that while having I would propose to defer this and unblock this PR for now. |
|
I'll go ahead and merge this. If we believe that additional refinements are beneficial, we can open a follow-up PR. |
Deprecates all metric creation methods that accept loose string parameters for name and help text.
This standardizes metric creation on the MetricNameDescriptor type, which requires a metricName, unitName and helpText for all metrics. This improves compliance with official Prometheus client library guidelines ("A MetricFamily MUST have a name, HELP, TYPE, and UNIT metadata.").
The deprecated methods will be removed in a future major version (see #145).
CC @ktoso, thank you!