Hi,

While others are figuring out how to add UTF-8 support and other OTel
compatibility functionality to Prometheus, my brain has been trying to
figure out what all of this will mean for the normal Prometheus user, how
we should explain this new optionality in Prometheus, and what we should
recommend with regards to UTF-8 usage outside of the OTel compatibility
scenario.

What (literally) keeps me up at night the most is the new selector syntax
that metric names with previously illegal characters will now require:
https://docs.google.com/document/d/1yFj5QSd1AgCYecZ9EJ8f2t4OgF2KBZgJYVde-uzVEtI/edit#heading=h.yxv3hzhog2l2
.

In this proposal, Björn did the best he could given the difficult situation
that OTel compatibility support push puts us in, and I also don't have
better ideas for nicer syntaxes. However, it looks like all current
selector syntax suggestions require putting the metric name not only in
quotes, but also within the curly braces, and possibly even introducing new
(IMO) very odd short-hand syntaxes for it.

Given that I think this new selector syntax is very unelegant, inferior,
and confusing (harder to type, harder to read and understand intuitively)
compared to Prometheus' really clean and nice existing selector syntax that
we've had for over 10 years, how should we approach UTF-8 support when
explaining it to users? Should we say, "Yes, the Prometheus data model now
allows any UTF-8 characters in metric names, but you should really ignore
this fact completely and stick to the old character set, unless you have to
deal with UTF-8 for the purpose of OTel metrics because otherwise your
PromQL will start looking really weird"? Or do we not give any
recommendations around it at all?

I just fear that UTF-8 characters will start creeping in everywhere because
people see that it's supported. And then all users will eventually just
have to start using the new syntax for everything, because "that's the one
that always works", and because they didn't even know or think about that
fact when they were creating their metrics. In any case, all this will
require a whole lot of new explanations for every new Prometheus user, and
the same is true for some of the other OTel features.

There's other things that worry me about UTF-8 support and OTel support in
general, but the selector syntax and what this will ultimately do to
Prometheus users down the road is the main one. Any opinions on how we
should advertise this to the regular (non-OTel) Prometheus user going
forward?

Cheers,
Julius

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to prometheus-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-developers/CA%2BT6YowuTe6tLp1N0jEQc5zhAQE0RDpdME4tP4m-uXEmRKqwPA%40mail.gmail.com.

Reply via email to