Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>QuantFlow-X Elite 2.0 Dashboard</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <script> | |
| tailwind.config = { | |
| theme: { | |
| extend: { | |
| colors: { | |
| primary: '#0f172a', | |
| secondary: '#1e293b', | |
| accent: '#3b82f6', | |
| success: '#10b981', | |
| warning: '#f59e0b', | |
| danger: '#ef4444', | |
| info: '#0ea5e9' | |
| } | |
| } | |
| } | |
| } | |
| </script> | |
| <style> | |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); | |
| body { | |
| font-family: 'Inter', sans-serif; | |
| background-color: #0f172a; | |
| color: #e2e8f0; | |
| } | |
| .dashboard-card { | |
| background: linear-gradient(145deg, #1e293b, #0f172a); | |
| border-radius: 12px; | |
| box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.25), 0 8px 10px -6px rgba(0, 0, 0, 0.25); | |
| transition: all 0.3s ease; | |
| } | |
| .dashboard-card:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 15px 10px -6px rgba(0, 0, 0, 0.2); | |
| } | |
| .progress-bar { | |
| height: 8px; | |
| border-radius: 4px; | |
| overflow: hidden; | |
| } | |
| .progress-fill { | |
| height: 100%; | |
| border-radius: 4px; | |
| } | |
| .metric-value { | |
| font-size: 2.5rem; | |
| font-weight: 700; | |
| background: linear-gradient(to right, #3b82f6, #0ea5e9); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| .phase-indicator { | |
| position: relative; | |
| padding-left: 20px; | |
| } | |
| .phase-indicator:before { | |
| content: ''; | |
| position: absolute; | |
| left: 0; | |
| top: 50%; | |
| transform: translateY(-50%); | |
| width: 12px; | |
| height: 12px; | |
| border-radius: 50%; | |
| background-color: #3b82f6; | |
| } | |
| .phase-indicator.completed:before { | |
| background-color: #10b981; | |
| } | |
| .phase-indicator.in-progress:before { | |
| background-color: #f59e0b; | |
| } | |
| .phase-indicator.pending:before { | |
| background-color: #64748b; | |
| } | |
| .task-card { | |
| border-left: 4px solid #3b82f6; | |
| } | |
| .task-card.completed { | |
| border-left-color: #10b981; | |
| } | |
| .task-card.in-progress { | |
| border-left-color: #f59e0b; | |
| } | |
| .task-card.pending { | |
| border-left-color: #64748b; | |
| } | |
| .glow { | |
| box-shadow: 0 0 15px rgba(59, 130, 246, 0.5); | |
| } | |
| .pulse { | |
| animation: pulse 2s infinite; | |
| } | |
| @keyframes pulse { | |
| 0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4); } | |
| 70% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); } | |
| 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); } | |
| } | |
| .status-indicator { | |
| display: inline-block; | |
| width: 12px; | |
| height: 12px; | |
| border-radius: 50%; | |
| margin-right: 8px; | |
| } | |
| .status-indicator.online { | |
| background-color: #10b981; | |
| } | |
| .status-indicator.offline { | |
| background-color: #ef4444; | |
| } | |
| .status-indicator.warning { | |
| background-color: #f59e0b; | |
| } | |
| .chart-container { | |
| height: 200px; | |
| position: relative; | |
| } | |
| </style> | |
| </head> | |
| <body class="min-h-screen"> | |
| <!-- Header --> | |
| <header class="bg-gradient-to-r from-primary to-secondary py-6 px-4 md:px-8 shadow-lg"> | |
| <div class="container mx-auto flex flex-col md:flex-row justify-between items-center"> | |
| <div class="flex items-center mb-4 md:mb-0"> | |
| <div class="bg-accent p-3 rounded-xl mr-4"> | |
| <i class="fas fa-brain text-2xl"></i> | |
| </div> | |
| <div> | |
| <h1 class="text-2xl md:text-3xl font-bold">QuantFlow-X Elite 2.0</h1> | |
| <p class="text-blue-300">Tareas Refactorizadas de Máxima Eficiencia</p> | |
| </div> | |
| </div> | |
| <div class="flex items-center space-x-4"> | |
| <div class="text-right"> | |
| <p class="text-sm text-gray-400">Last Update</p> | |
| <p class="font-semibold">2023-07-20 14:32:45</p> | |
| </div> | |
| <div class="bg-secondary p-2 rounded-lg"> | |
| <i class="fas fa-sync-alt text-accent"></i> | |
| </div> | |
| </div> | |
| </div> | |
| </header> | |
| <!-- Main Content --> | |
| <main class="container mx-auto py-8 px-4"> | |
| <!-- System Overview --> | |
| <section class="mb-12"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h2 class="text-2xl font-bold">System Overview</h2> | |
| <div class="flex items-center"> | |
| <span class="status-indicator online"></span> | |
| <span>All Systems Operational</span> | |
| </div> | |
| </div> | |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6"> | |
| <!-- Performance Metric --> | |
| <div class="dashboard-card p-6"> | |
| <div class="flex justify-between items-start"> | |
| <div> | |
| <p class="text-gray-400">Latency (P95)</p> | |
| <div class="metric-value">18ms</div> | |
| <p class="text-success mt-2"><i class="fas fa-arrow-down mr-1"></i> 2ms from target</p> | |
| </div> | |
| <div class="bg-blue-500/20 p-3 rounded-lg"> | |
| <i class="fas fa-tachometer-alt text-accent text-xl"></i> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Throughput Metric --> | |
| <div class="dashboard-card p-6"> | |
| <div class="flex justify-between items-start"> | |
| <div> | |
| <p class="text-gray-400">Throughput</p> | |
| <div class="metric-value">5,247</div> | |
| <p class="text-gray-400 mt-2">ops/sec</p> | |
| </div> | |
| <div class="bg-green-500/20 p-3 rounded-lg"> | |
| <i class="fas fa-bolt text-success text-xl"></i> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Uptime Metric --> | |
| <div class="dashboard-card p-6"> | |
| <div class="flex justify-between items-start"> | |
| <div> | |
| <p class="text-gray-400">System Uptime</p> | |
| <div class="metric-value">99.9%</div> | |
| <p class="text-success mt-2"><i class="fas fa-check-circle mr-1"></i> Within SLA</p> | |
| </div> | |
| <div class="bg-purple-500/20 p-3 rounded-lg"> | |
| <i class="fas fa-server text-purple-400 text-xl"></i> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Tasks Completed --> | |
| <div class="dashboard-card p-6"> | |
| <div class="flex justify-between items-start"> | |
| <div> | |
| <p class="text-gray-400">Tasks Completed</p> | |
| <div class="metric-value">21/21</div> | |
| <p class="text-success mt-2"><i class="fas fa-check-circle mr-1"></i> 100% Completion</p> | |
| </div> | |
| <div class="bg-yellow-500/20 p-3 rounded-lg"> | |
| <i class="fas fa-tasks text-warning text-xl"></i> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Progress Overview --> | |
| <section class="mb-12"> | |
| <h2 class="text-2xl font-bold mb-6">Project Progress</h2> | |
| <div class="dashboard-card p-6 mb-6"> | |
| <div class="flex justify-between mb-4"> | |
| <h3 class="text-lg font-semibold">Overall Progress</h3> | |
| <span class="font-bold">100%</span> | |
| </div> | |
| <div class="progress-bar bg-gray-700"> | |
| <div class="progress-fill bg-success" style="width: 100%"></div> | |
| </div> | |
| </div> | |
| <div class="grid grid-cols-1 lg:grid-cols-2 gap-6"> | |
| <!-- Phases Progress --> | |
| <div class="dashboard-card p-6"> | |
| <h3 class="text-lg font-semibold mb-4">Phases Overview</h3> | |
| <div class="space-y-4"> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="phase-indicator completed">Núcleo Cuántico-Neural</span> | |
| <span>100%</span> | |
| </div> | |
| <div class="progress-bar bg-gray-700"> | |
| <div class="progress-fill bg-success" style="width: 100%"></div> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="phase-indicator completed">MCP Ecosystem Integration</span> | |
| <span>100%</span> | |
| </div> | |
| <div class="progress-bar bg-gray-700"> | |
| <div class="progress-fill bg-success" style="width: 100%"></div> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="phase-indicator completed">Data Lake & Feature Store</span> | |
| <span>100%</span> | |
| </div> | |
| <div class="progress-bar bg-gray-700"> | |
| <div class="progress-fill bg-success" style="width: 100%"></div> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="phase-indicator completed">Testing & Validation</span> | |
| <span>100%</span> | |
| </div> | |
| <div class="progress-bar bg-gray-700"> | |
| <div class="progress-fill bg-success" style="width: 100%"></div> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="phase-indicator completed">Deployment & Monitoring</span> | |
| <span>100%</span> | |
| </div> | |
| <div class="progress-bar bg-gray-700"> | |
| <div class="progress-fill bg-success" style="width: 100%"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Key Metrics --> | |
| <div class="dashboard-card p-6"> | |
| <h3 class="text-lg font-semibold mb-4">Key Metrics</h3> | |
| <div class="space-y-4"> | |
| <div class="flex justify-between items-center p-3 bg-gray-800 rounded-lg"> | |
| <div class="flex items-center"> | |
| <div class="bg-blue-500/20 p-2 rounded-lg mr-3"> | |
| <i class="fas fa-microchip text-accent"></i> | |
| </div> | |
| <div> | |
| <p class="font-medium">Neural Architectures</p> | |
| <p class="text-sm text-gray-400">Operational</p> | |
| </div> | |
| </div> | |
| <span class="text-xl font-bold">19</span> | |
| </div> | |
| <div class="flex justify-between items-center p-3 bg-gray-800 rounded-lg"> | |
| <div class="flex items-center"> | |
| <div class="bg-green-500/20 p-2 rounded-lg mr-3"> | |
| <i class="fas fa-database text-success"></i> | |
| </div> | |
| <div> | |
| <p class="font-medium">MCP Servers</p> | |
| <p class="text-sm text-gray-400">Active</p> | |
| </div> | |
| </div> | |
| <span class="text-xl font-bold">25</span> | |
| </div> | |
| <div class="flex justify-between items-center p-3 bg-gray-800 rounded-lg"> | |
| <div class="flex items-center"> | |
| <div class="bg-purple-500/20 p-2 rounded-lg mr-3"> | |
| <i class="fas fa-chart-line text-purple-400"></i> | |
| </div> | |
| <div> | |
| <p class="font-medium">Symbols Tracked</p> | |
| <p class="text-sm text-gray-400">OHLCV Data</p> | |
| </div> | |
| </div> | |
| <span class="text-xl font-bold">15</span> | |
| </div> | |
| <div class="flex justify-between items-center p-3 bg-gray-800 rounded-lg"> | |
| <div class="flex items-center"> | |
| <div class="bg-yellow-500/20 p-2 rounded-lg mr-3"> | |
| <i class="fas fa-code text-warning"></i> | |
| </div> | |
| <div> | |
| <p class="font-medium">Tasks Completed</p> | |
| <p class="text-sm text-gray-400">Atomic Sub-tasks</p> | |
| </div> | |
| </div> | |
| <span class="text-xl font-bold">47</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Task Breakdown --> | |
| <section class="mb-12"> | |
| <h2 class="text-2xl font-bold mb-6">Task Breakdown</h2> | |
| <div class="grid grid-cols-1 lg:grid-cols-2 gap-6"> | |
| <!-- Phase I Tasks --> | |
| <div class="dashboard-card p-6"> | |
| <h3 class="text-lg font-semibold mb-4">Phase I: Quantum-Neural Core</h3> | |
| <div class="space-y-4"> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-01.1: Quantum Ensemble Manager</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Quantum Ensemble Manager for Multi-Architectures</p> | |
| </div> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-01.2: Meta-Learning Adaptativo</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Adaptive Meta-Learning for Auto-Selection</p> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Phase II Tasks --> | |
| <div class="dashboard-card p-6"> | |
| <h3 class="text-lg font-semibold mb-4">Phase II: MCP Ecosystem Integration</h3> | |
| <div class="space-y-4"> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-20.A.1: PostgreSQL MCP Server</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement PostgreSQL MCP Server Configuration</p> | |
| </div> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-20.A.2: Automated Installation Scripts</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Automated MCP Ecosystem Installation Scripts</p> | |
| </div> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-20.B.1: Auto-Healing System</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Auto-Healing System for MCP Servers</p> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Phase III Tasks --> | |
| <div class="dashboard-card p-6"> | |
| <h3 class="text-lg font-semibold mb-4">Phase III: Data Lake & Feature Store</h3> | |
| <div class="space-y-4"> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-21.A.1: PostgreSQL Schema</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Create PostgreSQL Schema for ohlcv_timeframes</p> | |
| </div> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-21.A.2: Mass Data Ingestion</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Mass Data Ingestion Script</p> | |
| </div> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-21.B.1: Dataset Registry</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Dataset Registry for Unified Catalog</p> | |
| </div> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-21.C.1: Feature Store</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Feature Store with Redis Cache</p> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Phase IV & V Tasks --> | |
| <div class="dashboard-card p-6"> | |
| <h3 class="text-lg font-semibold mb-4">Phases IV-V: Testing & Deployment</h3> | |
| <div class="space-y-4"> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-14.1: E2E Signal-to-Trade Testing</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement End-to-End Signal-to-Trade Testing Suite</p> | |
| </div> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-14.2: Sub-Millisecond Performance Tests</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Sub-Millisecond Performance Tests</p> | |
| </div> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-15.1: Smart Anaconda Deployment Scripts</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Smart Anaconda Deployment Scripts</p> | |
| </div> | |
| <div class="task-card completed p-4 rounded-lg"> | |
| <div class="flex justify-between"> | |
| <h4 class="font-medium">MCP-16.1: Unified Dashboard with AI</h4> | |
| <span class="text-success"><i class="fas fa-check-circle"></i></span> | |
| </div> | |
| <p class="text-sm text-gray-400 mt-2">Implement Unified Dashboard with AI Predictive Capabilities</p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- System Health --> | |
| <section class="mb-12"> | |
| <h2 class="text-2xl font-bold mb-6">System Health</h2> | |
| <div class="grid grid-cols-1 lg:grid-cols-3 gap-6"> | |
| <!-- MCP Servers Status --> | |
| <div class="dashboard-card p-6"> | |
| <h3 class="text-lg font-semibold mb-4">MCP Servers</h3> | |
| <div class="space-y-3"> | |
| <div class="flex justify-between items-center"> | |
| <div class="flex items-center"> | |
| <span class="status-indicator online"></span> | |
| <span>PostgreSQL MCP Server</span> | |
| </div> | |
| <span class="text-sm">Online</span> | |
| </div> | |
| <div class="flex justify-between items-center"> | |
| <div class="flex items-center"> | |
| <span class="status-indicator online"></span> | |
| <span>Redis Cache Server</span> | |
| </div> | |
| <span class="text-sm">Online</span> | |
| </div> | |
| <div class="flex justify-between items-center"> | |
| <div class="flex items-center"> | |
| <span class="status-indicator online"></span> | |
| <span>Neural Factory Server</span> | |
| </div> | |
| <span class="text-sm">Online</span> | |
| </div> | |
| <div class="flex justify-between items-center"> | |
| <div class="flex items-center"> | |
| <span class="status-indicator online"></span> | |
| <span>Meta-Learning Server</span> | |
| </div> | |
| <span class="text-sm">Online</span> | |
| </div> | |
| <div class="flex justify-between items-center"> | |
| <div class="flex items-center"> | |
| <span class="status-indicator warning"></span> | |
| <span>RAG Server</span> | |
| </div> | |
| <span class="text-sm text-warning">Initializing</span> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Performance Chart --> | |
| <div class="dashboard-card p-6"> | |
| <h3 class="text-lg font-semibold mb-4">Performance Metrics</h3> | |
| <div class="chart-container"> | |
| <canvas id="performanceChart"></canvas> | |
| </div> | |
| <div class="flex justify-between mt-4 text-sm"> | |
| <span>Latency (ms)</span> | |
| <span>Throughput (ops/sec)</span> | |
| </div> | |
| </div> | |
| <!-- Recent Activity --> | |
| <div class="dashboard-card p-6"> | |
| <h3 class="text-lg font-semibold mb-4">Recent Activity</h3> | |
| <div class="space-y-4"> | |
| <div class="flex"> | |
| <div class="mr-3"> | |
| <div class="bg-green-500/20 p-2 rounded-full"> | |
| <i class="fas fa-check text-success"></i> | |
| </div> | |
| </div> | |
| <div> | |
| <p class="font-medium">MCP-16.1 Dashboard Deployed</p> | |
| <p class="text-sm text-gray-400">Unified dashboard with AI predictions is now live</p> | |
| <p class="text-xs text-gray-500 mt-1">2 minutes ago</p> | |
| </div> | |
| </div> | |
| <div class="flex"> | |
| <div class="mr-3"> | |
| <div class="bg-blue-500/20 p-2 rounded-full"> | |
| <i class="fas fa-sync text-accent"></i> | |
| </div> | |
| </div> | |
| <div> | |
| <p class="font-medium">System Health Check</p> | |
| <p class="text-sm text-gray-400">All 25 MCP servers are operational</p> | |
| <p class="text-xs text-gray-500 mt-1">15 minutes ago</p> | |
| </div> | |
| </div> | |
| <div class="flex"> | |
| <div class="mr-3"> | |
| <div class="bg-yellow-500/20 p-2 rounded-full"> | |
| <i class="fas fa-exclamation-triangle text-warning"></i> | |
| </div> | |
| </div> | |
| <div> | |
| <p class="font-medium">RAG Server Initializing</p> | |
| <p class="text-sm text-gray-400">Document processing in progress</p> | |
| <p class="text-xs text-gray-500 mt-1">1 hour ago</p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| </main> | |
| <!-- Footer --> | |
| <footer class="bg-secondary py-6 px-4 border-t border-gray-800"> | |
| <div class="container mx-auto text-center"> | |
| <p class="text-gray-500">QuantFlow-X Elite 2.0 - Tareas Refactorizadas de Máxima Eficiencia</p> | |
| <p class="text-gray-600 text-sm mt-2">Generated by the Meta-Refactorizador de QuantFlow-X Elite 2.0 - Versión de Máxima Eficiencia</p> | |
| </div> | |
| </footer> | |
| <script> | |
| // Simple chart simulation | |
| document.addEventListener('DOMContentLoaded', function() { | |
| const canvas = document.getElementById('performanceChart'); | |
| const ctx = canvas.getContext('2d'); | |
| // Set canvas dimensions | |
| canvas.width = canvas.offsetWidth; | |
| canvas.height = canvas.offsetHeight; | |
| // Draw simple chart | |
| ctx.beginPath(); | |
| ctx.moveTo(0, 150); | |
| // Simulate latency data points | |
| const latencyPoints = [150, 140, 130, 125, 135, 120, 110, 115, 105, 100]; | |
| const width = canvas.width / (latencyPoints.length - 1); | |
| for (let i = 0; i < latencyPoints.length; i++) { | |
| ctx.lineTo(i * width, latencyPoints[i]); | |
| } | |
| ctx.strokeStyle = '#3b82f6'; | |
| ctx.lineWidth = 2; | |
| ctx.stroke(); | |
| // Draw throughput data | |
| ctx.beginPath(); | |
| ctx.moveTo(0, 180); | |
| const throughputPoints = [180, 170, 160, 155, 165, 150, 140, 145, 135, 130]; | |
| for (let i = 0; i < throughputPoints.length; i++) { | |
| ctx.lineTo(i * width, throughputPoints[i]); | |
| } | |
| ctx.strokeStyle = '#10b981'; | |
| ctx.lineWidth = 2; | |
| ctx.stroke(); | |
| // Draw grid lines | |
| ctx.strokeStyle = '#334155'; | |
| ctx.lineWidth = 1; | |
| // Vertical grid lines | |
| for (let i = 1; i < 5; i++) { | |
| ctx.beginPath(); | |
| ctx.moveTo(i * canvas.width / 5, 0); | |
| ctx.lineTo(i * canvas.width / 5, canvas.height); | |
| ctx.stroke(); | |
| } | |
| // Horizontal grid lines | |
| for (let i = 1; i < 4; i++) { | |
| ctx.beginPath(); | |
| ctx.moveTo(0, i * canvas.height / 4); | |
| ctx.lineTo(canvas.width, i * canvas.height / 4); | |
| ctx.stroke(); | |
| } | |
| }); | |
| </script> | |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=jsonet/quantflow-x" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
| </html> |