const zoomStartTime = 100 // Generate fake fetchList data for NETWORK const fetchList: any[] = []; for (let i = 0; i < 100; i++) { const statusOptions = [200, 200, 200, 404, 500]; // Higher chance of 200 const status = statusOptions[Math.floor(Math.random() * statusOptions.length)]; const isRed = status >= 500; const isYellow = status >= 400 && status < 500; const resource = { time: zoomStartTime + i * 1000 + Math.floor(Math.random() * 500), // Incremental time with randomness name: `https://api.example.com/resource/${i}`, status: status, isRed: isRed, isYellow: isYellow, success: status < 400, tp: Math.random() > 0.5 ? 'graph_ql' : 'fetch', // Additional properties used by your component method: 'GET', duration: Math.floor(Math.random() * 3000) + 500, // Duration between 500ms to 3.5s }; fetchList.push(resource); } // Generate fake exceptionsList data for ERRORS const exceptionsList: any[] = []; for (let i = 0; i < 50; i++) { const exception = { time: zoomStartTime + i * 2000 + Math.floor(Math.random() * 1000), message: `Error message ${i}`, errorId: `error-${i}`, type: 'ERRORS', // Additional properties if needed stackTrace: `Error at function ${i} in file${i}.js`, }; exceptionsList.push(exception); } // Generate fake eventsList data for EVENTS const eventsList: any[] = []; for (let i = 0; i < 50; i++) { const event = { time: zoomStartTime + i * 1500 + Math.floor(Math.random() * 500), name: `Custom Event ${i}`, type: 'EVENTS', // Additional properties if needed details: `Details about event ${i}`, }; eventsList.push(event); } // Generate fake performanceChartData data for PERFORMANCE const performanceChartData: any[] = []; const performanceTypes = ['SLOW_PAGE_LOAD', 'HIGH_MEMORY_USAGE']; for (let i = 0; i < 30; i++) { const performanceEvent = { time: zoomStartTime + i * 3000 + Math.floor(Math.random() * 1500), type: performanceTypes[Math.floor(Math.random() * performanceTypes.length)], // Additional properties if needed value: Math.floor(Math.random() * 1000) + 500, // Random value }; performanceChartData.push(performanceEvent); } // Generate fake frustrationsList data for FRUSTRATIONS const frustrationsList: any[] = []; const frustrationEventTypes = ['CLICK', 'INPUT', 'CLICKRAGE', 'DEAD_CLICK', 'MOUSE_THRASHING']; for (let i = 0; i < 70; i++) { const frustrationEvent = { time: zoomStartTime + i * 1200 + Math.floor(Math.random() * 600), type: frustrationEventTypes[Math.floor(Math.random() * frustrationEventTypes.length)], hesitation: Math.floor(Math.random() * 5000) + 1000, // 1s to 6s // Additional properties if needed details: `Frustration event ${i}`, }; frustrationsList.push(frustrationEvent); } export const resources = { NETWORK: fetchList.filter((r: any) => r.status >= 400 || r.isRed || r.isYellow), ERRORS: exceptionsList, EVENTS: eventsList, PERFORMANCE: performanceChartData, FRUSTRATIONS: frustrationsList, };