Fix metric imports: use module-level access instead of name imports
Type-annotated metric variables (e.g. `geojson_cache_operations: Counter`) don't exist as importable names until init_metrics() runs. Switch all `from api.metrics import <metric>` to `import api.metrics as m` and access instruments as attributes at runtime to avoid ImportError.
This commit is contained in:
parent
d6edb747d2
commit
25912eac0c
5 changed files with 22 additions and 28 deletions
|
|
@ -39,7 +39,8 @@ from services.listing_cache import (
|
|||
from repositories.poi_repository import POIRepository
|
||||
from repositories.user_repository import UserRepository
|
||||
from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor
|
||||
from api.metrics import init_metrics, get_metrics_asgi_app, geojson_cache_operations
|
||||
from api.metrics import init_metrics, get_metrics_asgi_app
|
||||
import api.metrics as app_metrics
|
||||
from logging_config import configure_logging
|
||||
|
||||
|
||||
|
|
@ -324,10 +325,10 @@ async def stream_listing_geojson(
|
|||
|
||||
cached_count = get_cached_count(query_parameters)
|
||||
if cached_count is not None and cached_count > 0 and not include_poi_distances:
|
||||
geojson_cache_operations.add(1, {"result": "hit"})
|
||||
app_metrics.geojson_cache_operations.add(1, {"result": "hit"})
|
||||
generator = _stream_from_cache(query_parameters, batch_size, limit)
|
||||
else:
|
||||
geojson_cache_operations.add(1, {"result": "miss"})
|
||||
app_metrics.geojson_cache_operations.add(1, {"result": "miss"})
|
||||
generator = _stream_from_db(
|
||||
query_parameters, batch_size, limit, poi_distances_lookup,
|
||||
skip_cache=include_poi_distances,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue