Hello,

I believe there is a bug with the AbstractPrometheusReporter where it
requires using `metrics.reporter.promgateway.filterLabelValueCharacters`
to ignore
filtering label value characters.
<https://github.com/apache/flink/blob/master/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/AbstractPrometheusReporter.java#L82>
This isn't possible if you are just using the PrometheusReporter because
that config isn't passed through the MetricConfig.

I've tried to add configuration:

metrics.reporter.prom.factory.class:
org.apache.flink.metrics.prometheus.PrometheusReporterFactory
metrics.reporter.prom.scope.variables.additional:
environment:staging,job:staging-job
metrics.reporter.promgateway.filterLabelValueCharacters: false

The configuration has been picked up but is still replacing the metrics "-"
to an "_".

Example:
flink_jobmanager_job_runningState{job_name="flink",job="staging_job",environment="staging",}
1.0

I'm not sure why this is the default behaviour given those characters are
allowed in the label's value, only metric names need to match the regex
<https://prometheus.io/docs/instrumenting/writing_exporters/#naming>.
However, having a configuration that works for both the PrometheusReporter
and PromGateway would suffice to avoid changing the default behaviour.

Is this something I could open a PR for and someone could help me merge?
I'll also open a JIRA ticket as soon as someone validates that it doesn't
work as intended.

Thanks,

Ryan van Huuksloot
Sr. Production Engineer | Streaming Platform
[image: Shopify]
<https://www.shopify.com/?utm_medium=salessignatures&utm_source=hs_email>

Reply via email to