perfect-postcode/server-rs/logs/server.log.2026-05-05
2026-05-05 22:29:37 +01:00

2411 lines
357 KiB
Text

2026-05-05T19:01:18.889716Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T19:01:18.889874Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T19:01:18.889886Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T19:01:18.983543Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T19:01:18.983555Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T19:01:21.671550Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T19:01:21.671580Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T19:01:24.693222Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T19:01:24.693233Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T19:01:24.838219Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T19:01:25.199201Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T19:01:26.305888Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T19:01:27.568808Z INFO property_map_server::data::property: Building enum features
2026-05-05T19:01:28.688143Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T19:01:30.658267Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T19:01:30.658275Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T19:01:31.529395Z INFO property_map_server::data::property: Building interned strings
2026-05-05T19:01:36.665605Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T19:01:39.336036Z INFO property_map_server::data::property: Data loading complete
2026-05-05T19:01:40.897585Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=11708.1 rss_after_mib=3266.9 released_mib=8441.2
2026-05-05T19:01:40.897594Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T19:01:40.897597Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T19:01:40.997274Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T19:01:40.997283Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T19:01:41.336099Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T19:01:41.336184Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T19:01:41.336208Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T19:01:41.389813Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T19:01:41.529892Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T19:01:41.531021Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T19:01:41.576120Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3674.6 rss_after_mib=3484.5 released_mib=190.1
2026-05-05T19:01:41.576130Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T19:01:41.576132Z INFO property_map_server: Building POI spatial grid index
2026-05-05T19:01:41.583467Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T19:01:41.583480Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T19:01:41.584713Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T19:01:41.585658Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T19:01:41.588709Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3493.6 rss_after_mib=3489.2 released_mib=4.5
2026-05-05T19:01:41.588713Z INFO property_map_server: Place data loaded places=3474
2026-05-05T19:01:41.588719Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T19:01:41.588726Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T19:01:41.589563Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T19:01:50.251726Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T19:01:50.601706Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10809.0 rss_after_mib=10619.9 released_mib=189.1
2026-05-05T19:01:50.601715Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T19:01:50.744960Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T19:01:50.745013Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T19:01:50.753015Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T19:01:50.787040Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T19:01:50.813491Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T19:01:50.813632Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T19:01:50.813644Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T19:01:50.963594Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T19:01:50.966712Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T19:01:50.970722Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T19:01:52.795287Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-05T19:01:52.798676Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-05T19:01:52.798709Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-05T19:01:52.798726Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-05T19:01:52.800779Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-05T19:01:52.802335Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-05T19:01:52.803666Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-05T19:01:52.804747Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-05T19:01:52.804767Z INFO property_map_server: Travel time store loaded modes=4
2026-05-05T19:01:52.804816Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-05T19:02:04.497292Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-05T19:02:04.497332Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-05T19:02:10.783849Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:02:10.784571Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:02:13.783345Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:02:13.783354Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:02:55.131488Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:02:57.057817Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:02:57.058172Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:02:57.995416Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.4 json_ms=0.4 total_ms=8.8
2026-05-05T19:03:10.362890Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6
2026-05-05T19:03:10.383273Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8
2026-05-05T19:03:10.779356Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=175.1 agg_ms=2.1 json_ms=0.0 total_ms=177.2
2026-05-05T19:03:10.942375Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2
2026-05-05T19:03:15.742351Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.7 json_ms=0.1 total_ms=1.8
2026-05-05T19:03:16.579646Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.2 json_ms=0.1 total_ms=2.3
2026-05-05T19:03:26.279614Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9
2026-05-05T19:03:26.279884Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.9 json_ms=0.0 total_ms=2.0
2026-05-05T19:03:31.505887Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=13 truncated=false bounds=51.4958,-0.1316,51.5310,-0.0473 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.9 json_ms=0.0 total_ms=1.0
2026-05-05T19:03:31.664051Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=79996 filters=5 travel=1 total=37 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.7
2026-05-05T19:05:22.799953Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH
2026-05-05T19:06:38.652094Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:06:39.946209Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:06:39.947868Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:06:39.977432Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH
2026-05-05T19:06:40.000872Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:06:40.013394Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:06:40.106981Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:06:40.674999Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:06:40.846135Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.1 json_ms=0.3 total_ms=5.4
2026-05-05T19:07:11.828819Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6
2026-05-05T19:07:11.886708Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1
2026-05-05T19:07:11.888108Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7
2026-05-05T19:07:12.041342Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.2
2026-05-05T19:07:12.407618Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.4
2026-05-05T19:07:13.137854Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.8
2026-05-05T19:07:21.845576Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.2
2026-05-05T19:07:22.464565Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.0 total_ms=1.6
2026-05-05T19:07:30.543394Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.5
2026-05-05T19:07:31.295017Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2
2026-05-05T19:07:53.785699Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:07:53.792460Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:10:05.048497Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:10:06.353639Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:10:06.355938Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:10:06.384555Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH
2026-05-05T19:10:06.409656Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.4
2026-05-05T19:10:06.421467Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:10:06.436892Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.4
2026-05-05T19:10:06.689070Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:10:06.846852Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.0 json_ms=0.3 total_ms=5.4
2026-05-05T19:10:37.151191Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6
2026-05-05T19:10:37.181466Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1
2026-05-05T19:10:37.182780Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6
2026-05-05T19:10:37.224530Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.2
2026-05-05T19:10:37.924603Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.2
2026-05-05T19:10:37.928714Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2
2026-05-05T19:10:46.260916Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.7 json_ms=0.0 total_ms=1.7
2026-05-05T19:10:46.761107Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.1 json_ms=0.0 total_ms=2.1
2026-05-05T19:10:54.628364Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.5
2026-05-05T19:10:55.686391Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.6
2026-05-05T19:11:13.062575Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH
2026-05-05T19:11:13.062822Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH
2026-05-05T19:11:13.182696Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:11:13.182722Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.4
2026-05-05T19:11:13.241269Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:11:13.241277Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.2
2026-05-05T19:11:13.267226Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2V 8EX postcode=EC2V 8EX
2026-05-05T19:11:13.312112Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2V 8EX total_count=1 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:11:14.020597Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=529 postcodes_after_filter=144 filtered_out=385 truncated=false bounds=51.508950,-0.100959,51.519286,-0.076239 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.6 json_ms=0.6 total_ms=1.2
2026-05-05T19:11:14.250334Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=529 postcodes_after_filter=90 filtered_out=439 truncated=false bounds=51.508950,-0.097869,51.519286,-0.079329 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.6 json_ms=0.3 total_ms=0.9
2026-05-05T19:12:20.340032Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.2 total_ms=1.2
2026-05-05T19:12:21.226324Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:12:21.227407Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:12:21.690417Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.2 total_ms=1.0
2026-05-05T19:12:22.040213Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:12:22.041333Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:12:22.305685Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1
2026-05-05T19:12:25.331907Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:12:25.332637Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:12:25.649382Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1
2026-05-05T19:12:42.759613Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:12:44.372832Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:12:44.372979Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:12:44.403261Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH
2026-05-05T19:12:44.427869Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:12:44.435709Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:12:44.445055Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.4
2026-05-05T19:12:44.536342Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:12:44.747260Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.2 total_ms=2.0
2026-05-05T19:13:10.255766Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:13:10.257260Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:13:11.563802Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.3 total_ms=1.9
2026-05-05T19:13:12.076981Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:13:12.082842Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:13:12.706161Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.2 total_ms=2.1
2026-05-05T19:13:13.519563Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49d7ffff resolution=9 total_count=156 filters=0 filters_raw="-" ms=0.4
2026-05-05T19:13:13.956831Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.2 total_ms=2.2
2026-05-05T19:13:14.537886Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d67ffff resolution=9 total_count=217 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:13:14.947720Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2
2026-05-05T19:13:14.970729Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1
2026-05-05T19:13:14.972690Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2
2026-05-05T19:13:15.097342Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:13:15.255567Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=8 cells_after_filter=5 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.8 json_ms=0.0 total_ms=0.8
2026-05-05T19:13:15.650398Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.3 json_ms=0.0 total_ms=1.3
2026-05-05T19:13:15.910678Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.6
2026-05-05T19:13:19.713874Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d67ffff resolution=9 total_count=217 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=0.3
2026-05-05T19:13:19.715857Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.2 total_ms=2.3
2026-05-05T19:13:19.901047Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=64311 filters=1 travel=0 total=64263 filters_raw="Estimated current price:12976.594:inf" ms=2.3
2026-05-05T19:13:21.464955Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.3 total_ms=2.2
2026-05-05T19:13:22.864973Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=869359 filters=1 travel=0 total=869208 filters_raw="Estimated current price:12976.594:inf" ms=27.7
2026-05-05T19:13:24.016009Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.1 json_ms=0.3 total_ms=2.3
2026-05-05T19:13:24.101483Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.0
2026-05-05T19:13:24.304372Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=64311 filters=1 travel=0 total=64263 filters_raw="Estimated current price:12976.594:inf" ms=1.7
2026-05-05T19:13:24.650095Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.1 total_ms=1.5
2026-05-05T19:13:24.977169Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=333685 parallel=true cells_before_filter=1100 cells_after_filter=1037 truncated=false bounds=51.4728,-0.2082,51.5547,-0.0667 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.7 json_ms=1.2 total_ms=8.0
2026-05-05T19:13:25.341078Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=333685 filters=1 travel=0 total=333615 filters_raw="Estimated current price:12976.594:inf" ms=9.7
2026-05-05T19:13:26.256885Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=467083 parallel=true cells_before_filter=1672 cells_after_filter=1568 truncated=false bounds=51.4622,-0.2335,51.5642,-0.0573 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=9.7 json_ms=1.9 total_ms=11.6
2026-05-05T19:13:26.488741Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=467083 filters=1 travel=0 total=467013 filters_raw="Estimated current price:12976.594:inf" ms=16.5
2026-05-05T19:13:31.055745Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da4d7fffff resolution=8 total_count=2176 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=1.7
2026-05-05T19:13:31.107696Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da4dffffff resolution=7 total_count=10778 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=5.3
2026-05-05T19:13:31.211051Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da4fffffff resolution=6 total_count=94415 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=63.8
2026-05-05T19:13:32.155730Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=14524465 filters_raw="Estimated current price:12976.594:inf" ms=436.7
2026-05-05T19:13:33.128501Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.3 total_ms=2.2
2026-05-05T19:13:33.513037Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=64311 filters=1 travel=0 total=64263 filters_raw="Estimated current price:12976.594:inf" ms=2.4
2026-05-05T19:13:34.033739Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=434221 parallel=true cells_before_filter=1581 cells_after_filter=1469 truncated=false bounds=51.4678,-0.2238,51.5664,-0.0536 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=5.9 json_ms=1.9 total_ms=7.8
2026-05-05T19:13:34.379784Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.1
2026-05-05T19:13:34.394481Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=434221 filters=1 travel=0 total=434071 filters_raw="Estimated current price:12976.594:inf" ms=12.3
2026-05-05T19:13:35.708502Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.8
2026-05-05T19:13:47.927609Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da4d7fffff resolution=8 total_count=2176 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=1.0
2026-05-05T19:13:48.186480Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1501538 parallel=true cells_before_filter=1326 cells_after_filter=1317 truncated=false bounds=51.3776,-0.3889,51.6251,0.0384 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=15.8 json_ms=1.1 total_ms=17.0
2026-05-05T19:13:48.475377Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1501538 filters=1 travel=0 total=1501383 filters_raw="Estimated current price:12976.594:inf" ms=37.3
2026-05-05T19:13:48.851958Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da4dffffff resolution=7 total_count=10778 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=4.5
2026-05-05T19:13:49.042945Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3175502 parallel=true cells_before_filter=1498 cells_after_filter=1498 truncated=false bounds=51.1864,-0.9023,51.8893,0.3127 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=21.1 json_ms=1.1 total_ms=22.2
2026-05-05T19:13:49.419831Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3175502 filters=1 travel=0 total=3175307 filters_raw="Estimated current price:12976.594:inf" ms=80.6
2026-05-05T19:13:49.748695Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da4fffffff resolution=6 total_count=94415 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=40.3
2026-05-05T19:13:49.951037Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=5273821 parallel=true cells_before_filter=848 cells_after_filter=848 truncated=false bounds=50.7996,-1.6363,52.1900,0.7647 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.1 agg_ms=51.5 json_ms=1.0 total_ms=52.6
2026-05-05T19:13:50.410401Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5273821 filters=1 travel=0 total=5273616 filters_raw="Estimated current price:12976.594:inf" ms=168.8
2026-05-05T19:13:50.917171Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=7954608 parallel=true cells_before_filter=1725 cells_after_filter=1725 truncated=false bounds=50.1681,-2.6342,52.5315,1.4350 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.2 agg_ms=68.2 json_ms=1.5 total_ms=69.9
2026-05-05T19:13:51.260715Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=7954608 filters=1 travel=0 total=7954136 filters_raw="Estimated current price:12976.594:inf" ms=185.9
2026-05-05T19:13:51.917380Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=10356677 parallel=true cells_before_filter=2785 cells_after_filter=2785 truncated=false bounds=48.9853,-4.4683,53.1524,2.6670 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.3 agg_ms=72.3 json_ms=2.1 total_ms=74.7
2026-05-05T19:13:52.372419Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=10356677 filters=1 travel=0 total=10356169 filters_raw="Estimated current price:12976.594:inf" ms=245.5
2026-05-05T19:13:53.138230Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195da7fffffff resolution=5 total_count=374319 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=193.9
2026-05-05T19:13:53.275945Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=13711775 parallel=true cells_before_filter=588 cells_after_filter=588 truncated=false bounds=48.8406,-5.7795,54.2255,3.5406 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=125.6 json_ms=0.7 total_ms=127.0
2026-05-05T19:13:53.906539Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=13711775 filters=1 travel=0 total=13711151 filters_raw="Estimated current price:12976.594:inf" ms=360.6
2026-05-05T19:13:54.127605Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14038788 parallel=true cells_before_filter=634 cells_after_filter=634 truncated=false bounds=48.0483,-7.0571,54.6937,4.4127 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=136.9 json_ms=0.8 total_ms=138.4
2026-05-05T19:13:54.745855Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14038788 filters=1 travel=0 total=14038158 filters_raw="Estimated current price:12976.594:inf" ms=423.3
2026-05-05T19:13:55.452968Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14473303 parallel=true cells_before_filter=662 cells_after_filter=662 truncated=false bounds=48.5337,-6.9464,55.1131,4.5235 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=110.7 json_ms=0.7 total_ms=112.3
2026-05-05T19:13:55.954623Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14473303 filters=1 travel=0 total=14472670 filters_raw="Estimated current price:12976.594:inf" ms=413.4
2026-05-05T19:13:59.016612Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14473303 parallel=true cells_before_filter=662 cells_after_filter=662 truncated=false bounds=48.5337,-6.9464,55.1131,4.5235 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=0 travel_entries=0 grid_ms=0.7 agg_ms=110.0 json_ms=0.4 total_ms=111.0
2026-05-05T19:13:59.601215Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14473303 parallel=true cells_before_filter=662 cells_after_filter=662 truncated=false bounds=48.5337,-6.9464,55.1131,4.5235 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=1.0 agg_ms=118.1 json_ms=0.6 total_ms=119.8
2026-05-05T19:14:01.056222Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da47ffffff resolution=6 total_count=42530 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=18.3
2026-05-05T19:14:01.342990Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da40ffffff resolution=7 total_count=6064 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=2.7
2026-05-05T19:14:01.552868Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4308616 parallel=true cells_before_filter=4124 cells_after_filter=4124 truncated=false bounds=50.9750,-1.5867,52.1677,0.4763 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.1 agg_ms=23.0 json_ms=3.4 total_ms=26.5
2026-05-05T19:14:01.826086Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=4308616 filters=1 travel=0 total=4308413 filters_raw="Estimated current price:12976.594:inf" ms=106.0
2026-05-05T19:14:02.003974Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da401fffff resolution=8 total_count=742 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=0.6
2026-05-05T19:14:02.266176Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1479762 parallel=true cells_before_filter=2863 cells_after_filter=2863 truncated=false bounds=51.4354,-0.7489,51.8409,-0.0467 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=9.6 json_ms=2.1 total_ms=11.7
2026-05-05T19:14:02.625443Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4003ffff resolution=9 total_count=107 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=0.2
2026-05-05T19:14:02.887452Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=184071 parallel=true cells_before_filter=2016 cells_after_filter=1899 truncated=false bounds=51.5847,-0.4755,51.7337,-0.2174 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.3 json_ms=1.4 total_ms=4.6
2026-05-05T19:14:03.215169Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=184071 filters=1 travel=0 total=184070 filters_raw="Estimated current price:12976.594:inf" ms=5.4
2026-05-05T19:14:03.233038Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da401fffff resolution=8 total_count=742 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=0.5
2026-05-05T19:14:03.577987Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1016658 parallel=true cells_before_filter=1988 cells_after_filter=1984 truncated=false bounds=51.4829,-0.6647,51.8094,-0.0993 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=8.4 json_ms=1.5 total_ms=9.9
2026-05-05T19:14:03.858388Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da40ffffff resolution=7 total_count=6064 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=3.1
2026-05-05T19:14:04.283037Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2394061 parallel=true cells_before_filter=903 cells_after_filter=903 truncated=false bounds=51.3634,-0.8864,51.8978,0.0391 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=12.6 json_ms=0.7 total_ms=13.3
2026-05-05T19:14:04.535141Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2394061 filters=1 travel=0 total=2393905 filters_raw="Estimated current price:12976.594:inf" ms=59.6
2026-05-05T19:14:05.000572Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3479188 parallel=true cells_before_filter=2108 cells_after_filter=2108 truncated=false bounds=51.1884,-1.2101,52.0268,0.2412 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=19.7 json_ms=1.8 total_ms=21.6
2026-05-05T19:14:05.533028Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3512175 parallel=true cells_before_filter=2175 cells_after_filter=2175 truncated=false bounds=51.1786,-1.2281,52.0339,0.2524 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=20.5 json_ms=2.4 total_ms=22.9
2026-05-05T19:14:05.745777Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da47ffffff resolution=6 total_count=42530 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=18.7
2026-05-05T19:14:06.233737Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=8166140 parallel=true cells_before_filter=1768 cells_after_filter=1768 truncated=false bounds=50.3751,-2.6977,52.6145,1.1700 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.2 agg_ms=43.6 json_ms=1.4 total_ms=45.2
2026-05-05T19:14:06.639804Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=8166140 filters=1 travel=0 total=8165687 filters_raw="Estimated current price:12976.594:inf" ms=207.8
2026-05-05T19:14:06.655893Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da40ffffff resolution=7 total_count=6064 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=2.5
2026-05-05T19:14:06.994774Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3125996 parallel=true cells_before_filter=1569 cells_after_filter=1569 truncated=false bounds=51.2564,-1.0844,51.9767,0.1627 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=18.1 json_ms=1.3 total_ms=19.5
2026-05-05T19:14:07.291661Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3125996 filters=1 travel=0 total=3125805 filters_raw="Estimated current price:12976.594:inf" ms=80.9
2026-05-05T19:15:37.135691Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:15:37.136775Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:15:50.798872Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1
2026-05-05T19:15:52.347645Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=427289 parallel=true cells_before_filter=1450 cells_after_filter=1358 truncated=false bounds=51.4725,-0.2050,51.5524,-0.0157 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.4 json_ms=0.9 total_ms=3.3
2026-05-05T19:15:53.276971Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=1054219 parallel=true cells_before_filter=4870 cells_after_filter=4750 truncated=false bounds=51.4366,-0.2802,51.5977,0.1016 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=9.4 json_ms=2.3 total_ms=11.7
2026-05-05T19:15:55.346549Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:15:55.346563Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:17:41.055450Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:17:42.330177Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:17:42.330591Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:17:42.359285Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH
2026-05-05T19:17:42.379548Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:17:42.387797Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:17:42.398529Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:17:42.699112Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:17:42.851003Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.2 total_ms=1.9
2026-05-05T19:17:56.359916Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.1 json_ms=0.3 total_ms=2.3
2026-05-05T19:18:09.045539Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:18:09.045846Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:18:09.923603Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4
2026-05-05T19:18:09.946218Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1
2026-05-05T19:18:09.948027Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2
2026-05-05T19:18:09.989985Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.2
2026-05-05T19:18:11.424310Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.7 json_ms=0.0 total_ms=0.7
2026-05-05T19:18:11.447564Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.0
2026-05-05T19:18:17.866438Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.9 json_ms=0.0 total_ms=0.9
2026-05-05T19:18:18.191819Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.5
2026-05-05T19:18:24.082287Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.1
2026-05-05T19:18:25.120109Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.1
2026-05-05T19:24:07.925016Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:24:07.926900Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:24:31.443192Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:24:32.794149Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:24:32.795499Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:24:32.826568Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH
2026-05-05T19:24:32.846812Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:24:32.855732Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:24:32.865228Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:24:33.088722Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:24:33.236922Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.3 total_ms=1.9
2026-05-05T19:24:59.714954Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4
2026-05-05T19:24:59.753020Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1
2026-05-05T19:24:59.754645Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9
2026-05-05T19:24:59.873741Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1
2026-05-05T19:25:00.110729Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.1
2026-05-05T19:25:01.579377Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.3
2026-05-05T19:25:07.932253Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.5 json_ms=0.0 total_ms=2.6
2026-05-05T19:25:08.179390Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.6 json_ms=0.0 total_ms=1.6
2026-05-05T19:25:13.698037Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.0 total_ms=1.5
2026-05-05T19:25:14.136515Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.1
2026-05-05T19:25:42.971178Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:25:42.972778Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:25:42.982257Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:25:42.983514Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:25:42.993911Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:25:42.994075Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:25:43.034104Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:25:43.035199Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:27:57.684861Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:27:57.685965Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:27:57.737488Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:27:57.738835Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:27:57.752728Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:27:57.763279Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:27:57.784496Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:27:57.785617Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:30:19.636640Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:30:19.638217Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:30:20.681438Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.2 total_ms=1.3
2026-05-05T19:30:23.237675Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:30:23.237678Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:30:23.491361Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1
2026-05-05T19:30:24.006882Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:30:24.007691Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:30:24.254376Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.0
2026-05-05T19:30:32.546415Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:30:32.546421Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:30:36.780291Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=149 truncated=false bounds=51.4958,-0.1494,51.5342,-0.1106 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7
2026-05-05T19:31:05.957426Z INFO property_map_server::routes::postcodes: GET /api/postcode/M11AD postcode=M1 1AD
2026-05-05T19:31:05.960352Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.3
2026-05-05T19:31:05.961401Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:31:16.376132Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:32:53.864742Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=354 postcodes_after_filter=354 filtered_out=0 truncated=false bounds=53.420000,-2.360000,53.560000,-2.120000 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=3 travel_entries=1 agg_ms=36.8 json_ms=1.0 total_ms=37.8
2026-05-05T19:32:53.900157Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=510 postcodes_after_filter=510 filtered_out=0 truncated=false bounds=53.420000,-2.360000,53.560000,-2.120000 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=3 travel_entries=1 agg_ms=16.8 json_ms=1.4 total_ms=18.3
2026-05-05T19:32:53.935334Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=751 postcodes_after_filter=751 filtered_out=0 truncated=false bounds=53.420000,-2.360000,53.560000,-2.120000 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=3 travel_entries=1 agg_ms=17.5 json_ms=2.8 total_ms=20.3
2026-05-05T19:33:00.971565Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T19:33:52.091992Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:33:52.092378Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:34:28.819560Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:34:28.819584Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:34:43.040439Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=354 postcodes_after_filter=354 filtered_out=0 truncated=false bounds=53.420000,-2.360000,53.560000,-2.120000 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=3 travel_entries=1 agg_ms=15.8 json_ms=1.4 total_ms=17.3
2026-05-05T19:35:48.468030Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:35:48.469629Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:35:48.475413Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:35:48.476713Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:35:48.479821Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:35:48.481835Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:35:48.519387Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:35:48.520769Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:37:43.023315Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:37:43.024372Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:37:43.024763Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:37:43.029461Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:37:43.052769Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:37:43.054747Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:37:43.076973Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:37:43.077259Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:38:20.796375Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:38:22.206443Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:38:22.207728Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:38:22.238830Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T19:38:22.258241Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2
2026-05-05T19:38:22.268333Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T19:38:22.279545Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.3
2026-05-05T19:38:22.533108Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5
2026-05-05T19:38:22.702635Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=13.0 json_ms=4.6 total_ms=17.7
2026-05-05T19:38:26.459032Z WARN property_map_server::routes::streetview: Street View metadata request failed: error sending request for url (https://maps.googleapis.com/maps/api/streetview/metadata?location=53.49121002492772,-2.2391107858890726&radius=1000&source=outdoor&key=AIzaSyBgBn9LjrxHCjb9j1LZbLYpEdCJj-NkHPY)
2026-05-05T19:38:26.459089Z ERROR tower_http::trace::on_failure: response failed classification=Status code: 502 Bad Gateway latency=4000 ms
2026-05-05T19:38:26.731327Z WARN property_map_server::routes::streetview: Street View metadata request failed: error sending request for url (https://maps.googleapis.com/maps/api/streetview/metadata?location=53.491210024927724,-2.2391107858890984&radius=1000&source=outdoor&key=AIzaSyBgBn9LjrxHCjb9j1LZbLYpEdCJj-NkHPY)
2026-05-05T19:38:26.731382Z ERROR tower_http::trace::on_failure: response failed classification=Status code: 502 Bad Gateway latency=4001 ms
2026-05-05T19:40:06.097704Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6
2026-05-05T19:40:06.130725Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T19:40:06.132331Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1
2026-05-05T19:40:06.636308Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.2 total_ms=4.2
2026-05-05T19:40:06.653147Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.0
2026-05-05T19:40:07.929479Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.7 json_ms=0.2 total_ms=4.8
2026-05-05T19:40:07.949799Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=25.2
2026-05-05T19:40:23.695878Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.6 json_ms=1.7 total_ms=7.4
2026-05-05T19:40:25.514733Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.8 json_ms=0.2 total_ms=4.0
2026-05-05T19:40:42.912431Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.1 total_ms=4.1
2026-05-05T19:40:42.933013Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.7
2026-05-05T19:41:49.829617Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:41:49.829619Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:41:52.332658Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1
2026-05-05T19:41:54.554721Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.0
2026-05-05T19:41:57.784701Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.3 total_ms=1.3
2026-05-05T19:43:26.426937Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:43:27.672991Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:43:27.673612Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:43:27.701307Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T19:43:27.712893Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:43:27.736830Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T19:43:27.745336Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1
2026-05-05T19:43:28.134706Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5
2026-05-05T19:43:28.272506Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.6 json_ms=2.6 total_ms=11.3
2026-05-05T19:43:43.665556Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:43:43.667005Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:44:56.391123Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:44:56.391133Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:44:56.491395Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:44:56.495577Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:44:56.503292Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:44:56.506496Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:44:56.507892Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:44:56.512875Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:46:00.951857Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:46:44.664214Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:48:15.493659Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:48:15.493683Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:48:15.798585Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:48:15.798589Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:48:15.811931Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:48:15.813048Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:48:15.813166Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:48:15.813174Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:48:18.381036Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:48:18.382540Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:48:18.409370Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T19:48:18.430801Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2
2026-05-05T19:48:18.440665Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T19:48:18.451070Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.4
2026-05-05T19:48:18.829455Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.7
2026-05-05T19:48:18.989855Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.9 json_ms=2.7 total_ms=10.7
2026-05-05T19:48:54.322385Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:48:55.554818Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:48:55.554852Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:48:55.589689Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T19:48:55.609737Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2
2026-05-05T19:48:55.621095Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T19:48:55.629575Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.5
2026-05-05T19:48:56.050042Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.7
2026-05-05T19:48:56.216818Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=10.8 json_ms=4.2 total_ms=15.0
2026-05-05T19:50:14.832648Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:50:14.832669Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:50:37.533129Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1
2026-05-05T19:50:37.563117Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4
2026-05-05T19:50:37.564473Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0
2026-05-05T19:50:37.862917Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.4 json_ms=0.1 total_ms=4.5
2026-05-05T19:50:46.248741Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=26.5
2026-05-05T19:50:54.757309Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:50:54.758821Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:51:44.894938Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:51:44.895327Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:51:44.930117Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T19:51:44.947516Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:51:44.958942Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T19:51:44.969843Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.3
2026-05-05T19:51:45.218387Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5
2026-05-05T19:51:45.491498Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.1 json_ms=3.2 total_ms=11.3
2026-05-05T19:51:45.628114Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6
2026-05-05T19:51:45.651071Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T19:51:45.652202Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5
2026-05-05T19:51:46.046787Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7
2026-05-05T19:51:46.310491Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=16.9
2026-05-05T19:52:08.456159Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:52:09.799804Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:52:09.799833Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:52:09.837816Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T19:52:09.853761Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3
2026-05-05T19:52:09.869062Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T19:52:09.878279Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1
2026-05-05T19:52:10.260533Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.8
2026-05-05T19:52:10.415975Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=14.7 json_ms=2.9 total_ms=17.6
2026-05-05T19:53:02.496073Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9
2026-05-05T19:53:02.530664Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4
2026-05-05T19:53:02.532031Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9
2026-05-05T19:53:02.814858Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.2 total_ms=4.3
2026-05-05T19:53:03.172971Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.3
2026-05-05T19:53:33.760817Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T19:53:33.760971Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T19:53:33.760984Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T19:53:33.979752Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T19:53:33.979764Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T19:53:37.356180Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T19:53:37.356221Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T19:54:16.022767Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T19:54:16.022927Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T19:54:16.022938Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T19:54:16.123118Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T19:54:16.123128Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T19:54:19.663976Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T19:54:19.664013Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T19:54:22.961053Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T19:54:22.961063Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T19:54:23.105391Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T19:54:23.599550Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T19:54:25.153208Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T19:54:26.533766Z INFO property_map_server::data::property: Building enum features
2026-05-05T19:54:27.879355Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T19:54:30.058716Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T19:54:30.058728Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T19:54:31.134244Z INFO property_map_server::data::property: Building interned strings
2026-05-05T19:54:37.317356Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T19:54:37.317555Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T19:54:37.317572Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T19:54:37.392156Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T19:54:37.392167Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T19:54:47.485203Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T19:54:47.485400Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T19:54:47.485412Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T19:54:47.568798Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T19:54:47.568813Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T19:54:50.845948Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T19:54:50.845987Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T19:54:54.621420Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T19:54:54.621431Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T19:54:54.756650Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T19:54:55.237738Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T19:54:56.712657Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T19:54:58.068662Z INFO property_map_server::data::property: Building enum features
2026-05-05T19:54:59.330759Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T19:55:01.469503Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T19:55:01.469512Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T19:55:02.317143Z INFO property_map_server::data::property: Building interned strings
2026-05-05T19:55:07.802634Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T19:55:12.257986Z INFO property_map_server::data::property: Data loading complete
2026-05-05T19:55:13.868385Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=11602.8 rss_after_mib=3378.0 released_mib=8224.7
2026-05-05T19:55:13.868395Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T19:55:13.868398Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T19:55:13.977769Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T19:55:13.977779Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T19:55:14.463922Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T19:55:14.463975Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T19:55:14.463992Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T19:55:14.513322Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T19:55:14.664903Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T19:55:14.666269Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T19:55:14.711808Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3785.0 rss_after_mib=3595.5 released_mib=189.5
2026-05-05T19:55:14.711818Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T19:55:14.711820Z INFO property_map_server: Building POI spatial grid index
2026-05-05T19:55:14.718781Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T19:55:14.718792Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T19:55:14.720049Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T19:55:14.723219Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T19:55:14.726418Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3605.2 rss_after_mib=3600.7 released_mib=4.5
2026-05-05T19:55:14.726425Z INFO property_map_server: Place data loaded places=3474
2026-05-05T19:55:14.726432Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T19:55:14.726435Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T19:55:14.731438Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T19:55:22.382405Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T19:55:22.710818Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10923.1 rss_after_mib=10720.7 released_mib=202.4
2026-05-05T19:55:22.710829Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T19:55:22.849699Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T19:55:22.849751Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T19:55:22.876168Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T19:55:22.913445Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T19:55:22.967129Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T19:55:22.967274Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T19:55:22.967286Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T19:55:23.153579Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T19:55:23.162358Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T19:55:23.165401Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T19:55:36.306270Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-05T19:55:36.337098Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-05T19:55:36.337128Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-05T19:55:36.337142Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-05T19:55:36.400571Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-05T19:55:36.439048Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-05T19:55:36.474609Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-05T19:55:36.531076Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-05T19:55:36.531110Z INFO property_map_server: Travel time store loaded modes=4
2026-05-05T19:55:36.531172Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-05T19:56:25.012256Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-05T19:56:25.012294Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-05T19:56:25.911103Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:56:26.837574Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:56:26.837580Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:56:26.837587Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:56:26.837591Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:56:26.856712Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:56:26.857903Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:56:35.166058Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:56:35.222599Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:56:38.241884Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:56:38.242667Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:56:38.426677Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T19:56:38.483086Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2
2026-05-05T19:56:38.770310Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T19:56:39.450079Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1
2026-05-05T19:56:40.042872Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T19:56:40.687355Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a7ffff resolution=9 total_count=1161 filters=0 filters_raw="-" ms=0.7
2026-05-05T19:56:40.694972Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=18.3 json_ms=3.6 total_ms=21.9
2026-05-05T19:57:17.574962Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:57:18.878222Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T19:57:18.878263Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T19:57:18.912704Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T19:57:18.934093Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2
2026-05-05T19:57:18.945756Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T19:57:18.953586Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.2
2026-05-05T19:57:19.361626Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5
2026-05-05T19:57:19.802985Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=15.4 json_ms=3.5 total_ms=18.9
2026-05-05T19:58:17.583489Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9
2026-05-05T19:58:17.610272Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4
2026-05-05T19:58:17.644392Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T19:58:17.863838Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.8 json_ms=0.1 total_ms=2.9
2026-05-05T19:58:24.616806Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.0 json_ms=0.1 total_ms=5.2
2026-05-05T19:58:24.645320Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.2
2026-05-05T19:58:38.573842Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=11.7 json_ms=2.3 total_ms=14.1
2026-05-05T19:58:38.771600Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.2 json_ms=0.1 total_ms=5.3
2026-05-05T19:58:42.338768Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.9 json_ms=0.1 total_ms=6.0
2026-05-05T19:58:42.692256Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.2
2026-05-05T20:01:41.237828Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.2 json_ms=0.2 total_ms=1.4
2026-05-05T20:01:44.002496Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.1
2026-05-05T20:01:48.778793Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:01:51.922257Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:01:51.923633Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:01:51.951108Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:01:51.977296Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2
2026-05-05T20:01:51.988331Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T20:01:52.059095Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.0
2026-05-05T20:01:52.926308Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.9
2026-05-05T20:01:53.512725Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.8 json_ms=3.5 total_ms=10.2
2026-05-05T20:01:57.101258Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4983ffff resolution=9 total_count=229 filters=0 filters_raw="-" ms=0.2
2026-05-05T20:01:57.466143Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2
2026-05-05T20:02:01.279318Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da499fffff resolution=8 total_count=1870 filters=0 filters_raw="-" ms=0.8
2026-05-05T20:02:01.739305Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=2249145 parallel=true cells_before_filter=3289 cells_after_filter=3289 truncated=false bounds=51.2567,-0.5915,51.6719,0.1249 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=13.2 json_ms=1.7 total_ms=14.9
2026-05-05T20:02:05.766850Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=2249145 parallel=true cells_before_filter=3289 cells_after_filter=3289 truncated=false bounds=51.2567,-0.5915,51.6719,0.1249 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=687.2 json_ms=2.7 total_ms=689.9
2026-05-05T20:02:06.583210Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da49ffffff resolution=7 total_count=7707 filters=0 filters_raw="-" ms=5.1
2026-05-05T20:02:07.513170Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da4fffffff resolution=6 total_count=94429 filters=0 filters_raw="-" ms=42.7
2026-05-05T20:02:08.080001Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4615165 parallel=true cells_before_filter=3935 cells_after_filter=3935 truncated=false bounds=50.8093,-1.0633,52.0025,0.9931 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.1 agg_ms=1114.5 json_ms=3.6 total_ms=1118.2
2026-05-05T20:02:08.154925Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=9443584 parallel=true cells_before_filter=2225 cells_after_filter=2225 truncated=false bounds=49.3221,-2.5995,53.0621,3.8204 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.3 agg_ms=109.8 json_ms=1.9 total_ms=112.0
2026-05-05T20:02:09.155147Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195da7fffffff resolution=5 total_count=374414 filters=0 filters_raw="-" ms=154.5
2026-05-05T20:02:10.627618Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14203915 parallel=true cells_before_filter=645 cells_after_filter=645 truncated=false bounds=48.5258,-5.0935,54.9424,6.0689 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=1294.1 json_ms=0.8 total_ms=1295.6
2026-05-05T20:02:10.708643Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14494643 parallel=true cells_before_filter=666 cells_after_filter=666 truncated=false bounds=48.7935,-5.7382,55.1745,5.4242 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=533.5 json_ms=0.6 total_ms=534.7
2026-05-05T20:02:11.245694Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14494643 parallel=true cells_before_filter=666 cells_after_filter=666 truncated=false bounds=48.7935,-5.7382,55.1745,5.4242 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.6 agg_ms=63.3 json_ms=0.5 total_ms=64.4
2026-05-05T20:02:11.883699Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14494643 parallel=true cells_before_filter=666 cells_after_filter=666 truncated=false bounds=48.7935,-5.7382,55.1745,5.4242 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=89.5 json_ms=0.5 total_ms=90.6
2026-05-05T20:02:13.509980Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=49.5946,-6.4304,55.8684,4.7320 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=105.7 json_ms=0.8 total_ms=107.3
2026-05-05T20:02:14.597078Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14234496 parallel=true cells_before_filter=658 cells_after_filter=658 truncated=false bounds=50.5067,-6.8847,56.6573,4.2777 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=101.4 json_ms=0.6 total_ms=102.8
2026-05-05T20:02:16.233311Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da47ffffff resolution=6 total_count=42610 filters=0 filters_raw="-" ms=20.6
2026-05-05T20:02:16.689729Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=11353367 parallel=true cells_before_filter=2787 cells_after_filter=2787 truncated=false bounds=50.9121,-3.1262,53.7294,1.8308 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.3 agg_ms=110.8 json_ms=3.4 total_ms=114.5
2026-05-05T20:02:17.398073Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=861943707ffffff resolution=6 total_count=1582 filters=0 filters_raw="-" ms=0.6
2026-05-05T20:02:18.175173Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86194355fffffff resolution=6 total_count=441 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:02:18.915973Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=861943197ffffff resolution=6 total_count=595 filters=0 filters_raw="-" ms=0.5
2026-05-05T20:02:19.346768Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=8619436afffffff resolution=6 total_count=335 filters=0 filters_raw="-" ms=0.2
2026-05-05T20:02:20.232243Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195d437ffffff resolution=6 total_count=1273 filters=0 filters_raw="-" ms=0.9
2026-05-05T20:02:20.504068Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195d43fffffff resolution=5 total_count=6321 filters=0 filters_raw="-" ms=2.3
2026-05-05T20:02:20.674784Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195d407ffffff resolution=6 total_count=306 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:02:20.790603Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d400ffffff resolution=7 total_count=8 filters=0 filters_raw="-" ms=0.1
2026-05-05T20:02:20.828434Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195d40003ffff resolution=9 total_count=0 filters=0 filters_raw="-" ms=0.0
2026-05-05T20:02:20.975480Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=3629 parallel=false cells_before_filter=143 cells_after_filter=141 truncated=false bounds=51.9179,-1.6406,52.0073,-1.4846 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.3 json_ms=0.1 total_ms=0.4
2026-05-05T20:02:21.699130Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195d4001fffff resolution=8 total_count=0 filters=0 filters_raw="-" ms=0.0
2026-05-05T20:02:21.913212Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=47468 parallel=false cells_before_filter=747 cells_after_filter=747 truncated=false bounds=51.8449,-1.7494,52.1358,-1.2417 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.2 json_ms=0.9 total_ms=4.1
2026-05-05T20:02:23.991605Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=60525 parallel=true cells_before_filter=982 cells_after_filter=982 truncated=false bounds=51.8252,-1.7774,52.1689,-1.1773 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.7 total_ms=2.2
2026-05-05T20:02:25.513590Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=60525 parallel=true cells_before_filter=982 cells_after_filter=982 truncated=false bounds=51.8252,-1.7774,52.1689,-1.1773 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.7 total_ms=2.4
2026-05-05T20:02:26.131710Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=60525 parallel=true cells_before_filter=982 cells_after_filter=982 truncated=false bounds=51.8252,-1.7774,52.1689,-1.1773 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.1 json_ms=1.0 total_ms=4.2
2026-05-05T20:02:27.870494Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=60525 parallel=true cells_before_filter=982 cells_after_filter=982 truncated=false bounds=51.8252,-1.7774,52.1689,-1.1773 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.8 total_ms=2.5
2026-05-05T20:02:28.581108Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d400ffffff resolution=7 total_count=8 filters=0 filters_raw="-" ms=0.1
2026-05-05T20:02:28.634795Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195d407ffffff resolution=6 total_count=306 filters=0 filters_raw="-" ms=0.2
2026-05-05T20:02:28.685607Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195d43fffffff resolution=5 total_count=6321 filters=0 filters_raw="-" ms=3.9
2026-05-05T20:02:28.997862Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=125.7 json_ms=0.6 total_ms=127.2
2026-05-05T20:02:31.137822Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.9 agg_ms=68.5 json_ms=0.4 total_ms=69.7
2026-05-05T20:02:31.723713Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=104.8 json_ms=0.5 total_ms=106.1
2026-05-05T20:02:34.117210Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=99.5 json_ms=0.6 total_ms=100.9
2026-05-05T20:02:37.949873Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=119.3 json_ms=0.7 total_ms=120.9
2026-05-05T20:02:38.738932Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0
2026-05-05T20:02:38.767762Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T20:02:38.768903Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5
2026-05-05T20:02:39.854295Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=97.9 json_ms=0.7 total_ms=99.4
2026-05-05T20:02:42.330127Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=104.6 json_ms=0.5 total_ms=106.0
2026-05-05T20:02:43.611493Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=107.0 json_ms=0.6 total_ms=108.4
2026-05-05T20:02:44.862715Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.3 json_ms=0.1 total_ms=5.5
2026-05-05T20:02:44.882026Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.8
2026-05-05T20:02:45.155318Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.8 json_ms=0.1 total_ms=4.0
2026-05-05T20:02:45.800770Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:02:45.803931Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:02:45.807748Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:02:45.807820Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:02:45.815685Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=108.5 json_ms=0.9 total_ms=110.1
2026-05-05T20:02:45.816812Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:02:45.817079Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:02:45.819918Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:02:45.821365Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:02:46.067209Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=112.1 json_ms=0.9 total_ms=113.9
2026-05-05T20:02:46.481959Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.8
2026-05-05T20:02:46.997427Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=100.5 json_ms=0.7 total_ms=102.1
2026-05-05T20:02:57.590087Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.5 json_ms=1.6 total_ms=8.1
2026-05-05T20:02:59.324966Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.1 json_ms=0.2 total_ms=3.2
2026-05-05T20:03:04.730989Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.2 json_ms=0.1 total_ms=2.2
2026-05-05T20:03:04.763158Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=18.2
2026-05-05T20:03:55.296507Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195d43fffffff resolution=5 total_count=6229 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=2.3
2026-05-05T20:03:55.549893Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=96.0 json_ms=0.6 total_ms=97.4
2026-05-05T20:03:55.932802Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:03:56.058734Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=360.4
2026-05-05T20:03:56.176783Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.4
2026-05-05T20:03:56.350730Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:03:56.527808Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.4
2026-05-05T20:03:56.702958Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.2
2026-05-05T20:03:56.883589Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:03:57.068104Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.2
2026-05-05T20:03:57.272502Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:03:57.473352Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:03:58.175212Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=301.0
2026-05-05T20:04:00.501245Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=46.7634,-12.9774,58.7728,8.5371 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=92.0 json_ms=0.5 total_ms=93.2
2026-05-05T20:04:00.957261Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=308.3
2026-05-05T20:04:01.139972Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=47.1564,-12.3882,58.4729,7.8882 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=95.3 json_ms=0.5 total_ms=96.5
2026-05-05T20:04:01.648965Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=349.0
2026-05-05T20:04:01.712226Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=47.1564,-12.0387,58.4729,7.5387 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=94.0 json_ms=0.5 total_ms=95.2
2026-05-05T20:04:02.187029Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=321.5
2026-05-05T20:04:04.123039Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=47.1564,-8.6076,58.4729,4.1076 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=87.8 json_ms=0.4 total_ms=89.0
2026-05-05T20:04:04.636095Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=300.5
2026-05-05T20:04:05.494659Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=47.1564,-12.2359,58.4729,7.7359 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=89.6 json_ms=0.5 total_ms=90.8
2026-05-05T20:04:05.921636Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=311.8
2026-05-05T20:04:26.341380Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:04:26.363373Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.5
2026-05-05T20:04:26.381257Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:04:26.401093Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:04:26.417334Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:04:26.434941Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.2
2026-05-05T20:04:26.453414Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:04:26.473165Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3
2026-05-05T20:04:26.490843Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.2
2026-05-05T20:04:29.883244Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=214 cells_after_filter=214 truncated=false bounds=45.2547,-10.1137,57.0062,9.8582 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=1 grid_ms=107.3 agg_ms=84.0 json_ms=0.2 total_ms=191.6
2026-05-05T20:04:30.564447Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=2 travel=1 total=6259436 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=620.7
2026-05-05T20:04:32.976451Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=45.2547,-10.1137,57.0062,9.8582 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=81.3 json_ms=0.4 total_ms=82.4
2026-05-05T20:04:34.368742Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=306.5
2026-05-05T20:04:35.236735Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=291.3
2026-05-05T20:04:35.817136Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195d43fffffff resolution=5 total_count=6321 filters=0 filters_raw="-" ms=2.3
2026-05-05T20:04:36.069986Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=45.2547,-10.1137,57.0062,9.8582 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=95.7 json_ms=0.5 total_ms=97.0
2026-05-05T20:07:39.473683Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:07:39.473837Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:07:39.473849Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:07:39.572245Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:07:39.572255Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:07:42.221156Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:07:42.221192Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:07:45.018413Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:07:45.018423Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:07:45.142412Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:07:45.491569Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:07:46.789581Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:07:48.077605Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:07:49.527831Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:07:51.536088Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:07:51.536096Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:07:52.408914Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:08:23.224627Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:08:23.224760Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:08:23.224768Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:08:23.292654Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:08:23.292665Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:08:32.890187Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:08:32.890340Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:08:32.890351Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:08:32.961142Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:08:32.961151Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:08:35.902413Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:08:35.902448Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:08:39.897264Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:08:39.897273Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:08:40.024784Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:08:40.381571Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:08:41.565708Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:08:42.883802Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:08:44.056743Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:08:46.245468Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:08:46.245476Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:08:47.157191Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:08:54.478329Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521
2026-05-05T20:08:59.472455Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T20:09:09.976025Z INFO property_map_server::data::property: Data loading complete
2026-05-05T20:09:11.692553Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12370.0 rss_after_mib=3504.4 released_mib=8865.6
2026-05-05T20:09:11.692564Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T20:09:11.692567Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T20:09:11.812695Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T20:09:11.812705Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T20:09:12.247117Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T20:09:12.247187Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T20:09:12.247241Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T20:09:12.315245Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T20:09:12.461375Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T20:09:12.462462Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T20:09:12.509257Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3910.9 rss_after_mib=3721.7 released_mib=189.2
2026-05-05T20:09:12.509268Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T20:09:12.509271Z INFO property_map_server: Building POI spatial grid index
2026-05-05T20:09:12.516691Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T20:09:12.516702Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T20:09:12.546187Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T20:09:12.549778Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T20:09:12.553448Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3731.3 rss_after_mib=3726.9 released_mib=4.4
2026-05-05T20:09:12.553456Z INFO property_map_server: Place data loaded places=3474
2026-05-05T20:09:12.553465Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T20:09:12.553469Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T20:09:12.581449Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T20:09:21.696203Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T20:09:22.045139Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11058.8 rss_after_mib=10861.2 released_mib=197.6
2026-05-05T20:09:22.045151Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T20:09:22.197919Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T20:09:22.197974Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T20:09:22.198197Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T20:09:22.234568Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T20:09:22.275413Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T20:09:22.275769Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T20:09:22.275787Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T20:09:22.395627Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T20:09:22.460167Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T20:09:22.472431Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T20:09:26.138144Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:09:26.138338Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:09:26.138350Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:09:26.243364Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:09:26.243375Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:09:29.310035Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:09:29.310068Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:09:33.614228Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:09:33.614405Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:09:33.614422Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:09:33.690731Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:09:33.690743Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:09:36.705032Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:09:36.705081Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:09:39.692420Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:09:39.692429Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:09:39.821835Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:09:40.182936Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:09:41.394286Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:09:52.726552Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:09:52.726723Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:09:52.726738Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:09:52.794615Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:09:52.794625Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:09:55.397564Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:09:55.397601Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:09:58.997158Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:09:58.997166Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:09:59.124772Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:09:59.503456Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:10:00.755017Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:10:02.086066Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:10:03.238952Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:10:05.273057Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:10:05.273065Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:10:06.170541Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:10:13.229634Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521
2026-05-05T20:10:21.421561Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:10:21.421740Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:10:21.421752Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:10:21.520904Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:10:21.520915Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:10:24.039047Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:10:24.039090Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:10:26.684699Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:10:26.684708Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:10:26.814865Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:10:27.148275Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:10:28.472162Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:10:29.777257Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:10:30.929626Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:10:33.016550Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:10:33.016559Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:10:34.009597Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:10:41.858395Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521
2026-05-05T20:10:48.295009Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T20:10:51.090293Z INFO property_map_server::data::property: Data loading complete
2026-05-05T20:10:52.706275Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=13305.6 rss_after_mib=3683.3 released_mib=9622.3
2026-05-05T20:10:52.706285Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T20:10:52.706288Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T20:10:52.809617Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T20:10:52.809625Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T20:10:53.181297Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T20:10:53.181332Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T20:10:53.181339Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T20:10:53.204758Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T20:10:53.345542Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T20:10:53.346662Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T20:10:53.393750Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4042.2 rss_after_mib=3852.6 released_mib=189.6
2026-05-05T20:10:53.393760Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T20:10:53.393762Z INFO property_map_server: Building POI spatial grid index
2026-05-05T20:10:53.400604Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T20:10:53.400611Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T20:10:53.402135Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T20:10:53.405341Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T20:10:53.408919Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3862.3 rss_after_mib=3857.8 released_mib=4.4
2026-05-05T20:10:53.408925Z INFO property_map_server: Place data loaded places=3474
2026-05-05T20:10:53.408933Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T20:10:53.408937Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T20:10:53.411023Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T20:11:00.443984Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T20:11:00.788760Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11178.9 rss_after_mib=10986.2 released_mib=192.7
2026-05-05T20:11:00.788770Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T20:11:00.933329Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T20:11:00.933381Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T20:11:00.938501Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T20:11:00.975103Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T20:11:01.008668Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T20:11:01.008827Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T20:11:01.008841Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T20:11:01.069845Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T20:11:01.075085Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T20:11:01.079344Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T20:11:01.414327Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-05T20:11:01.418330Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-05T20:11:01.418350Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-05T20:11:01.418367Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-05T20:11:01.427208Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-05T20:11:01.434919Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-05T20:11:01.442995Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-05T20:11:01.450381Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-05T20:11:01.450403Z INFO property_map_server: Travel time store loaded modes=4
2026-05-05T20:11:01.450454Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-05T20:11:06.979599Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-05T20:11:06.979640Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-05T20:11:07.002597Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:11:07.798721Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:11:07.799326Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:11:11.822902Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:11:13.880345Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:11:13.881732Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:11:13.913834Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:11:13.929274Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:11:13.952613Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T20:11:13.961748Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.7
2026-05-05T20:11:14.470326Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5
2026-05-05T20:11:15.311075Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=163.9 json_ms=72.5 total_ms=236.3
2026-05-05T20:11:28.568887Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:11:28.569124Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:11:28.569140Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:11:28.685330Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:11:28.685342Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:11:32.079455Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:11:32.079508Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:11:42.680428Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:11:42.680440Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:11:42.865018Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:11:43.356258Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:11:45.756030Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:11:47.737594Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:11:49.223587Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:11:51.591795Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:11:51.591805Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:11:52.559430Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:12:00.998024Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521
2026-05-05T20:12:06.715906Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T20:12:10.622928Z INFO property_map_server::data::property: Data loading complete
2026-05-05T20:12:12.283236Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12558.0 rss_after_mib=3531.4 released_mib=9026.7
2026-05-05T20:12:12.283250Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T20:12:12.283253Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T20:12:12.407096Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T20:12:12.407106Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T20:12:12.952802Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T20:12:12.952904Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T20:12:12.952912Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T20:12:12.980689Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T20:12:13.162223Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T20:12:13.163435Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T20:12:13.215490Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3936.2 rss_after_mib=3748.8 released_mib=187.4
2026-05-05T20:12:13.215504Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T20:12:13.215506Z INFO property_map_server: Building POI spatial grid index
2026-05-05T20:12:13.225404Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T20:12:13.225415Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T20:12:13.226197Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T20:12:13.231551Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T20:12:13.235677Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3758.5 rss_after_mib=3754.0 released_mib=4.4
2026-05-05T20:12:13.235689Z INFO property_map_server: Place data loaded places=3474
2026-05-05T20:12:13.235703Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T20:12:13.235711Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T20:12:13.236718Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T20:12:21.698781Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T20:12:22.092447Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11070.2 rss_after_mib=10874.5 released_mib=195.7
2026-05-05T20:12:22.092459Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T20:12:22.248427Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T20:12:22.248501Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T20:12:22.248743Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T20:12:22.287235Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T20:12:22.315691Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T20:12:22.315873Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T20:12:22.315888Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T20:12:22.387441Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T20:12:22.392672Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T20:12:22.398254Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T20:12:23.160863Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-05T20:12:23.176373Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-05T20:12:23.176425Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-05T20:12:23.176440Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-05T20:12:23.177911Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-05T20:12:23.179132Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-05T20:12:23.180428Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-05T20:12:23.181549Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-05T20:12:23.181566Z INFO property_map_server: Travel time store loaded modes=4
2026-05-05T20:12:23.181609Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-05T20:12:26.411441Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-05T20:12:26.411495Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-05T20:12:29.448422Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=19.2 agg_ms=12.5 json_ms=1.7 total_ms=33.4
2026-05-05T20:12:31.002784Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:12:31.008379Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:12:31.425460Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.4 json_ms=0.2 total_ms=6.5
2026-05-05T20:12:34.787554Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:12:34.789187Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:12:34.799223Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:12:34.799288Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:12:34.809492Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:12:34.809570Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:12:34.815829Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:12:34.815869Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:12:44.306284Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.2 json_ms=0.1 total_ms=4.3
2026-05-05T20:12:44.380201Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.5
2026-05-05T20:13:40.022425Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:13:40.022594Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:13:40.022606Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:13:40.265768Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:13:40.265779Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:13:43.455828Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:13:43.455882Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:13:46.133164Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:13:46.133174Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:13:46.267713Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:13:46.833738Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:13:48.165653Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:13:49.500493Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:13:50.666812Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:13:52.823391Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:13:52.823401Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:13:53.719835Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:14:01.324109Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521
2026-05-05T20:14:06.922768Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T20:14:17.494660Z INFO property_map_server::data::property: Data loading complete
2026-05-05T20:14:19.055500Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=13157.1 rss_after_mib=3641.1 released_mib=9516.0
2026-05-05T20:14:19.055515Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T20:14:19.055518Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T20:14:19.164192Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T20:14:19.164203Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T20:14:19.553236Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T20:14:19.553268Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T20:14:19.553286Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T20:14:19.578432Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T20:14:19.727963Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T20:14:19.729138Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T20:14:19.777399Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4048.9 rss_after_mib=3859.7 released_mib=189.2
2026-05-05T20:14:19.777410Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T20:14:19.777413Z INFO property_map_server: Building POI spatial grid index
2026-05-05T20:14:19.784743Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T20:14:19.784751Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T20:14:19.785406Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T20:14:19.788947Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T20:14:19.792712Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3869.3 rss_after_mib=3864.9 released_mib=4.4
2026-05-05T20:14:19.792718Z INFO property_map_server: Place data loaded places=3474
2026-05-05T20:14:19.792727Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T20:14:19.792736Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T20:14:19.794201Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T20:14:26.855571Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T20:14:27.214966Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11188.8 rss_after_mib=10995.8 released_mib=193.0
2026-05-05T20:14:27.214977Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T20:14:27.362928Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T20:14:27.362983Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T20:14:27.363210Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T20:14:27.399121Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T20:14:27.425488Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T20:14:27.425637Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T20:14:27.425650Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T20:14:27.474873Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T20:14:27.477657Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T20:14:27.482621Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T20:14:27.558405Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-05T20:14:27.561968Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-05T20:14:27.561997Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-05T20:14:27.562014Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-05T20:14:27.563548Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-05T20:14:27.564811Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-05T20:14:27.566048Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-05T20:14:27.567221Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-05T20:14:27.567246Z INFO property_map_server: Travel time store loaded modes=4
2026-05-05T20:14:27.567294Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-05T20:14:30.782263Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-05T20:14:30.782303Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-05T20:14:37.178516Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:14:37.178889Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:14:42.359886Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:14:42.361656Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:14:42.745029Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.1 total_ms=0.9
2026-05-05T20:15:24.241208Z INFO property_map_server::routes::screenshot: Fetching screenshot from: http://screenshot:8002/screenshot?lat=51.5150&lon=-0.1300&zoom=13.8
2026-05-05T20:15:26.177039Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:26.177050Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:26.652370Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:26.653406Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:26.753076Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:26.753240Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:26.875609Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:26.875612Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:26.982401Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:26.983912Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.080800Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:27.080858Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.179972Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:27.179991Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.284192Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:27.284273Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.410182Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:27.410183Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.500848Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:27.501649Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.574779Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:27.575478Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.671129Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:27.671886Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.742642Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:27.742900Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.838597Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:27.838601Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.915525Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:27.915523Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.006067Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.006246Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.098830Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.099032Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.190287Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.191348Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.314688Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.314699Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.386806Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.386830Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.483715Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.484020Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.580493Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.581330Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.657449Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.657457Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.734505Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.734711Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.809948Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.810153Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.903432Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.904582Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:28.977459Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:28.978270Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.080510Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.080851Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.176333Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.176743Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.252464Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.252484Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.350484Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.350509Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.461886Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.461928Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.563391Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.563418Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.651430Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.651431Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.722281Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.722282Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.808252Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.808255Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:29.962882Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:29.963576Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:30.053537Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:30.053600Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:30.144986Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:30.145184Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:30.502588Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:30.502884Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:30.767464Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:30.768721Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:30.864719Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:30.865635Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:30.943622Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:30.943643Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.044832Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.044876Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.145007Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.145263Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.240944Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.240969Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.340022Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.340023Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.438615Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.438855Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.547117Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.548817Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.645362Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.645365Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.742994Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.743211Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.836748Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.837012Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:31.941654Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:31.941711Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.013810Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.013816Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.137120Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.138035Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.228118Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.228134Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.309326Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.309367Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.401047Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.401107Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.498630Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.498670Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.589945Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.589960Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.687321Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.687337Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.763682Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.763685Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.863451Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.863453Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:32.962286Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:32.962709Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.069075Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.069098Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.166622Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.166627Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.267261Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.267981Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.346362Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.346367Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.446823Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.446824Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.543006Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.543011Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.640335Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.640339Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.734602Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.734857Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.833510Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.833541Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:33.925049Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:33.925948Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.005695Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.005701Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.106689Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.107536Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.204254Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.204971Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.272617Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.272645Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.377475Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.377504Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.448005Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.448007Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.556122Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.556809Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.628300Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.629648Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.712682Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.712686Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.803809Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.803857Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:34.890777Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:34.890825Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.007857Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.008487Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.120965Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.121106Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.228813Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.228972Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.338188Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.338197Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.434774Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.434816Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.547636Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.548833Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.636089Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.636445Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.715259Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.715269Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.797274Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.798669Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:35.916469Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:35.916680Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.010529Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.010537Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.113984Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.113989Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.239900Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.239906Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.358207Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.359394Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.447447Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.448041Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.528372Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.528379Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.626602Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.627409Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.718353Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.718375Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.819732Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.819735Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:36.939946Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:36.939948Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.061756Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.061971Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.136115Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.136535Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.247052Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.247057Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.322795Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.323458Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.393135Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.393846Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.501971Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.501969Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.618361Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.619694Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.696593Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.697309Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.768707Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.768709Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.840268Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.840272Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:37.940823Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:37.940928Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.059790Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.060360Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.171621Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.171684Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.265066Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.265068Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.389148Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.389398Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.514348Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.514364Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.629237Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.629251Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.723376Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.724479Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.805948Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.806171Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.901580Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.901584Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:38.994715Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:38.996745Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:39.094171Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:39.094173Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:39.186885Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:39.187848Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:39.661970Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:39.662258Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:39.791024Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:39.791039Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:39.912816Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:39.913563Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.028097Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.028978Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.106145Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.106154Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.231358Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.231388Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.331277Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.331327Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.456734Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.456899Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.577699Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.577708Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.667332Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.667344Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.758882Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.761153Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.867104Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.867133Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:40.990011Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:40.990077Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.095586Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.096342Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.176776Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.182058Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.288217Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.288219Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.389839Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.389846Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.470342Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.470364Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.553102Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.553507Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.657566Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.657611Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.758063Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.759498Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.863349Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.864148Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:41.941882Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:41.942137Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.035378Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.036014Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.125431Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.126721Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.225061Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.225064Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.316420Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.316428Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.419451Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.420234Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.499710Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.499739Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.572015Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.572029Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.651293Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.651482Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.746045Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.746059Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.842222Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.842242Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:42.944602Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:42.944605Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.043207Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.043208Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.142932Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.143594Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.232857Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.233067Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.332017Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.332011Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.422426Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.422908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.501581Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.501907Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.598702Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.598704Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.669924Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.669931Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.773224Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.773586Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.873728Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.873730Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:43.944513Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:43.944518Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:44.028025Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:44.028936Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:44.133970Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:44.134000Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:44.203966Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:44.204005Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:44.288166Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:44.288851Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:44.402334Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:44.403165Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:44.476748Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:44.477621Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:44.559943Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:44.559960Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:44.677587Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:44.678229Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:44.775113Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:44.776103Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.108816Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.108830Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.191875Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.193063Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.269335Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.271066Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.355528Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.355532Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.448519Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.448528Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.562173Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.562187Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.643276Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.644082Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.727589Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.727628Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.821503Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.821549Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:45.911024Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:45.911951Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.002546Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.002549Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.115414Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.116180Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.196552Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.196601Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.299900Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.299947Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.415404Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.416233Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.497147Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.497177Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.601138Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.601142Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.718916Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.718924Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.808340Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.808347Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:46.954064Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:46.955549Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.050913Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.052057Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.151913Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.151961Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.293300Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.293366Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.393516Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.393555Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.479012Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.479788Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.567309Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.568908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.668567Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.668565Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.763221Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.763951Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.846541Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.846596Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:47.963617Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:47.963910Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:48.061046Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:48.061055Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:48.156769Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:48.156803Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:48.276976Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:48.276977Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:48.427460Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:48.427461Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:48.526616Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:48.526620Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:48.653929Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:48.653931Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:48.752163Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:48.752190Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:48.848185Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:48.848430Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:48.977829Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:48.977832Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:49.098358Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:49.098536Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:49.188428Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:49.188431Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:49.305075Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:49.305085Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:49.408432Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:49.409281Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:49.522071Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:49.522255Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:49.651057Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:49.651809Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:49.736686Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:49.736688Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:49.837277Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:49.837281Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:49.937031Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:49.937035Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.019754Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.020489Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.098049Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.098231Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.192729Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.192741Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.279323Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.280944Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.389195Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.389196Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.490176Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.490183Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.584321Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.584327Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.691939Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.694708Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.802226Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.802238Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:50.890162Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:50.890173Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.009162Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.009164Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.136153Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.136155Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.249618Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.249622Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.343587Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.343657Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.428700Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.428889Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.562232Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.562234Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.658414Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.659016Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.757931Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.758314Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.917840Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.917856Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:51.992773Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:51.992783Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:52.081195Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:52.081198Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:52.300187Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:52.300189Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:52.392131Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:52.392290Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:52.476834Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:52.477546Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:52.707415Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:52.707419Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:52.811083Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:52.811113Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:52.902601Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:52.902612Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:53.287882Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:53.289367Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:53.371089Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:53.371128Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:53.666987Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:53.667029Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:53.743605Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:53.744216Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:53.831371Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:53.831397Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:54.014550Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:54.015432Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:54.110504Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:54.111211Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:54.196615Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:54.196625Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:54.381832Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:54.381833Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:54.473901Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:54.473903Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:54.565093Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:54.566128Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:54.752155Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:54.752174Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:54.850501Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:54.850683Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:55.168204Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:55.168422Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:55.269339Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:55.269510Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:55.595899Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:55.595908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:55.691623Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:55.691638Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:56.016547Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:56.016556Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:56.116590Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:56.117354Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:56.434638Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:56.434789Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:56.504294Z INFO property_map_server::routes::export: Fetched screenshot for export bytes=5259
2026-05-05T20:15:56.539046Z INFO property_map_server::routes::export: GET /api/export postcodes=250 sampled=true features=69 has_screenshot=true bytes=104437 total_ms=34.6
2026-05-05T20:15:56.685653Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:56.701864Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:58.203872Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:15:58.203933Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:15:58.243951Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:15:58.271316Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:15:58.283482Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T20:15:58.373158Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1
2026-05-05T20:15:59.085705Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.6
2026-05-05T20:15:59.376613Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=26.9 json_ms=3.3 total_ms=30.3
2026-05-05T20:16:45.009437Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:16:45.012805Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:16:45.014038Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:16:45.014162Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:16:45.024395Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:16:45.027252Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:16:45.035596Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:16:45.037315Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:16:45.069341Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:16:45.074504Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:16:45.357069Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=396398 parallel=true cells_before_filter=2935 cells_after_filter=2931 truncated=false bounds=51.6337,-1.5054,52.0656,-0.4742 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.5 json_ms=1.6 total_ms=9.1
2026-05-05T20:16:45.382840Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0
2026-05-05T20:16:52.421491Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9
2026-05-05T20:16:52.455670Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8
2026-05-05T20:16:52.484199Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T20:16:53.256924Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.0 json_ms=0.1 total_ms=5.2
2026-05-05T20:16:53.279437Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.2
2026-05-05T20:16:55.244204Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.3 json_ms=0.2 total_ms=3.5
2026-05-05T20:16:55.269726Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.6
2026-05-05T20:17:07.425638Z INFO property_map_server::routes::places: GET /api/places query="sett" results=1 postcodes=0 addresses=5 scanned=3474 mode="-" ms=0.9
2026-05-05T20:17:07.721433Z INFO property_map_server::routes::places: GET /api/places query="settle" results=1 postcodes=0 addresses=5 scanned=3474 mode="-" ms=0.8
2026-05-05T20:17:09.020513Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8
2026-05-05T20:17:10.596588Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=11.2 json_ms=2.0 total_ms=13.2
2026-05-05T20:17:12.089127Z INFO property_map_server::routes::places: GET /api/places query="flat 6" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=56.3
2026-05-05T20:17:12.401428Z INFO property_map_server::routes::places: GET /api/places query="flat 64" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=55.1
2026-05-05T20:17:13.128067Z INFO property_map_server::routes::places: GET /api/places query="flat 64 s" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=48.0
2026-05-05T20:17:13.291740Z INFO property_map_server::routes::places: GET /api/places query="flat 64 se" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7
2026-05-05T20:17:13.902419Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.5 json_ms=0.2 total_ms=7.6
2026-05-05T20:17:14.165913Z INFO property_map_server::routes::places: GET /api/places query="flat 64 settle" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8
2026-05-05T20:17:15.819515Z INFO property_map_server::routes::places: GET /api/places query="flat 64" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=68.8
2026-05-05T20:17:17.575163Z INFO property_map_server::routes::places: GET /api/places query="17 newpo" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=9.0
2026-05-05T20:17:18.234458Z INFO property_map_server::routes::places: GET /api/places query="17 newpor" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=8.5
2026-05-05T20:17:18.279340Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.6
2026-05-05T20:17:18.621811Z INFO property_map_server::routes::places: GET /api/places query="17 newport" results=0 postcodes=0 addresses=5 scanned=3474 mode="-" ms=2.0
2026-05-05T20:17:19.427840Z INFO property_map_server::routes::places: GET /api/places query="17 newport avenue" results=0 postcodes=0 addresses=5 scanned=3474 mode="-" ms=2.5
2026-05-05T20:17:21.423411Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.4
2026-05-05T20:17:26.742672Z INFO property_map_server::routes::places: GET /api/places query="flat 6" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=50.5
2026-05-05T20:17:27.791175Z INFO property_map_server::routes::places: GET /api/places query="flat 64 s" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=47.2
2026-05-05T20:17:28.665922Z INFO property_map_server::routes::places: GET /api/places query="flat 64 settle" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.9
2026-05-05T20:17:29.433862Z INFO property_map_server::routes::places: GET /api/places query="se" results=7 postcodes=0 addresses=0 scanned=3474 mode="-" ms=1.0
2026-05-05T20:17:30.800215Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8
2026-05-05T20:17:31.095899Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=5 scanned=3474 mode="-" ms=0.8
2026-05-05T20:17:45.749114Z INFO property_map_server::routes::places: GET /api/places query="6settlers court" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=4.2
2026-05-05T20:17:46.927072Z INFO property_map_server::routes::places: GET /api/places query="60 settlers court" results=0 postcodes=0 addresses=1 scanned=3474 mode="-" ms=0.8
2026-05-05T20:18:02.987375Z INFO property_map_server::routes::postcodes: GET /api/postcode/E14 2DG postcode=E14 2DG
2026-05-05T20:18:03.000809Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=E14 2DG total_count=75 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:18:03.023896Z INFO property_map_server::routes::postcode_properties: GET /api/postcode-properties postcode=E14 2DG total=75 returned=75 offset=0 filters=0 filters_raw="-" ms=0.8
2026-05-05T20:18:03.175527Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=176 postcodes_after_filter=38 filtered_out=138 truncated=false bounds=51.506766,-0.004777,51.511574,0.006617 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.3 json_ms=0.1 total_ms=0.4
2026-05-05T20:18:03.414877Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=176 postcodes_after_filter=32 filtered_out=144 truncated=false bounds=51.506766,-0.003232,51.511574,0.005072 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.3 json_ms=0.1 total_ms=0.4
2026-05-05T20:18:40.536291Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:40.536356Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:40.554550Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:40.559926Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:40.574720Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:40.574729Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:40.575196Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:40.575978Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:40.868105Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=176 postcodes_after_filter=38 filtered_out=138 truncated=false bounds=51.506796,-0.004797,51.511604,0.006597 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.4 json_ms=0.1 total_ms=0.5
2026-05-05T20:18:40.902923Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:40.916832Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:41.201425Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.7 json_ms=0.1 total_ms=0.8
2026-05-05T20:18:46.497674Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:46.501625Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:46.514390Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:46.516504Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:46.526582Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:46.528688Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:46.537928Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:46.544708Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:46.578022Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:18:46.578286Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:18:46.815037Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=176 postcodes_after_filter=38 filtered_out=138 truncated=false bounds=51.506796,-0.004797,51.511604,0.006597 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.3 json_ms=0.1 total_ms=0.4
2026-05-05T20:18:46.932823Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7
2026-05-05T20:19:02.646107Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:19:02.647348Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:19:02.651437Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:19:02.651524Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:19:02.658302Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:19:02.663313Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:19:02.663319Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:19:02.663421Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:19:02.718754Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:19:02.719373Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:19:03.143647Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.5 json_ms=0.1 total_ms=0.5
2026-05-05T20:19:15.462260Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.5 json_ms=0.1 total_ms=0.5
2026-05-05T20:19:41.779242Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:19:43.171564Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:19:43.172901Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:19:43.210552Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:19:43.229323Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:19:43.239582Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T20:19:43.249931Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.2
2026-05-05T20:19:43.671255Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.6
2026-05-05T20:19:44.083439Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.6 json_ms=3.9 total_ms=11.5
2026-05-05T20:20:36.512470Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1
2026-05-05T20:20:36.543021Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T20:20:36.544426Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0
2026-05-05T20:20:37.144863Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.6 json_ms=0.2 total_ms=4.8
2026-05-05T20:20:37.174882Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.9
2026-05-05T20:20:46.123346Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.2 json_ms=1.6 total_ms=7.8
2026-05-05T20:20:49.425005Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.1 total_ms=3.3
2026-05-05T20:20:59.081876Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.4 json_ms=0.1 total_ms=8.5
2026-05-05T20:20:59.096912Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.4
2026-05-05T20:21:41.377358Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.3
2026-05-05T20:21:42.095955Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da499bffff resolution=9 total_count=467 filters=0 filters_raw="-" ms=0.4
2026-05-05T20:21:42.492655Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1
2026-05-05T20:21:48.534248Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.2 total_ms=1.0
2026-05-05T20:21:49.459582Z INFO property_map_server::routes::postcodes: GET /api/postcode/W1T 3HQ postcode=W1T 3HQ
2026-05-05T20:21:49.543342Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=W1T 3HQ total_count=1 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:21:49.777809Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=1281 postcodes_after_filter=510 filtered_out=771 truncated=false bounds=51.513536,-0.139691,51.523695,-0.122141 filters=0 filters_raw="-" fields=1 travel_entries=0 agg_ms=1.2 json_ms=1.1 total_ms=2.2
2026-05-05T20:21:52.188752Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=1281 postcodes_after_filter=866 filtered_out=415 truncated=false bounds=51.512038,-0.142621,51.524626,-0.120875 filters=0 filters_raw="-" fields=1 travel_entries=0 agg_ms=1.2 json_ms=1.9 total_ms=3.1
2026-05-05T20:21:55.642829Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=1281 postcodes_after_filter=852 filtered_out=429 truncated=false bounds=51.509964,-0.142605,51.522553,-0.120858 filters=0 filters_raw="-" fields=1 travel_entries=0 agg_ms=1.3 json_ms=1.7 total_ms=3.0
2026-05-05T20:21:57.771477Z INFO property_map_server::routes::postcodes: GET /api/postcode/W1T 3HQ postcode=W1T 3HQ
2026-05-05T20:21:57.799117Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da499bffff resolution=9 total_count=467 filters=0 filters_raw="-" ms=0.4
2026-05-05T20:21:58.104834Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=40248 parallel=false cells_before_filter=186 cells_after_filter=169 truncated=false bounds=51.4979,-0.1609,51.5285,-0.1081 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.2 total_ms=2.1
2026-05-05T20:22:36.941364Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:22:36.942739Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:22:36.948277Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:22:36.948320Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:22:36.958858Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:22:36.962403Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:22:36.963459Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:22:36.963527Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:22:37.445530Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:22:37.445546Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:22:37.453850Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:22:37.455070Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:22:37.464148Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:22:37.470673Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:22:37.470878Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:22:37.472028Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:23:08.434324Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:23:08.434486Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:23:08.434496Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:23:08.504323Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:23:08.504335Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:23:38.837755Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:23:38.837918Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:23:38.837932Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:23:38.902957Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:23:38.902967Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:23:41.518751Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:23:41.518784Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:23:44.025670Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:23:44.025680Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:23:44.156438Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:23:44.641818Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:23:45.817715Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:23:49.311641Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:23:52.488503Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:23:54.623496Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:23:54.623506Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:23:55.581342Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:24:07.796097Z INFO property_map_server::data::property: Address search index built tokens=180064 prefixes=372145 pruned_tokens=0 postings=19577075 row_tokens=33755096
2026-05-05T20:24:17.132488Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:24:17.132646Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:24:17.132656Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:24:17.262493Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:24:17.262505Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:24:19.767784Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:24:19.767821Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:24:22.320483Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:24:22.320492Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:24:22.440641Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:24:22.784344Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:24:23.985723Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:24:25.283691Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:24:30.257832Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:24:30.258007Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:24:30.258020Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:24:30.323551Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:24:30.323563Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:24:33.009666Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:24:33.009716Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:24:36.283187Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:24:36.283197Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:24:36.411830Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:24:36.860986Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:24:38.168716Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:24:39.487333Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:24:40.667134Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:24:42.759715Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:24:42.759725Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:24:43.644086Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:24:52.012933Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:24:52.013093Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:24:52.013106Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:24:52.078229Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:24:52.078239Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:24:55.029841Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:24:55.029886Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:24:57.689992Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:24:57.690005Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:24:57.809806Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:24:58.185922Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:24:59.627908Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:25:00.916638Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:25:02.073749Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:25:10.298915Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:25:10.298924Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:25:11.323103Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:25:23.154616Z INFO property_map_server::data::property: Address search index built tokens=180064 prefixes=372145 pruned_tokens=0 postings=19577075 row_tokens=33755096
2026-05-05T20:25:27.910547Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T20:25:30.634549Z INFO property_map_server::data::property: Data loading complete
2026-05-05T20:25:32.141765Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=13168.2 rss_after_mib=3903.9 released_mib=9264.3
2026-05-05T20:25:32.141775Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T20:25:32.141777Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T20:25:32.247461Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T20:25:32.247469Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T20:25:32.612583Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T20:25:32.612666Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T20:25:32.612687Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T20:25:32.658012Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T20:25:32.801394Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T20:25:32.802594Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T20:25:32.849814Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4313.2 rss_after_mib=4121.5 released_mib=191.7
2026-05-05T20:25:32.849824Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T20:25:32.849827Z INFO property_map_server: Building POI spatial grid index
2026-05-05T20:25:32.856896Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T20:25:32.856903Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T20:25:32.858793Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T20:25:32.862102Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T20:25:32.865560Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=4131.1 rss_after_mib=4126.7 released_mib=4.4
2026-05-05T20:25:32.865566Z INFO property_map_server: Place data loaded places=3474
2026-05-05T20:25:32.865573Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T20:25:32.865577Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T20:25:32.929171Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T20:25:40.491144Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T20:25:40.844631Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11454.5 rss_after_mib=11264.4 released_mib=190.1
2026-05-05T20:25:40.844643Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T20:25:40.987289Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T20:25:40.987343Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T20:25:40.995056Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T20:25:41.031589Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T20:25:41.077111Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T20:25:41.077258Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T20:25:41.077271Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T20:25:41.136607Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T20:25:41.142447Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T20:25:41.147577Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T20:25:41.936401Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-05T20:25:41.944807Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-05T20:25:41.944847Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-05T20:25:41.944864Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-05T20:25:41.954358Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-05T20:25:41.966799Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-05T20:25:41.975818Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-05T20:25:41.983703Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-05T20:25:41.983731Z INFO property_map_server: Travel time store loaded modes=4
2026-05-05T20:25:41.983782Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-05T20:25:49.330274Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-05T20:25:49.330306Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-05T20:25:59.045077Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:25:59.058017Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:27:14.015228Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=493738 parallel=true cells_before_filter=1742 cells_after_filter=1631 truncated=false bounds=51.4720,-0.2215,51.5604,-0.0121 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=10.0 json_ms=1.0 total_ms=11.1
2026-05-05T20:27:14.763528Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4ea3ffff resolution=9 total_count=352 filters=0 filters_raw="-" ms=0.4
2026-05-05T20:27:15.145053Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=387140 parallel=true cells_before_filter=1367 cells_after_filter=1232 truncated=false bounds=51.4720,-0.1931,51.5604,-0.0405 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.3 json_ms=0.7 total_ms=4.1
2026-05-05T20:27:16.328424Z INFO property_map_server::routes::places: GET /api/places query="flat" results=1 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6
2026-05-05T20:27:17.038512Z INFO property_map_server::routes::places: GET /api/places query="flat 6" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=44.5
2026-05-05T20:27:17.535381Z INFO property_map_server::routes::places: GET /api/places query="flat 64" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=43.4
2026-05-05T20:27:18.452179Z INFO property_map_server::routes::places: GET /api/places query="64" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6
2026-05-05T20:27:19.004887Z INFO property_map_server::routes::places: GET /api/places query="6-" results=1 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.1
2026-05-05T20:27:19.906277Z INFO property_map_server::routes::places: GET /api/places query="60 se" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6
2026-05-05T20:27:20.563546Z INFO property_map_server::routes::places: GET /api/places query="60 settler" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6
2026-05-05T20:27:21.657619Z INFO property_map_server::routes::places: GET /api/places query="60 settlers" results=0 postcodes=0 addresses=1 scanned=3474 mode="-" ms=0.6
2026-05-05T20:28:08.155513Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:28:08.155716Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:28:08.155734Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:28:08.256263Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:28:08.256272Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:28:11.209911Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:28:11.209959Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:28:15.645376Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:28:15.645386Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:28:15.773405Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:28:16.152464Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:28:17.345694Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:28:18.692279Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:28:19.971750Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:28:21.974943Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:28:21.974952Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:28:22.783937Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:28:33.094829Z INFO property_map_server::data::property: Address search index built tokens=180064 prefixes=372145 pruned_tokens=0 postings=19577075 row_tokens=33755096
2026-05-05T20:28:37.747606Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T20:28:40.996663Z INFO property_map_server::data::property: Data loading complete
2026-05-05T20:28:42.563116Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12552.0 rss_after_mib=3961.5 released_mib=8590.4
2026-05-05T20:28:42.563128Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T20:28:42.563131Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T20:28:42.662170Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T20:28:42.662180Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T20:28:43.067316Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T20:28:43.067338Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T20:28:43.067343Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T20:28:43.093351Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T20:28:43.242380Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T20:28:43.243490Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T20:28:43.293328Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4367.5 rss_after_mib=4179.1 released_mib=188.4
2026-05-05T20:28:43.293342Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T20:28:43.293345Z INFO property_map_server: Building POI spatial grid index
2026-05-05T20:28:43.303007Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T20:28:43.303018Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T20:28:43.303979Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T20:28:43.307928Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T20:28:43.312033Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=4188.8 rss_after_mib=4184.3 released_mib=4.4
2026-05-05T20:28:43.312044Z INFO property_map_server: Place data loaded places=3474
2026-05-05T20:28:43.312053Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T20:28:43.312066Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T20:28:43.313199Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T20:28:50.444552Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T20:28:50.779333Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11494.7 rss_after_mib=11296.2 released_mib=198.5
2026-05-05T20:28:50.779343Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T20:28:50.919426Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T20:28:50.919477Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T20:28:50.919707Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T20:28:50.954385Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T20:28:50.978488Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T20:28:50.978624Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T20:28:50.978637Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T20:28:51.028548Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T20:28:51.038932Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T20:28:51.044026Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T20:28:51.256748Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-05T20:28:51.260165Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-05T20:28:51.260190Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-05T20:28:51.260204Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-05T20:28:51.261842Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-05T20:28:51.263056Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-05T20:28:51.264817Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-05T20:28:51.266128Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-05T20:28:51.266147Z INFO property_map_server: Travel time store loaded modes=4
2026-05-05T20:28:51.266192Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-05T20:28:54.000560Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-05T20:28:54.000600Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-05T20:28:54.242491Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:28:54.243716Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:28:54.847610Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:28:56.876508Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:28:56.877938Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:28:56.906603Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:28:56.921659Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:28:57.022316Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T20:28:57.553772Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.2
2026-05-05T20:28:57.896388Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T20:28:57.943963Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a7ffff resolution=9 total_count=1161 filters=0 filters_raw="-" ms=0.5
2026-05-05T20:28:58.170139Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=18.3 json_ms=3.7 total_ms=22.0
2026-05-05T20:29:50.701826Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1
2026-05-05T20:29:50.764513Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7
2026-05-05T20:29:50.794190Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a7ffff resolution=9 total_count=731 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.6
2026-05-05T20:29:51.042292Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.2 total_ms=3.9
2026-05-05T20:29:52.915357Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.4
2026-05-05T20:29:53.758173Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=493738 parallel=true cells_before_filter=1742 cells_after_filter=1631 truncated=false bounds=51.4720,-0.2215,51.5604,-0.0121 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.7 json_ms=1.0 total_ms=5.7
2026-05-05T20:29:56.025021Z INFO property_map_server::routes::places: GET /api/places query="sett" results=1 postcodes=0 addresses=20 scanned=3474 mode="-" ms=1.0
2026-05-05T20:29:56.778380Z INFO property_map_server::routes::places: GET /api/places query="settle" results=1 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.9
2026-05-05T20:29:57.425951Z INFO property_map_server::routes::places: GET /api/places query="settlers" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.7
2026-05-05T20:29:58.147998Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.9
2026-05-05T20:29:59.683805Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8
2026-05-05T20:30:02.175733Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7
2026-05-05T20:30:05.896092Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7
2026-05-05T20:30:06.711921Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8
2026-05-05T20:30:08.113285Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7
2026-05-05T20:30:08.691821Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8
2026-05-05T20:30:09.039485Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.2 json_ms=2.3 total_ms=9.5
2026-05-05T20:30:09.452980Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.2 total_ms=4.1
2026-05-05T20:30:09.576464Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8
2026-05-05T20:30:14.534100Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=10.0 json_ms=0.1 total_ms=10.1
2026-05-05T20:30:14.561271Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.1
2026-05-05T20:30:45.251326Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8
2026-05-05T20:30:45.475014Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=476377 parallel=true cells_before_filter=1670 cells_after_filter=1593 truncated=false bounds=51.4723,-0.2213,51.5602,-0.0129 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.5 json_ms=1.1 total_ms=7.6
2026-05-05T20:30:45.811424Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8
2026-05-05T20:30:46.425597Z INFO property_map_server::routes::places: GET /api/places query="settlers court e" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8
2026-05-05T20:30:46.750193Z INFO property_map_server::routes::places: GET /api/places query="settlers court e1" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.7
2026-05-05T20:30:47.414543Z INFO property_map_server::routes::places: GET /api/places query="settlers court e14" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8
2026-05-05T20:30:55.252806Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.7
2026-05-05T20:30:57.446846Z INFO property_map_server::routes::places: GET /api/places query="eas" results=20 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7
2026-05-05T20:30:57.753680Z INFO property_map_server::routes::places: GET /api/places query="east" results=20 postcodes=0 addresses=20 scanned=3474 mode="-" ms=9.3
2026-05-05T20:30:58.121557Z INFO property_map_server::routes::places: GET /api/places query="east in" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=8.8
2026-05-05T20:30:58.616589Z INFO property_map_server::routes::places: GET /api/places query="east india" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8
2026-05-05T20:31:03.466117Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=182569 parallel=true cells_before_filter=632 cells_after_filter=631 truncated=false bounds=51.4976,-0.2014,51.5516,-0.0733 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.5 json_ms=0.5 total_ms=3.0
2026-05-05T20:31:11.929770Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:31:11.934814Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:31:11.967543Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:31:11.968771Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:31:11.968846Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:31:11.969063Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:31:11.997813Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:31:11.998992Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:31:12.937844Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=182569 parallel=true cells_before_filter=632 cells_after_filter=632 truncated=false bounds=51.4974,-0.2019,51.5518,-0.0729 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.4 total_ms=1.8
2026-05-05T20:31:19.360259Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:31:19.362293Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:32:34.934479Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2
2026-05-05T20:32:36.101977Z INFO property_map_server::routes::places: GET /api/places query="se" results=20 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7
2026-05-05T20:32:36.857469Z INFO property_map_server::routes::places: GET /api/places query="sett" results=1 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.9
2026-05-05T20:32:37.713438Z INFO property_map_server::routes::places: GET /api/places query="settl" results=1 postcodes=0 addresses=1 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:38.483241Z INFO property_map_server::routes::places: GET /api/places query="settler" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:39.339260Z INFO property_map_server::routes::places: GET /api/places query="settlert" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8
2026-05-05T20:32:40.233088Z INFO property_map_server::routes::places: GET /api/places query="settlers" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:40.798888Z INFO property_map_server::routes::places: GET /api/places query="settlers" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:41.168588Z INFO property_map_server::routes::places: GET /api/places query="settlers c" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:41.461557Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:41.761817Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:43.482091Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:44.153862Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:44.982231Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:46.026942Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:46.652785Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8
2026-05-05T20:32:50.496073Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8
2026-05-05T20:32:51.809751Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:55.104537Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6
2026-05-05T20:32:56.624656Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.7
2026-05-05T20:33:03.238325Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7
2026-05-05T20:33:04.759612Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8
2026-05-05T20:33:06.335707Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6
2026-05-05T20:34:17.179914Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:34:17.180073Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:34:17.180085Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:34:17.251322Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:34:17.251332Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:34:19.720024Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:34:19.720065Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:34:22.355183Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:34:22.355192Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:34:22.476338Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:34:22.817754Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:34:24.032580Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:34:25.363079Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:34:26.575197Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:34:33.670183Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:34:33.670193Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:34:34.482407Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:35:07.669753Z INFO property_map_server::data::property: Address search index built tokens=180031 prefixes=372145 pruned_tokens=0 postings=19555438 row_tokens=33733459
2026-05-05T20:35:12.286474Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T20:35:14.993522Z INFO property_map_server::data::property: Data loading complete
2026-05-05T20:35:16.487500Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=13785.1 rss_after_mib=3930.5 released_mib=9854.6
2026-05-05T20:35:16.487511Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T20:35:16.487515Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T20:35:16.588116Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T20:35:16.588127Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T20:35:16.953533Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T20:35:16.953558Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T20:35:16.953565Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T20:35:16.984876Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T20:35:17.129033Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T20:35:17.130133Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T20:35:17.176891Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4337.0 rss_after_mib=4148.1 released_mib=188.9
2026-05-05T20:35:17.176902Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T20:35:17.176904Z INFO property_map_server: Building POI spatial grid index
2026-05-05T20:35:17.185311Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T20:35:17.185318Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T20:35:17.186424Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T20:35:17.189758Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T20:35:17.193582Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=4157.8 rss_after_mib=4153.3 released_mib=4.4
2026-05-05T20:35:17.193589Z INFO property_map_server: Place data loaded places=3474
2026-05-05T20:35:17.193597Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T20:35:17.193607Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T20:35:17.198431Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T20:35:24.415958Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T20:35:24.769093Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11477.4 rss_after_mib=11287.8 released_mib=189.6
2026-05-05T20:35:24.769103Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T20:35:24.909459Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T20:35:24.909508Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T20:35:24.913175Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T20:35:24.948138Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T20:35:24.976106Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T20:35:24.976256Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T20:35:24.976268Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T20:35:25.038711Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T20:35:25.043787Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T20:35:25.048622Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T20:35:25.985329Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-05T20:35:25.989793Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-05T20:35:25.989817Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-05T20:35:25.989830Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-05T20:35:25.998879Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-05T20:35:26.006278Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-05T20:35:26.014938Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-05T20:35:26.030626Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-05T20:35:26.030661Z INFO property_map_server: Travel time store loaded modes=4
2026-05-05T20:35:26.030718Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-05T20:35:31.723206Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-05T20:35:31.723252Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-05T20:35:38.750862Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:35:38.751350Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:35:56.339262Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:35:56.340511Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:35:56.678125Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.9 json_ms=0.2 total_ms=5.1
2026-05-05T20:36:08.122752Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:36:08.122991Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:38:02.576851Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.1 json_ms=0.2 total_ms=4.3
2026-05-05T20:38:03.452893Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d6fffff resolution=9 total_count=634 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:38:03.870993Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7
2026-05-05T20:38:10.180029Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2
2026-05-05T20:38:12.738595Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.2 total_ms=1.4
2026-05-05T20:38:16.124746Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=277814 parallel=true cells_before_filter=912 cells_after_filter=875 truncated=false bounds=51.4781,-0.1989,51.5523,-0.0707 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.3 json_ms=0.9 total_ms=4.1
2026-05-05T20:38:16.629901Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da4d7fffff resolution=8 total_count=2176 filters=0 filters_raw="-" ms=1.6
2026-05-05T20:38:16.794276Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da4dffffff resolution=7 total_count=10778 filters=0 filters_raw="-" ms=5.1
2026-05-05T20:38:17.314986Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3922344 parallel=true cells_before_filter=2788 cells_after_filter=2788 truncated=false bounds=50.9780,-1.0814,51.9478,0.5921 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=30.1 json_ms=3.5 total_ms=33.7
2026-05-05T20:38:18.303292Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da4fffffff resolution=6 total_count=94429 filters=0 filters_raw="-" ms=39.1
2026-05-05T20:38:18.646151Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=6279992 parallel=true cells_before_filter=1202 cells_after_filter=1202 truncated=false bounds=50.3321,-2.0970,52.2454,1.1923 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.2 agg_ms=44.9 json_ms=1.0 total_ms=46.1
2026-05-05T20:38:19.205547Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=9740074 parallel=true cells_before_filter=2565 cells_after_filter=2565 truncated=false bounds=48.8638,-4.3558,52.9000,2.5271 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.3 agg_ms=61.3 json_ms=2.0 total_ms=63.7
2026-05-05T20:38:21.688949Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=13276027 parallel=true cells_before_filter=3313 cells_after_filter=3313 truncated=false bounds=49.9886,-4.1714,53.9307,2.7115 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=72.5 json_ms=2.5 total_ms=75.6
2026-05-05T20:38:33.742878Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:38:33.743020Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:38:33.743038Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:38:33.834647Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:38:33.834657Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:38:36.736592Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:38:36.736627Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:38:39.173482Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:38:39.173492Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:38:39.296170Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:38:39.709156Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:38:43.517412Z INFO property_map_server: Prometheus metrics initialized
2026-05-05T20:38:43.517591Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-05T20:38:43.517607Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-05T20:38:43.596362Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-05T20:38:43.596374Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-05T20:38:46.192783Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-05T20:38:46.192835Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-05T20:38:49.740978Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-05T20:38:49.740988Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-05T20:38:49.862079Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-05T20:38:50.238201Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-05T20:38:52.014168Z INFO property_map_server::data::property: Extracting string columns
2026-05-05T20:38:53.292719Z INFO property_map_server::data::property: Building enum features
2026-05-05T20:38:54.454321Z INFO property_map_server::data::property: Extracting renovation history
2026-05-05T20:38:56.567743Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-05T20:38:56.567752Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-05T20:38:57.484521Z INFO property_map_server::data::property: Building interned strings
2026-05-05T20:39:09.476068Z INFO property_map_server::data::property: Address search index built tokens=180064 prefixes=372145 pruned_tokens=0 postings=19577075 row_tokens=49808533
2026-05-05T20:39:14.061888Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-05T20:39:16.761686Z INFO property_map_server::data::property: Data loading complete
2026-05-05T20:39:18.257274Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12546.5 rss_after_mib=3898.8 released_mib=8647.7
2026-05-05T20:39:18.257284Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-05T20:39:18.257287Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-05T20:39:18.358948Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-05T20:39:18.358959Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-05T20:39:18.711554Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-05T20:39:18.711580Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-05T20:39:18.711588Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-05T20:39:18.737346Z INFO property_map_server::data::poi: Loaded 567534 POIs
2026-05-05T20:39:18.877948Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71
2026-05-05T20:39:18.879042Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-05T20:39:18.921270Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4303.1 rss_after_mib=4116.7 released_mib=186.4
2026-05-05T20:39:18.921281Z INFO property_map_server: POI data loaded pois=567534
2026-05-05T20:39:18.921283Z INFO property_map_server: Building POI spatial grid index
2026-05-05T20:39:18.928330Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-05T20:39:18.928338Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-05T20:39:18.930736Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-05T20:39:18.933976Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-05T20:39:18.937389Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=4126.4 rss_after_mib=4122.0 released_mib=4.4
2026-05-05T20:39:18.937396Z INFO property_map_server: Place data loaded places=3474
2026-05-05T20:39:18.937402Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-05T20:39:18.937408Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-05T20:39:18.941770Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-05T20:39:26.140975Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-05T20:39:26.473568Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11447.6 rss_after_mib=11254.5 released_mib=193.1
2026-05-05T20:39:26.473580Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-05T20:39:26.617605Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-05T20:39:26.617660Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-05T20:39:26.617873Z INFO property_map_server: PMTiles loaded successfully
2026-05-05T20:39:26.653830Z INFO property_map_server: No --dist provided; static serving disabled
2026-05-05T20:39:26.686045Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-05T20:39:26.686192Z INFO property_map_server: Precomputed features response groups=8
2026-05-05T20:39:26.686204Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-05T20:39:26.757278Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-05T20:39:26.761298Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-05T20:39:26.764562Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-05T20:39:27.748071Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-05T20:39:27.751679Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-05T20:39:27.751719Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-05T20:39:27.751733Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-05T20:39:27.772813Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-05T20:39:27.799320Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-05T20:39:27.832201Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-05T20:39:27.867005Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-05T20:39:27.867037Z INFO property_map_server: Travel time store loaded modes=4
2026-05-05T20:39:27.867087Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-05T20:39:36.145596Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-05T20:39:36.145637Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-05T20:39:37.720439Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:39:40.441224Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:39:40.445545Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:39:46.211784Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:39:47.968849Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:39:47.973017Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:39:48.012625Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:39:48.034683Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2
2026-05-05T20:39:48.063899Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0
2026-05-05T20:39:48.082024Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T20:39:48.201962Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=1174 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.6
2026-05-05T20:39:48.410301Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4
2026-05-05T20:39:48.572984Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.5 json_ms=0.1 total_ms=8.7
2026-05-05T20:39:49.471243Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=17.4
2026-05-05T20:39:53.342378Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:39:53.343920Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:39:53.759709Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=13468814 parallel=true cells_before_filter=3467 cells_after_filter=3467 truncated=false bounds=49.9814,-5.4684,53.9373,4.0086 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.5 agg_ms=85.2 json_ms=4.2 total_ms=90.0
2026-05-05T20:40:00.305377Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.1 json_ms=1.5 total_ms=8.6
2026-05-05T20:40:01.330245Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.7
2026-05-05T20:40:03.257260Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.7 json_ms=0.1 total_ms=4.8
2026-05-05T20:40:03.273665Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.1
2026-05-05T20:41:33.464400Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:41:34.747954Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:41:34.749312Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:41:34.786207Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:41:34.807144Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T20:41:34.830409Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8
2026-05-05T20:41:34.857464Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T20:41:34.935971Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=1174 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.8
2026-05-05T20:41:34.966503Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4
2026-05-05T20:41:35.210245Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.7 json_ms=0.2 total_ms=7.9
2026-05-05T20:41:35.695737Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.1
2026-05-05T20:41:44.868000Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.1 total_ms=0.9
2026-05-05T20:41:47.198981Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.0 json_ms=1.4 total_ms=8.5
2026-05-05T20:41:48.273559Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.1 total_ms=3.9
2026-05-05T20:41:50.570241Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.8 json_ms=0.1 total_ms=3.9
2026-05-05T20:41:51.134505Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.6
2026-05-05T20:43:34.114927Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:43:35.462078Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:43:35.462541Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:43:35.496579Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:43:35.517244Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T20:43:35.538119Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7
2026-05-05T20:43:35.633174Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH
2026-05-05T20:43:35.853896Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=1174 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.7
2026-05-05T20:43:36.217205Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T20:43:36.531910Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.1 total_ms=4.1
2026-05-05T20:43:36.782049Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=17.8
2026-05-05T20:43:49.198806Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.1 json_ms=1.7 total_ms=8.8
2026-05-05T20:43:50.001311Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.6 json_ms=0.1 total_ms=4.7
2026-05-05T20:43:52.235941Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.6 json_ms=0.1 total_ms=3.6
2026-05-05T20:43:52.257013Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.1
2026-05-05T20:44:56.732497Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:44:58.104479Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:44:58.106284Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:44:58.140156Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:44:58.185565Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6
2026-05-05T20:44:58.486391Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.7 json_ms=0.1 total_ms=5.9
2026-05-05T20:44:58.768317Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.5
2026-05-05T20:45:10.161552Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.2 json_ms=1.8 total_ms=7.0
2026-05-05T20:45:10.742652Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.4 json_ms=0.2 total_ms=3.6
2026-05-05T20:45:12.042594Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.4 json_ms=0.1 total_ms=4.5
2026-05-05T20:45:12.360920Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.7
2026-05-05T20:45:20.513490Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:45:20.514592Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:45:38.164870Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:45:38.165108Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:45:48.850361Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:45:48.850364Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:45:50.615785Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:45:50.617519Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:46:08.870191Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:46:08.870382Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:46:16.379064Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:46:16.391549Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:46:19.273006Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH
2026-05-05T20:46:19.277992Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ
2026-05-05T20:46:19.283474Z INFO property_map_server::routes::postcodes: GET /api/postcode/M12WD postcode=M1 2WD
2026-05-05T20:46:19.293985Z INFO property_map_server::routes::postcodes: GET /api/postcode/M11AD postcode=M1 1AD
2026-05-05T20:46:19.299419Z INFO property_map_server::routes::postcodes: GET /api/postcode/M11BE postcode=M1 1BE
2026-05-05T20:46:19.305773Z INFO property_map_server::routes::postcodes: GET /api/postcode/M15AN postcode=M1 5AN
2026-05-05T20:46:33.155489Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:46:33.157032Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:46:33.699067Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.4 json_ms=0.1 total_ms=0.5
2026-05-05T20:47:01.745796Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1
2026-05-05T20:47:01.991956Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.5
2026-05-05T20:47:03.441256Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.2
2026-05-05T20:47:05.321446Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=135 truncated=false bounds=51.4982,-0.1461,51.5316,-0.1121 filters=1 filters_raw="Last known price:50000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.1 total_ms=1.5
2026-05-05T20:47:05.919540Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=48449 parallel=false cells_before_filter=208 cells_after_filter=140 truncated=false bounds=51.4950,-0.1464,51.5284,-0.1124 filters=1 filters_raw="Last known price:50000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.1 json_ms=0.1 total_ms=2.3
2026-05-05T20:47:06.162508Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=48449 filters=1 travel=0 total=48449 filters_raw="Last known price:50000:inf" ms=1.0
2026-05-05T20:47:09.021261Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3532003 filters=1 travel=0 total=3532003 filters_raw="Last known price:50000:inf" ms=75.3
2026-05-05T20:47:10.062217Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.2
2026-05-05T20:47:10.214522Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:47:10.214545Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:47:10.265155Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:47:10.266659Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:47:10.269656Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:47:10.273309Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:47:10.292973Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:47:10.294323Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:47:10.296209Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:47:10.301769Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:47:10.956290Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3505423 filters=1 travel=0 total=3505423 filters_raw="Last known price:50000:inf" ms=76.4
2026-05-05T20:47:11.758366Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.1 total_ms=1.5
2026-05-05T20:47:12.007086Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.8
2026-05-05T20:47:14.431180Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1111087 filters=1 travel=0 total=1111087 filters_raw="Last known price:50000:inf" ms=22.1
2026-05-05T20:47:15.260825Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.0
2026-05-05T20:47:15.503046Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.5
2026-05-05T20:47:17.182404Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1556813 filters=1 travel=0 total=1556813 filters_raw="Last known price:50000:inf" ms=34.0
2026-05-05T20:47:17.952563Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.1
2026-05-05T20:47:18.196782Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.6
2026-05-05T20:47:21.182961Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2659834 filters=1 travel=0 total=2659834 filters_raw="Last known price:50000:inf" ms=55.2
2026-05-05T20:47:21.714485Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2
2026-05-05T20:47:21.889936Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.0
2026-05-05T20:47:22.134581Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.5
2026-05-05T20:47:39.070257Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2
2026-05-05T20:47:39.095437Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=106 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T20:47:39.120901Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M1 2WD total_count=0 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2
2026-05-05T20:47:39.143918Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M1 1AD total_count=0 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3
2026-05-05T20:47:39.166365Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M1 1BE total_count=0 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2
2026-05-05T20:47:39.189238Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M1 5AN total_count=0 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2
2026-05-05T20:48:01.809204Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:48:03.358254Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:48:03.358256Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:48:03.393689Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ
2026-05-05T20:48:03.435494Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4
2026-05-05T20:48:03.708372Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.3 json_ms=0.1 total_ms=4.5
2026-05-05T20:48:03.957244Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.3
2026-05-05T20:48:22.767298Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.3 json_ms=1.9 total_ms=9.3
2026-05-05T20:48:25.288249Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.3 json_ms=0.1 total_ms=4.4
2026-05-05T20:48:25.579976Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.1 total_ms=3.8
2026-05-05T20:48:26.338381Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=28.2
2026-05-05T20:48:32.506261Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.2
2026-05-05T20:48:32.683790Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.7
2026-05-05T20:49:57.174556Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:49:58.444599Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:49:58.445755Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:49:58.477614Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ
2026-05-05T20:49:58.503185Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4
2026-05-05T20:49:58.503335Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=144 filters=0 filters_raw="-" ms=0.3
2026-05-05T20:49:58.519716Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ
2026-05-05T20:49:58.609568Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.5
2026-05-05T20:49:58.799574Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.6
2026-05-05T20:49:58.990774Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7
2026-05-05T20:49:59.616535Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=1 travel=1 total=41544 filters_raw="-" ms=11.8
2026-05-05T20:50:07.510186Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7
2026-05-05T20:50:07.534949Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4
2026-05-05T20:50:07.536000Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5
2026-05-05T20:50:07.805472Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.9 json_ms=0.2 total_ms=5.1
2026-05-05T20:50:08.102791Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.1
2026-05-05T20:50:08.303474Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.8
2026-05-05T20:50:12.620618Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.3 json_ms=2.2 total_ms=9.5
2026-05-05T20:50:14.256694Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.1 total_ms=3.3
2026-05-05T20:50:14.926171Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.6
2026-05-05T20:50:15.465345Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.9
2026-05-05T20:51:56.715512Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:51:56.718014Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:51:56.741872Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:51:56.741892Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:51:56.754797Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:51:56.755822Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:51:56.773866Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:51:56.774340Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:51:56.801397Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:51:56.801401Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T20:51:57.419234Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3505423 filters=1 travel=0 total=3505423 filters_raw="Last known price:50000:inf" ms=72.8
2026-05-05T20:52:49.670382Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1
2026-05-05T20:52:49.957141Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.5
2026-05-05T20:59:53.444348Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T20:59:53.446477Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:00:34.150386Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:00:34.150401Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:01:04.924830Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:01:04.926092Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:02:56.023555Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:02:56.023597Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:07:04.060822Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:07:04.068482Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:08:01.247230Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:08:01.248481Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:10:55.306607Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:10:55.308692Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:11:14.893184Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:11:14.894432Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:11:22.046936Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:11:22.048448Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:12:44.554900Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:12:44.555250Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:12:50.081172Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:12:50.086239Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:12:55.688136Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:12:55.688336Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:13:00.263721Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:13:00.265488Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:13:14.350161Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:13:14.350162Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:14:38.161598Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:14:38.170474Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:17:44.133125Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:17:44.134291Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:18:45.734735Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:18:45.736753Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:25:16.862913Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:25:16.863277Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:25:53.105489Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=11318 parallel=false cells_before_filter=380 cells_after_filter=363 truncated=false bounds=50.9954,-1.3207,51.0982,-1.0405 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.3 json_ms=0.2 total_ms=0.5
2026-05-05T21:26:06.464998Z INFO property_map_server::routes::features: GET /api/features
2026-05-05T21:26:06.465961Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11
2026-05-05T21:26:06.773040Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=11318 parallel=false cells_before_filter=380 cells_after_filter=363 truncated=false bounds=50.9954,-1.3207,51.0982,-1.0405 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.3 json_ms=0.3 total_ms=0.6
2026-05-05T21:26:08.686005Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=291392 parallel=true cells_before_filter=2485 cells_after_filter=2481 truncated=false bounds=50.8884,-1.6525,51.2556,-0.6513 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.8 json_ms=1.6 total_ms=5.3