aprs.me/lib/aprsme_web/controllers
Graham McIntire 234fc2010f
Implement critical performance optimizations and error handling
This commit introduces several major performance improvements and adds
robust error handling for malformed HTTP requests:

Performance Optimizations:
- Add database migration with BRIN indexes for time-series data and partial
  indexes for recent queries, significantly improving query performance
- Create global StreamingPacketsPubSub system for real-time packet distribution
  with geographic bounds filtering using ETS for fast lookups
- Refactor PacketConsumer to use Stream module for memory-efficient processing,
  preventing memory accumulation during batch operations
- Implement dedicated BroadcastTaskSupervisor pool for async broadcast operations,
  preventing GenServer blocking on I/O
- Increase database connection pool from 25 to 45 (production) and 15 to 30 (dev)
  for better concurrency support

Error Handling:
- Add SentryFilter to prevent Bandit.HTTPError from missing Host headers from
  cluttering Sentry (common with bots/scanners)
- Configure custom 400 Bad Request error handling
- Filter out common bot/scanner paths from error reporting

All changes include comprehensive test coverage following TDD practices.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-18 18:19:49 -05:00
..
api/v1 dont parse device identifiers on each insert 2025-07-10 15:16:01 -05:00
page_html refactor to use external parser 2025-06-24 14:22:09 -05:00
error_html.ex Implement critical performance optimizations and error handling 2025-07-18 18:19:49 -05:00
error_json.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
info_controller.ex weather fixing 2025-06-25 11:40:04 -05:00
page_controller.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
page_html.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
redirect_controller.ex integrate /:call to main page 2025-07-13 10:36:58 -05:00
user_session_controller.ex refactor to use external parser 2025-06-24 14:22:09 -05:00