UNPKG

ng-upgrade-orchestrator

Version:

Enterprise-grade Angular Multi-Version Upgrade Orchestrator with automatic npm installation, comprehensive dependency management, and seamless integration of all 9 official Angular migrations. Safely migrate Angular applications across multiple major vers

253 lines 7.24 kB
import { EventEmitter } from 'events'; import { ProgressReporter } from '../utils/ProgressReporter'; /** * Enterprise-grade monitoring and alerting system for Angular upgrades * Provides real-time monitoring, automated alerting, and comprehensive dashboards */ export declare class EnterpriseMonitoringSystem extends EventEmitter { private config; private progressReporter; private metrics; private alerts; private dashboards; constructor(config: MonitoringConfig, progressReporter?: ProgressReporter); /** * Setup comprehensive monitoring for an upgrade process */ setupUpgradeMonitoring(upgradeId: string, config: UpgradeMonitoringConfig): Promise<MonitoringSession>; /** * Monitor upgrade health with real-time metrics */ monitorUpgradeHealth(upgradeId: string): Promise<HealthStatus>; /** * Setup automated alerting with enterprise integrations */ setupEnterpriseAlerting(config: AlertingConfig): Promise<void>; /** * Create comprehensive monitoring dashboard */ createUpgradeDashboard(session: MonitoringSession): Promise<Dashboard>; /** * Monitor performance metrics with SLA validation */ monitorPerformanceMetrics(upgradeId: string): Promise<PerformanceMetrics>; /** * Monitor user experience metrics */ monitorUserExperience(upgradeId: string): Promise<UserExperienceMetrics>; /** * Setup automated incident response */ setupAutomatedIncidentResponse(config: IncidentResponseConfig): Promise<void>; /** * Generate comprehensive monitoring report */ generateMonitoringReport(upgradeId: string, timeRange: TimeRange): Promise<MonitoringReport>; private initializeMonitoring; private initializeMetricsCollection; private setupAlertRules; private startRealTimeMonitoring; private measureResponseTime; private measureThroughput; private measureErrorRate; private measureCPUUsage; private measureMemoryUsage; private measureDiskIO; private measureNetworkIO; private measurePageLoadTime; private measureBundleSize; private measureFCP; private measureLCP; private measureCLS; private measureFID; private measureClickThroughRate; private measureBounceRate; private measureSessionDuration; private measurePageViews; private trackJavaScriptErrors; private trackConsoleErrors; private trackNetworkErrors; private calculateUserSatisfactionScore; private calculateOverallHealth; private assessPerformanceHealth; private detectErrorPatterns; private assessUserExperience; private assessInfrastructureHealth; private assessBusinessMetrics; private generateHealthRecommendations; private getMonitoringSession; private collectCurrentMetrics; private checkCriticalAlerts; private setupSlackAlerting; private setupTeamsAlerting; private setupPagerDutyAlerting; private setupServiceNowAlerting; private setupEmailAlerting; private createOverviewSection; private createPerformanceSection; private createErrorSection; private createUserExperienceSection; private createInfrastructureSection; private createBusinessMetricsSection; private validateSLAs; private checkPerformanceAlerts; private checkUserExperienceAlerts; private setupMetricsCollectors; private setupAlertProcessors; private setupDashboardEngine; private setupPerformanceMetrics; private setupErrorMetrics; private setupUserExperienceMetrics; private setupBusinessMetrics; private setupPerformanceAlerts; private setupErrorAlerts; private setupUXAlerts; private defineIncidentTriggers; private setupAutomatedRollback; private setupEscalationProcedures; private setupAutomatedRemediation; private generateExecutiveSummary; private generatePerformanceAnalysis; private generateErrorAnalysis; private generateUserExperienceAnalysis; private generateSLAComplianceReport; private generateIncidentSummary; private generateRecommendations; private generateMetricsTrends; } export interface MonitoringConfig { realTimeMetrics: boolean; alertingEnabled: boolean; dashboardEnabled: boolean; retentionPeriod: number; } export interface UpgradeMonitoringConfig { metrics: { performance?: { enabled: boolean; }; errors?: { enabled: boolean; }; userExperience?: { enabled: boolean; }; business?: { enabled: boolean; }; }; alerting: { performance?: { enabled: boolean; }; errors?: { enabled: boolean; }; userExperience?: { enabled: boolean; }; }; monitoringInterval?: number; } export interface MonitoringSession { upgradeId: string; startTime: Date; config: UpgradeMonitoringConfig; metrics: Map<string, any>; alerts: Alert[]; status: 'active' | 'paused' | 'stopped'; monitoringInterval?: NodeJS.Timeout; } export interface HealthStatus { overall: HealthScore; performance: HealthScore; errors: ErrorPattern[]; userExperience: HealthScore; infrastructure: HealthScore; businessMetrics: HealthScore; timestamp: Date; recommendations: string[]; } export interface PerformanceMetrics { responseTime: number; requestsPerSecond: number; errorRate: number; cpuUsage: number; memoryUsage: number; diskIO: number; networkIO: number; pageLoadTime: number; bundleSize: number; firstContentfulPaint: number; largestContentfulPaint: number; cumulativeLayoutShift: number; timestamp: Date; slaCompliance?: SLAValidation; } export interface UserExperienceMetrics { coreWebVitals: { lcp: number; fid: number; cls: number; }; clickThroughRate: number; bounceRate: number; sessionDuration: number; pageViews: number; javascriptErrors: number; consoleErrors: number; networkErrors: number; userSatisfactionScore: number; timestamp: Date; } interface AlertingConfig { slack?: any; teams?: any; pagerDuty?: any; serviceNow?: any; email?: any; } interface IncidentResponseConfig { autoRollback?: any; escalation: any; autoRemediation?: any; } interface TimeRange { start: Date; end: Date; } interface MonitoringReport { upgradeId: string; timeRange: TimeRange; generatedAt: Date; executiveSummary: any; performanceAnalysis: any; errorAnalysis: any; userExperienceAnalysis: any; slaComplianceReport: any; incidentSummary: any; recommendations: any; metricsTrends: any; } interface Dashboard { id: string; title: string; sections: DashboardSection[]; refreshInterval: number; created: Date; } interface DashboardSection { } interface Alert { } interface HealthScore { score: number; status: string; } interface ErrorPattern { } interface SLAValidation { compliant: boolean; } export {}; //# sourceMappingURL=EnterpriseMonitoringSystem.d.ts.map