[VOTE] Allow Kelvin as temperature unit in some cases

91 views
Skip to first unread message

Bjoern Rabenstein

unread,
May 28, 2020, 2:52:19 PM5/28/20
to Prometheus Developers
Dear Prometheans,

So far, we have recommended Celsius as the base unit for temperatures,
despite Kelvin being the SI unit. That was well justified by the
overwhelming majority of use cases, where Kelvin would be just
weird. I'd really like to see more scientific usage of Prometheus, so
I was never super happy with that recommendation, but since it was
just a recommendation, I could live with it.

Now Matt Layher came up with another, more technical use case: color
temperature. Here, using Celsius would be even weirder. So there is a
case where you clearly do not want to follow the suggestion of the
linter, which is more in line with typical Prometheus use cases than
my arguably somewhat far fetched time series for low-temperature
experiments.

Therefore, Matt suggested to make the metrics linter not complain
about kelvin.

I think this is a clearly defined problem with clear arguments and a
clear disagreement between Brian Brazil on the one side and Matt and
myself on the other side. The appropriate amount of effort has been
spent to find a consensus. All arguments can be found in
https://github.com/prometheus/client_golang/pull/761 and
https://github.com/prometheus/docs/pull/1648 .

I hereby call a vote for the following proposal:

Allow Kelvin as a base unit in certain cases and update our
documented recommendation and the linter code accordingly.


(The changes may take the form of the two PRs out there, but the vote
in about the general idea above, not the implementation detail.)


The vote closes on 2020-06-04 20:00 UTC.
--
Björn Rabenstein
[PGP-ID] 0x851C3DA17D748D03
[email] bjo...@rabenste.in

Matt Layher

unread,
May 28, 2020, 2:56:56 PM5/28/20
to Prometheus Developers
YES

As the original author of the linting code, I think this particular case is too nuanced to enforce a "must convert Kelvin to Celsius" recommendation for all cases in the linter.

Bjoern Rabenstein

unread,
May 28, 2020, 3:01:34 PM5/28/20
to Prometheus Developers
On 28.05.20 20:52, Bjoern Rabenstein wrote:
>
> I hereby call a vote for the following proposal:
>
> Allow Kelvin as a base unit in certain cases and update our
> documented recommendation and the linter code accordingly.

YES
signature.asc

Julius Volz

unread,
May 28, 2020, 3:11:26 PM5/28/20
to Bjoern Rabenstein, Prometheus Developers
YES

After reading the arguments, I agree that Kelvin / temperature is special enough to warrant an exception.

Overall I think it's good that we have rules like "base units only", but it's ok to have occasional exceptions if enough people think it's worth it.

--
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-devel...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/20200528185216.GK2326%40jahnn.

Callum Styan

unread,
May 28, 2020, 3:53:48 PM5/28/20
to Bjoern Rabenstein, Prometheus Developers
YES

Julien Pivotto

unread,
May 28, 2020, 3:59:30 PM5/28/20
to Bjoern Rabenstein, Prometheus Developers
YES


Should we recommend kelvin instead of celcius in histograms and
summaries as there would not be negative observations ?
https://github.com/prometheus/prometheus/issues/6669
> --
> 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-devel...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/20200528185216.GK2326%40jahnn.

--
Julien Pivotto
@roidelapluie

Brian Brazil

unread,
May 28, 2020, 5:21:00 PM5/28/20
to Bjoern Rabenstein, Prometheus Developers
On Thu, 28 May 2020 at 19:52, Bjoern Rabenstein <bjo...@rabenste.in> wrote:
Dear Prometheans,

So far, we have recommended Celsius as the base unit for temperatures,
despite Kelvin being the SI unit. That was well justified by the
overwhelming majority of use cases, where Kelvin would be just
weird. I'd really like to see more scientific usage of Prometheus, so
I was never super happy with that recommendation, but since it was
just a recommendation, I could live with it.

Now Matt Layher came up with another, more technical use case: color
temperature. Here, using Celsius would be even weirder. So there is a
case where you clearly do not want to follow the suggestion of the
linter, which is more in line with typical Prometheus use cases than
my arguably somewhat far fetched time series for low-temperature
experiments.

Therefore, Matt suggested to make the metrics linter not complain
about kelvin.

I think this is a clearly defined problem with clear arguments and a
clear disagreement between Brian Brazil on the one side and Matt and
myself on the other side. The appropriate amount of effort has been
spent to find a consensus.

I disagree that sufficient effort has been made to find concensus, and in particular I don't feel that my objection that this change would have wider ranging consequences for the best practices of metrics names as a whole has been addressed.

Jumping so quickly to a vote also makes it difficult to discover if maybe a concensus could have been found here.
The question has not been asked that if there are valid use cases where an exception makes sense, does that now mean that the linter must never complain about that unit as whole?
In case you aren't aware the node exporter exposes the size of the entropy pool in bits - which I'm okay with along roughly the lines you're arguing on - but yet the linter does not accept bits.
The linter is a recommendation, not a hard rule that must be followed.

One potential concensus might be around adding the nuance/clarification in the exporter guidelines where this is covered (it already kinda says it, but it takes some squinting).

My vote is NO, as I disagree with the linter accepting any more than one base unit.

Brian

All arguments can be found in
https://github.com/prometheus/client_golang/pull/761 and
https://github.com/prometheus/docs/pull/1648 .

I hereby call a vote for the following proposal:

Allow Kelvin as a base unit in certain cases and update our
documented recommendation and the linter code accordingly.


(The changes may take the form of the two PRs out there, but the vote
in about the general idea above, not the implementation detail.)


The vote closes on 2020-06-04 20:00 UTC.
--
Björn Rabenstein
[PGP-ID] 0x851C3DA17D748D03
[email] bjo...@rabenste.in

--
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-devel...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/20200528185216.GK2326%40jahnn.

Tobias Schmidt

unread,
May 28, 2020, 5:59:50 PM5/28/20
to Bjoern Rabenstein, Prometheus Developers
YES

On Thu, May 28, 2020 at 8:52 PM Bjoern Rabenstein <bjo...@rabenste.in> wrote:

Richard Hartmann

unread,
May 28, 2020, 6:25:09 PM5/28/20
to Bjoern Rabenstein, Prometheus Developers
YES, based on technical merit.

Please see rough consensus thread for social considerations.

Chris Marchbanks

unread,
May 28, 2020, 11:14:27 PM5/28/20
to Bjoern Rabenstein, Prometheus Developers
YES

Ben Kochie

unread,
May 29, 2020, 3:13:44 AM5/29/20
to Bjoern Rabenstein, Prometheus Developers
YES

On Thu, May 28, 2020 at 8:52 PM Bjoern Rabenstein <bjo...@rabenste.in> wrote:

Tom Wilkie

unread,
May 29, 2020, 5:12:27 AM5/29/20
to Ben Kochie, Bjoern Rabenstein, Prometheus Developers

Bjoern Rabenstein

unread,
May 29, 2020, 8:38:09 AM5/29/20
to Prometheus Developers
On 28.05.20 21:59, Julien Pivotto wrote:
>
> Should we recommend kelvin instead of celcius in histograms and
> summaries as there would not be negative observations ?
> https://github.com/prometheus/prometheus/issues/6669

Technically correct answer: We should just fix histograms.

Nerdy answer: https://en.wikipedia.org/wiki/Negative_temperature

Pragmatic answer: Temperature histograms almost never happen in
practice. That's why I avoided that example when arguing why negative
observations are a thing. A normal temperature measurement will happen
as a gauge. When would you sample temperature observations in a
histogram? I think that only happens if you have other events, which
you then want to correlate with temperature. (Made-up example from the
online-serving world: You have created a mobile app for users to check
in at places. It also sends out the temperature with the check-in
requests for some reason. Then you could create a histogram of
check-in temperatures.)

Julien Pivotto

unread,
May 29, 2020, 8:43:04 AM5/29/20
to Bjoern Rabenstein, Prometheus Developers
First of all I recognize that we are in a theorical discussion.

That said, I don't see why a fridge company couldn't have SLA on fridges temperature? (99.95% below -21°C; 99.99% below -18°C).

--
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-devel...@googlegroups.com.

Bjoern Rabenstein

unread,
May 29, 2020, 8:57:22 AM5/29/20
to Julien Pivotto, Prometheus Developers
On 29.05.20 14:42, Julien Pivotto wrote:
>
> That said, I don't see why a fridge company couldn't have SLA on fridges
> temperature? (99.95% below -21°C; 99.99% below -18°C).

It would still be a gauge. And then you run `quantile_over_time` to
measure your SLO.

Note that you don't need a histogram to sample observations made in
Prometheus scrapes. You need a histogram if the monitored target
itself has to sample observations.

Julien Pivotto

unread,
May 29, 2020, 9:34:09 AM5/29/20
to Bjoern Rabenstein, Prometheus Developers
Oh yes indeed. Then we are indeed left with more improbable exemples.

Thanks.

Matthias Rampke

unread,
Jun 2, 2020, 10:53:29 AM6/2/20
to Tom Wilkie, Ben Kochie, Bjoern Rabenstein, Prometheus Developers

Bjoern Rabenstein

unread,
Jun 2, 2020, 11:15:29 AM6/2/20
to Matthias Rampke, Tom Wilkie, Ben Kochie, Prometheus Developers
Quoting the governance: “A vote may be called and closed early if
enough votes have come in one way so that further votes cannot change
the final decision.”

This vote is about the following proposal: “Allow Kelvin as a base
unit in certain cases and update our documented recommendation and the
linter code accordingly.”

We have now 11 YES votes vs. 1 NO vote with 8 team members not having
voted yet, so that I call the vote and close it early. The proposal
has passed.

Julien Pivotto

unread,
Jun 2, 2020, 2:18:08 PM6/2/20
to Bjoern Rabenstein, Matthias Rampke, Tom Wilkie, Ben Kochie, Prometheus Developers
On 02 Jun 17:15, Bjoern Rabenstein wrote:
> Quoting the governance: “A vote may be called and closed early if
> enough votes have come in one way so that further votes cannot change
> the final decision.”
>
> This vote is about the following proposal: “Allow Kelvin as a base
> unit in certain cases and update our documented recommendation and the
> linter code accordingly.”
>
> We have now 11 YES votes vs. 1 NO vote with 8 team members not having
> voted yet, so that I call the vote and close it early. The proposal
> has passed.

Thanks Bjoern.

Brian, RichiH, can you also poke the OpenMetrics group about this? it
could be mirrored in the standard if the OM group agrees.

Regards,

>
> --
> Björn Rabenstein
> [PGP-ID] 0x851C3DA17D748D03
> [email] bjo...@rabenste.in
>
> --
> 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-devel...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/20200602151526.GP2326%40jahnn.

--
Julien Pivotto
@roidelapluie

Brian Brazil

unread,
Jun 2, 2020, 4:14:52 PM6/2/20
to Bjoern Rabenstein, Matthias Rampke, Tom Wilkie, Ben Kochie, Prometheus Developers
On Tue, 2 Jun 2020 at 19:18, Julien Pivotto <roidel...@prometheus.io> wrote:
On 02 Jun 17:15, Bjoern Rabenstein wrote:
> Quoting the governance: “A vote may be called and closed early if
> enough votes have come in one way so that further votes cannot change
> the final decision.”
>
> This vote is about the following proposal: “Allow Kelvin as a base
> unit in certain cases and update our documented recommendation and the
> linter code accordingly.”
>
> We have now 11 YES votes vs. 1 NO vote with 8 team members not having
> voted yet, so that I call the vote and close it early. The proposal
> has passed.

Thanks Bjoern.

Brian, RichiH, can you also poke the OpenMetrics group about this? it
could be mirrored in the standard if the OM group agrees.

We didn't end up having our meeting today but I'm sure it'll be discussed at the next one. The current wording in the working draft is actually broad enough already to cover this as it uses "should" for base units.

Brian
 

Regards,

>
> --
> Björn Rabenstein
> [PGP-ID] 0x851C3DA17D748D03
> [email] bjo...@rabenste.in
>
> --
> 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-devel...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/20200602151526.GP2326%40jahnn.

--
Julien Pivotto
@roidelapluie

--
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-devel...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages