diff --git a/query_exporter/config.py b/query_exporter/config.py index 9db1234..0014330 100644 --- a/query_exporter/config.py +++ b/query_exporter/config.py @@ -1,7 +1,7 @@ """Configuration management functions.""" from collections import defaultdict -from collections.abc import Mapping +from collections.abc import Iterable, Mapping from dataclasses import dataclass from functools import reduce from importlib import resources @@ -245,7 +245,7 @@ def _get_query_metrics( ) -> list[QueryMetric]: """Return QueryMetrics for a query.""" - def _metric_labels(labels: list[str]) -> list[str]: + def _metric_labels(labels: Iterable[str]) -> list[str]: return sorted(set(labels) - extra_labels) return [ diff --git a/query_exporter/loop.py b/query_exporter/loop.py index 75b025b..0b75078 100644 --- a/query_exporter/loop.py +++ b/query_exporter/loop.py @@ -255,7 +255,7 @@ def _update_metric( value = 0.0 elif isinstance(value, Decimal): value = float(value) - metric = self._config.metrics[name] + metric_config = self._config.metrics[name] all_labels = {DATABASE_LABEL: database.config.name} all_labels.update(database.config.labels) if labels: @@ -263,7 +263,7 @@ def _update_metric( labels_string = ",".join( f'{label}="{value}"' for label, value in sorted(all_labels.items()) ) - method = self._get_metric_method(metric) + method = self._get_metric_method(metric_config) self._logger.debug( f'updating metric "{name}" {method} {value} {{{labels_string}}}' ) diff --git a/query_exporter/main.py b/query_exporter/main.py index a71acd4..71f9efa 100644 --- a/query_exporter/main.py +++ b/query_exporter/main.py @@ -22,7 +22,7 @@ from .loop import QueryLoop -class QueryExporterScript(PrometheusExporterScript): # type: ignore +class QueryExporterScript(PrometheusExporterScript): """Periodically run database queries and export results to Prometheus.""" name = "query-exporter"