summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/exporter/fieldstat_exporter.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/exporter/fieldstat_exporter.py b/src/exporter/fieldstat_exporter.py
index 887c5e9..e165f0d 100644
--- a/src/exporter/fieldstat_exporter.py
+++ b/src/exporter/fieldstat_exporter.py
@@ -106,9 +106,17 @@ class PrometheusExporter:
self.json_paths.extend(read_json_paths_from_dirs(FieldstatExporterVars.json_dirs))
self.n_lines = 0
- def __escape_metric_name(self, metric_name):
+ def __escape_metric_name(metric_name):
#regex: [a-zA-Z_:][a-zA-Z0-9_:]*
name = re.sub(r'[^a-zA-Z0-9_:]', '_', metric_name)
+ # remove the last underscore
+ for i in range(len(name) - 1, -1, -1):
+ if name[i] != '_':
+ break
+ name = name[:i]
+ if name == "":
+ return "_"
+
return name
def __escape_metric_tags(self, json_dict):