diff options
| author | chenzizhan <[email protected]> | 2024-08-13 10:27:32 +0800 |
|---|---|---|
| committer | chenzizhan <[email protected]> | 2024-08-13 10:27:32 +0800 |
| commit | c68500fd528b35ab411eada80001502e23da0342 (patch) | |
| tree | 2bce987e284f4d59f19ea06694e705c95ff7a3db | |
| parent | 1f1dbd6510812caacbb9eb81af8db59a1b23a718 (diff) | |
modify Prometheus export metric underscore
| -rw-r--r-- | src/exporter/fieldstat_exporter.py | 10 |
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): |
