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

P.S. [1] - 
https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels

Data model | 
Prometheus<https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels>
Prometheus fundamentally stores all data as time series: streams of timestamped 
values belonging to the same metric and the same set of labeled 
dimensions.Besides stored time series, Prometheus may generate temporary 
derived time series as the result of queries.
prometheus.io

Reply via email to