prometheus variable value is "normalized"

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

prometheus variable value is "normalized"

Alexey Trenikhun
Hello,
I'm trying to expose version string as Prometheus user variable:

runtimeContext.getMetricGroup()
        .addGroup("version", "0.0.3-beta.399+gf5b79ac")
        .gauge("buildInfo", () -> 0); 

the problem that for some reason label value 0.0.3-beta.399+gf5b79ac is converted into 0_0_3_beta_399_gf5b79ac

>curl localhost:9249
...
flink_taskmanager_job_task_operator_version_semVer_buildInfo{task_attempt_id="d1f0f53ebc6d9f7c5b41dcab30efe135",host="10_244_116_231",task_attempt_num="0",tm_id="a0ec013e8100604e2a588d62edac2bfd",job_id="00000000000000000000000000000000",task_id="c9977249e16bca0a7d11687f82be62a2",version="0_0_3_beta_399_gf5b79ac",operator_id="c9977249e16bca0a7d11687f82be62a2",operator_name="Transform",task_name="Transform",job_name="job1",subtask_index="0",} 0.0

I understand "normalization" for label names, but why for label values, according to [1]: "Label values may contain any Unicode characters."?

Thanks,
Alexey



Reply | Threaded
Open this post in threaded view
|

Re: prometheus variable value is "normalized"

Chesnay Schepler
Essentially, we started with this behavior, and kept it to not break existing Flink setups.


On 11/25/2020 9:37 PM, Alexey Trenikhun wrote:
Hello,
I'm trying to expose version string as Prometheus user variable:

runtimeContext.getMetricGroup()
        .addGroup("version", "0.0.3-beta.399+gf5b79ac")
        .gauge("buildInfo", () -> 0); 

the problem that for some reason label value 0.0.3-beta.399+gf5b79ac is converted into 0_0_3_beta_399_gf5b79ac

>curl localhost:9249
...
flink_taskmanager_job_task_operator_version_semVer_buildInfo{task_attempt_id="d1f0f53ebc6d9f7c5b41dcab30efe135",host="10_244_116_231",task_attempt_num="0",tm_id="a0ec013e8100604e2a588d62edac2bfd",job_id="00000000000000000000000000000000",task_id="c9977249e16bca0a7d11687f82be62a2",version="0_0_3_beta_399_gf5b79ac",operator_id="c9977249e16bca0a7d11687f82be62a2",operator_name="Transform",task_name="Transform",job_name="job1",subtask_index="0",} 0.0

I understand "normalization" for label names, but why for label values, according to [1]: "Label values may contain any Unicode characters."?

Thanks,
Alexey




Reply | Threaded
Open this post in threaded view
|

Re: prometheus variable value is "normalized"

Alexey Trenikhun
Thank you!


From: Chesnay Schepler <[hidden email]>
Sent: Wednesday, November 25, 2020 2:59:54 PM
To: Alexey Trenikhun <[hidden email]>; Flink User Mail List <[hidden email]>
Subject: Re: prometheus variable value is "normalized"
 
Essentially, we started with this behavior, and kept it to not break existing Flink setups.


On 11/25/2020 9:37 PM, Alexey Trenikhun wrote:
Hello,
I'm trying to expose version string as Prometheus user variable:

runtimeContext.getMetricGroup()
        .addGroup("version", "0.0.3-beta.399+gf5b79ac")
        .gauge("buildInfo", () -> 0); 

the problem that for some reason label value 0.0.3-beta.399+gf5b79ac is converted into 0_0_3_beta_399_gf5b79ac

>curl localhost:9249
...
flink_taskmanager_job_task_operator_version_semVer_buildInfo{task_attempt_id="d1f0f53ebc6d9f7c5b41dcab30efe135",host="10_244_116_231",task_attempt_num="0",tm_id="a0ec013e8100604e2a588d62edac2bfd",job_id="00000000000000000000000000000000",task_id="c9977249e16bca0a7d11687f82be62a2",version="0_0_3_beta_399_gf5b79ac",operator_id="c9977249e16bca0a7d11687f82be62a2",operator_name="Transform",task_name="Transform",job_name="job1",subtask_index="0",} 0.0

I understand "normalization" for label names, but why for label values, according to [1]: "Label values may contain any Unicode characters."?

Thanks,
Alexey