fix: settings thresholds show correct per-config metrics; misc hbc fixes

Settings page: pass threshold_checker to http.start so the Threshold
Configurations section has data. Use threshold_checker's already-parsed
ThresholdConfig objects instead of re-parsing the raw nested YAML.
Named (non-default) configs now display only their explicit overrides
via threshold_raw_configs, not the full merged set with defaults.

hbc/hbc_mini: send boot and shutdown messages on first connection only
to avoid duplicate packets when multiple servers are configured.
Replace print("Daemonizing...") with logging.info so output goes to
syslog in daemon mode.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-04 09:12:39 -04:00
parent 3a546a1e5c
commit c93dbdc0f4
5 changed files with 38 additions and 39 deletions
+3 -1
View File
@@ -474,6 +474,7 @@ async def cleanup(connections: List[AsyncConnection]):
logger.error(f"Error sending shutdown: {e}")
conn.close()
break # Only send shutdown on first connection to avoid duplicates
# Give messages time to send
await asyncio.sleep(0.5)
@@ -540,6 +541,7 @@ async def async_main(args, config):
boot_msg["acks"] = 0
for conn in connections:
await conn.sendto(boot_msg)
break # Only send message on first connection to avoid duplicates
if args.message and not args.daemon:
# Message-only mode
@@ -739,7 +741,7 @@ def main(argv=None):
# Daemonize if requested
if args.daemon:
print("Daemonizing...")
logging.info("Daemonizing...")
daemonize()
_reconfigure_logging_for_daemon(log_level)
logging.info(f"hbc starting, sending heartbeat to {', '.join(args.hosts)}")