PyForge è in vendita solo qui, sul sito ufficiale py-forge.com — diffida delle imitazioni.

Torna al catalogo
QuerySentry CLIAI & Automation

QuerySentry CLI

#python#automation#microsaas

Riduci drasticamente i costi di monitoraggio del DB con QuerySentry CLI. Questa micro-utility in Go senza dipendenze sostituisce SaaS da $300/mese per PostgreSQL e MySQL. Rileva automaticamente gli indici mancanti, interrompe in sicurezza le query lente fuori controllo e previene i picchi di CPU con un overhead quasi nullo. Offre una TUI live, report di audit in Markdown e avvisi istantanei su Slack/Discord.

Leggi l'approfondimento tecnicoBasta SaaS da $300/mese per il DB: Note dal Campo su QuerySentry CLI
main.pymain.py — estratto d'esempio nello stile del tool
#!/usr/bin/env python3
"""
QuerySentry CLI - Zero-dependency database monitoring and query safety tool.

Replaces expensive SaaS tools by providing continuous PostgreSQL and MySQL
monitoring, missing index detection, automated rogue query termination,
and instant multi-channel alerting with near-zero runtime overhead.

Features:
- Automated missing index detection for PostgreSQL and MySQL
- Threshold-based rogue query killing with safe query validation
- Live TUI dashboard for real-time connection and query metrics
- Markdown audit reports generation for compliance and performance
- Webhook alerts targeting Slack and Discord notification channels

Usage:
    $ python main.py monitor --db-uri "postgres://user:pass@localhost:5432/db"
    $ python main.py daemon --config ./sentry.json
"""
from dataclasses import dataclass
from enum import Enum
import logging
import sys
from typing import Dict, List, Optional

logger = logging.getLogger("querysentry")


class DatabaseEngine(Enum):
    """Supported target database engines."""
    POSTGRESQL = "postgresql"
    MYSQL = "mysql"


@dataclass(frozen=True)
class QueryMetric:
    """Snapshot of an active database query execution state."""
    pid: int
    duration_sec: float
    query_text: str
    user: str
    engine: DatabaseEngine
    is_blocked: bool = False


class QuerySentry:
    """Core engine for database metric harvesting and query safety enforcement."""

    def __init__(self, db_uri: str, timeout: float = 30.0) -> None:
        self.db_uri = db_uri


# ... the full file ships with your download