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
|
|
@ -568,20 +568,13 @@ async def _dump_listings_full_inner(
|
|||
celery_logger.info("=" * 60)
|
||||
|
||||
# Record scrape metrics
|
||||
from api.metrics import (
|
||||
scrape_listings_found,
|
||||
scrape_listings_processed,
|
||||
scrape_listings_failed,
|
||||
scrape_duration_seconds,
|
||||
scrape_pages_fetched,
|
||||
scrape_subqueries_total as scrape_subqueries_metric,
|
||||
)
|
||||
scrape_listings_found.add(state.ids_collected)
|
||||
scrape_listings_processed.add(state.processed_count)
|
||||
scrape_listings_failed.add(state.failed_count)
|
||||
scrape_duration_seconds.record(elapsed)
|
||||
scrape_pages_fetched.add(state.total_pages_fetched)
|
||||
scrape_subqueries_metric.add(state.completed_subqueries)
|
||||
import api.metrics as m
|
||||
m.scrape_listings_found.add(state.ids_collected)
|
||||
m.scrape_listings_processed.add(state.processed_count)
|
||||
m.scrape_listings_failed.add(state.failed_count)
|
||||
m.scrape_duration_seconds.record(elapsed)
|
||||
m.scrape_pages_fetched.add(state.total_pages_fetched)
|
||||
m.scrape_subqueries_total.add(state.completed_subqueries)
|
||||
|
||||
invalidate_cache()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue