aprs.me/lib/aprsme_web
Graham McIntire 24796f98d4
Optimize prod: scale deployment, drop expensive metric queries, fix slow callsign and nearby-stations queries
- k8s: 2 replicas, POOL_SIZE 25, cpu 2000m, mem 1Gi (was 1 replica, 5, 500m, 512Mi)
- telemetry poller 10s -> 60s; drop pg_database_size, pg_stat_statements,
  pg_table_size and pg_indexes_size (these were ~7100s of cumulative DB time
  on their own)
- get_latest_packet_for_callsign: bound by :packet_retention_days so partition
  pruning kicks in
- get_nearby_stations_knn: ST_DWithin spatial pre-filter (default 500km) so
  the GiST geography index cuts candidates before DISTINCT ON sort
  (EXPLAIN: 5793ms -> 400ms)
- New migration: partial functional indexes on upper(object_name) and
  upper(item_name), built per-partition CONCURRENTLY then attached to parent.
  Lets get_latest_packet_for_callsign use BitmapOr across all 3 upper()
  indexes instead of falling back to a scan
2026-05-12 17:48:58 -05:00
..
channels refactor: dedupe utilities, prefer pattern matching, tighten specs 2026-04-28 14:18:58 -05:00
components refactor: pattern-match CoreComponents.safe_row_id + CallsignController 2026-04-23 14:18:30 -05:00
controllers refactor: pattern-match CoreComponents.safe_row_id + CallsignController 2026-04-23 14:18:30 -05:00
live Remove dead code: round_coordinate non-float heads, unreachable get_nearby_stations branch, redundant pattern-match guards 2026-05-08 17:49:23 -05:00
plugs Speed up the slowest tests 2026-05-09 10:56:03 -05:00
aprs_symbol.ex refactor: dedupe utilities, prefer pattern matching, tighten specs 2026-04-28 14:18:58 -05:00
endpoint.ex fix: performance improvements and bug fixes across backend and frontend 2026-03-19 12:41:36 -05:00
gettext.ex more languages 2025-07-06 10:08:58 -05:00
router.ex Add PromEx Prometheus exporter and /metrics endpoint 2026-05-08 10:41:06 -05:00
telemetry.ex Optimize prod: scale deployment, drop expensive metric queries, fix slow callsign and nearby-stations queries 2026-05-12 17:48:58 -05:00
time_helpers.ex refactor: pattern-match in TimeHelpers.to_datetime and PageController 2026-04-23 13:58:42 -05:00
time_utils.ex improve dialyzer 2025-10-13 10:02:15 -05:00
user_auth.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
weather_units.ex Refactor conditionals to use multi-clause pattern matching 2026-02-10 17:15:49 -06:00