-
Notifications
You must be signed in to change notification settings - Fork 39
refactor(API): deprecate non-descriptor metric creation methods #154
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
base: main
Are you sure you want to change the base?
refactor(API): deprecate non-descriptor metric creation methods #154
Conversation
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 swift-server#145). Signed-off-by: Melissa Kilby <[email protected]>
ac36981
to
0babf92
Compare
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. |
Signed-off-by: Melissa Kilby <[email protected]>
I've pushed a suggestion. |
*, | ||
deprecated, | ||
message: "This initializer is deprecated; 'unitName' and 'helpText' are now required parameters." | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd keep it in a single line but not a deal breaker
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe the auto-formatter caused these line breaks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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).
CC @ktoso, thank you!