aboutsummaryrefslogtreecommitdiff
path: root/internal/monitor
Commit message (Collapse)AuthorAgeFilesLines
* feat: Add SSE streaming for instant page load and real-time updatesFuwn2026-01-281-10/+19
| | | | | | | | | | | New refresh_mode 'stream' eliminates blocking database queries from initial page load. Page renders instantly with skeleton UI, then hydrates via SSE. - Add SSE hub for managing client connections and broadcasting - Add /api/stream endpoint with init and update events - Add stream.html skeleton template with loading animations - Wire scheduler to broadcast on check completion - Backwards compatible: page/api modes unchanged
* feat: Add database maintenance with backup/reset modes and triggersFuwn2026-01-231-2/+31
|
* feat: Use composite group/name key for monitor identificationFuwn2026-01-209-152/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously monitors were identified by just their name, causing monitors with the same name in different groups to share data in the database. Changes: - Add ID() method to MonitorConfig returning 'group/name' format - Add Group field to MonitorConfig (set at runtime) - Update Monitor interface with ID() and Group() methods - Update all monitor implementations (http, tcp, dns, icmp, gemini, graphql, database) to use composite ID - Update Scheduler to use monitor ID instead of name - Update server handlers to use composite ID for stats lookups - Change API routes to use {group}/{name} pattern: - /api/monitor/{group}/{name} - /api/history/{group}/{name} - /api/uptime/{group}/{name} - /api/badge/{group}/{name}.svg - URL-encode group and name components to handle special characters (e.g., slashes in names become %2F) - Update config.UpdateResetFlag to accept group and name separately BREAKING: API endpoints now require group in the path. Existing database data using just monitor names won't be associated with the new composite keys.
* feat: Add database connection monitoring typeFuwn2026-01-202-1/+532
|
* feat: Add ICMP, DNS, and GraphQL monitor typesFuwn2026-01-194-1/+651
| | | | | | | | | | | | | | | | | | Add three new monitor types with full support: - ICMP: Ping monitoring with configurable packet count, tracks packet loss and average RTT. Marks degraded on partial packet loss. - DNS: DNS resolution monitoring supporting A, AAAA, CNAME, MX, and TXT records. Optional custom DNS server and validation of expected IPs/CNAME. - GraphQL: GraphQL endpoint monitoring with query execution, variable support, error detection, and content validation. All new monitors include retry support, response time tracking, and integrate with existing display options (round_response_time, etc). GraphQL monitors also support SSL certificate tracking.
* feat: Add configurable user_agent to bypass bot detectionFuwn2026-01-191-1/+7
|
* feat: Add round_uptime option to round uptime percentagesFuwn2026-01-194-0/+24
|
* feat: Add group defaults, content checking, SSL tracking for Gemini, ↵Fuwn2026-01-194-57/+142
| | | | hide/round options
* feat: Add reset_on_next_check flag to wipe monitor historyFuwn2026-01-191-11/+42
|
* feat: Add Gemini protocol supportFuwn2026-01-192-0/+219
|
* feat: Add retry option for monitor checksFuwn2026-01-194-1/+47
|
* feat: Initial commitFuwn2026-01-174-0/+539