namespace FrameworkDAL.DTO.DiagnosticsCenter; public class DiagnosticsDashboardDTO { public int TotalRequests24h { get; set; } public int ErrorCount24h { get; set; } public int SlowTransactionCount24h { get; set; } public double ErrorRate24hPct { get; set; } public int AvgDurationMs { get; set; } public int P95DurationMs { get; set; } public int ActiveDiagnosticSessions { get; set; } public DateTime GeneratedAt { get; set; } = DateTime.UtcNow; } public class SlowTransactionDTO { public long ObservabilityId { get; set; } public string? TraceContext { get; set; } public string ServiceName { get; set; } = string.Empty; public string OperationName { get; set; } = string.Empty; public int DurationMs { get; set; } public int StatusCode { get; set; } public int? UserId { get; set; } public string? SessionId { get; set; } public DateTime CreatedOn { get; set; } } public class ErrorSummaryDTO { public long ObservabilityId { get; set; } public string? TraceContext { get; set; } public string ServiceName { get; set; } = string.Empty; public string OperationName { get; set; } = string.Empty; public int StatusCode { get; set; } public string? ErrorType { get; set; } public int DurationMs { get; set; } public int? UserId { get; set; } public DateTime CreatedOn { get; set; } } public class WorkflowDiagnosticsDTO { public int EventLogId { get; set; } public string EventText { get; set; } = string.Empty; public string EventTypeCode { get; set; } = string.Empty; public string EventTypeName { get; set; } = string.Empty; public int? UserId { get; set; } public string? UserName { get; set; } public int SourceId { get; set; } public DateTime Timestamp { get; set; } } public class IntegrationDiagnosticsDTO { public int EventLogId { get; set; } public string EventText { get; set; } = string.Empty; public string EventTypeCode { get; set; } = string.Empty; public string MachineIp { get; set; } = string.Empty; public string? Tags { get; set; } public DateTime Timestamp { get; set; } } public class ModuleHealthDTO { public string ServiceName { get; set; } = string.Empty; public int TotalRequests { get; set; } public int ErrorCount { get; set; } public double ErrorRatePct { get; set; } public int AvgDurationMs { get; set; } public int MaxDurationMs { get; set; } public int SlowCount { get; set; } public DateTime? LastSeenAt { get; set; } }