Skip to content
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 Python client library #1013

Open
4 tasks
Tracked by #13095
ywwg opened this issue Mar 5, 2024 · 2 comments
Open
4 tasks
Tracked by #13095

UTF-8: Implement support in Python client library #1013

ywwg opened this issue Mar 5, 2024 · 2 comments

Comments

@ywwg
Copy link
Member

ywwg commented Mar 5, 2024

As in prometheus/client_golang#1369 and prometheus/client_java#916, the Python library needs to be updated to support UTF-8.

Tasks:

  • Update exposition format parsers for the new syntax
  • Update PromQL parsers (if any) for the new syntax
  • Update content negotiation logic
  • Add flag to enable change in validation logic to check that metric and label names are UTF-8 valid instead of the old letters/numbers/underscores/colons set

For background and references see prometheus/prometheus#13095

@ywwg
Copy link
Member Author

ywwg commented Oct 16, 2024

I will take this

@ywwg ywwg removed the help wanted label Oct 16, 2024
@ywwg
Copy link
Member Author

ywwg commented Oct 31, 2024

A lot of the existing python parser does not at all take into account quoted characters and makes many calls to .index, .find, and regex matches that ignore quoted characters. This will break today if label values contain things like {, }, and =. So, this change will require a lot of rewriting to protect the existing code against such issues before it can even be updated to support quoted names

ywwg added a commit that referenced this issue Nov 20, 2024
ywwg added a commit that referenced this issue Nov 20, 2024
ywwg added a commit that referenced this issue Nov 20, 2024
csmarchbanks pushed a commit that referenced this issue Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Assigned
Development

No branches or pull requests

3 participants