Agentic-Reliability-Framework-API / monitoring_models.py
petter2025's picture
Create monitoring_models.py
cf788e2 verified
raw
history blame
855 Bytes
from pydantic import BaseModel, Field
from typing import Dict, List, Optional, Any
from datetime import datetime
from enum import Enum
class DataSourceType(Enum):
PROMETHEUS = "prometheus"
DATADOG = "datadog"
CUSTOM_METRICS = "custom_metrics"
SIMULATED = "simulated"
class MetricQuery(BaseModel):
name: str
query: str
data_source: DataSourceType
refresh_interval: int = 30 # seconds
class ServiceTopology(BaseModel):
service_name: str
dependencies: List[str]
critical_tier: int = Field(ge=1, le=3) # 1=critical, 2=important, 3=standard
revenue_impact_per_minute: float = 100.0
class AgentSpecialization(Enum):
DETECTIVE = "anomaly_detection"
DIAGNOSTICIAN = "root_cause_analysis"
HEALER = "remediation_orchestration"
ECONOMIST = "business_impact"
ARCHIVIST = "knowledge_management"