-
Notifications
You must be signed in to change notification settings - Fork 149
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
UTF-8: Implement support in Ruby client library #306
Comments
Hey, thanks for the heads up. I've got a rough idea in my head of how those changes will fit into the codebase. I've given the proposal a read and one thing that stuck out to me is that grouping key labels in the pushgateway client's code aren't mentioned. Are they sticking to the old rules for now? |
Very good point. We haven't thought about PGW yet. |
For now, I would assume the PGW doesn't support the new UTF-8 names yet. |
We are making a note to create a design for this situation |
Happy to be of service 🙈 |
@Sinjo are you still interested in working on this? We have done work on the pushgateway so that design is resolved. |
Yeah, I'd like to make some time for it. It doesn't seem like it'll be too hard to bake in at least some experimental support for it. The biggest potential snag when it comes to our in-process storage of metrics is going to be the way One thing I haven't managed to piece together is how the content negotiation works. Right now we exclusively serve Having had a quick glance at prometheus/common#570 it seems that looking for an extra My gut says to stick all of this behind a config flag that makes it clear that all of it is experimental and could change in any minor/patch version. Does that sound right to you? |
If no escaping parameter is passed, the metrics producer is expected to apply a default escaping scheme. In Go, that is determined by the NameEscapingScheme setting in common/model. That is Underscores by default but a user could change it with a configuration value or flag. (I think we haven't implemented this in Go, actually, so I'll file an issue for that :)). If the metrics producer doesn't escape names, then the metrics will simply be rejected by the metrics consumer as having invalid metric or label names. UTF-8 will be default-on in Prometheus 3 (and is on by default in the beta) and we should aim for that in all the client libraries. But yes it's acceptable to have this behind a flag for now. |
Cool, that makes sense to me. Thanks! |
thank you for contributing! I know only enough ruby to be dangerous so I appreciate the help |
@Sinjo any progress? |
Afraid not. My free time has been pretty heavily spoken for this last month, with a chunk of evenings/weekends going towards SREcon talk prep. Hoping to find some time to make progress soon. |
no worries, unassigning |
As in prometheus/client_golang#1369 and prometheus/client_java#916, the Ruby client library needs to be updated to support UTF-8.
Tasks:
For background and references see prometheus/prometheus#13095
The text was updated successfully, but these errors were encountered: