diff --git a/application_events.json b/application_events.json index 023e394..20c9784 100644 --- a/application_events.json +++ b/application_events.json @@ -18953,8 +18953,2388 @@ "read_time_avg": 0.026402544975280762, "csv_write_time_avg": 0.0 } + }, + { + "timestamp": "2025-08-27T14:49:35.133497", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.02403450012207, + "points_saved": 20, + "points_rate": 1.995204625418682, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.8, + "cpu_max": 0.8, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025570476055145265, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T14:49:45.155772", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.022327899932861, + "points_saved": 20, + "points_rate": 1.9955443685028484, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.6, + "cpu_max": 0.6, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028057539463043214, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T14:49:55.179223", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.023451089859009, + "points_saved": 20, + "points_rate": 1.9953207553668346, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.6, + "cpu_max": 0.6, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.027949750423431396, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T14:50:05.202029", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023313522338867, + "points_saved": 20, + "points_rate": 1.9953481406549025, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026148605346679687, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T14:50:15.225174", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.023144721984863, + "points_saved": 20, + "points_rate": 1.9953817444271562, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02678910493850708, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:06:33.624144", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-27T15:06:33.672380", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 4, + "streaming_count": 4, + "prefix": "dar" + } + }, + { + "timestamp": "2025-08-27T15:06:33.699104", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-27T15:06:43.672014", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.057987689971924, + "points_saved": 20, + "points_rate": 1.808647338080983, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026798939704895018, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:06:53.699640", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.027626514434814, + "points_saved": 20, + "points_rate": 1.9944899195447605, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.6, + "cpu_max": 0.6, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02522658109664917, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:07:03.726401", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 21 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.026761054992676, + "points_saved": 21, + "points_rate": 2.094395177547725, + "variables_saved": 84, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024271034059070405, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:07:13.773495", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 4.2% CPU", + "details": { + "duration": 10.047093152999878, + "points_saved": 20, + "points_rate": 1.990625516797201, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 4.2, + "cpu_max": 4.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028888654708862305, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:07:23.795212", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU", + "details": { + "duration": 10.02104902267456, + "points_saved": 20, + "points_rate": 1.9957990380793602, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.4, + "cpu_max": 1.4, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024882829189300536, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:07:33.824133", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.028575658798218, + "points_saved": 20, + "points_rate": 1.9943011530708954, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.029143381118774413, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:07:43.875351", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 2.2% CPU", + "details": { + "duration": 10.052231550216675, + "points_saved": 20, + "points_rate": 1.9896079691448116, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 2.2, + "cpu_max": 2.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024781298637390137, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:07:53.898482", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.023131608963013, + "points_saved": 20, + "points_rate": 1.9953843549370682, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02981560230255127, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:08:03.924236", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.025753259658813, + "points_saved": 20, + "points_rate": 1.9948625786029588, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025269877910614014, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:08:13.948794", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.024558544158936, + "points_saved": 20, + "points_rate": 1.995100324059009, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02397199869155884, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:08:23.973722", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.024928092956543, + "points_saved": 20, + "points_rate": 1.995026778700975, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02874119281768799, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:08:33.996132", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU", + "details": { + "duration": 10.022409439086914, + "points_saved": 20, + "points_rate": 1.995528133384869, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.1, + "cpu_max": 1.1, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024657702445983885, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:08:44.021157", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.025024890899658, + "points_saved": 20, + "points_rate": 1.9950075154581661, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02971208095550537, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:08:54.043451", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.022294282913208, + "points_saved": 20, + "points_rate": 1.9955510620055894, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.027078080177307128, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:09:04.065072", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.021109342575073, + "points_saved": 20, + "points_rate": 1.995787024798664, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.8, + "cpu_max": 0.8, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.022002828121185303, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:09:14.087895", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023334503173828, + "points_saved": 20, + "points_rate": 1.9953439639939305, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.029079413414001463, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:09:24.114356", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.026461362838745, + "points_saved": 20, + "points_rate": 1.9947216945478254, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024749946594238282, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:09:34.137486", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.0231294631958, + "points_saved": 20, + "points_rate": 1.9953847821120678, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02273242473602295, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:09:44.165590", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.028104543685913, + "points_saved": 20, + "points_rate": 1.994394844297149, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024642312526702882, + "csv_write_time_avg": 3.421306610107422e-06 + } + }, + { + "timestamp": "2025-08-27T15:09:54.190348", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.024758338928223, + "points_saved": 20, + "points_rate": 1.9950605614437447, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026121139526367188, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:10:04.216134", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025277137756348, + "points_saved": 20, + "points_rate": 1.994957318903205, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02644164562225342, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:10:14.249961", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.034335613250732, + "points_saved": 20, + "points_rate": 1.9931563753547588, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026321375370025636, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:10:24.284220", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.033751010894775, + "points_saved": 20, + "points_rate": 1.9932725038007963, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02688354253768921, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:10:34.309443", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025214433670044, + "points_saved": 20, + "points_rate": 1.9949697966388908, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023868250846862792, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:10:44.347858", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.038930892944336, + "points_saved": 20, + "points_rate": 1.9922440161488315, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028551459312438965, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:10:54.372275", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023905992507935, + "points_saved": 20, + "points_rate": 1.9952302041687537, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.03089655637741089, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:11:04.396952", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02463984489441, + "points_saved": 20, + "points_rate": 1.995084143615003, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.027144181728363036, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:11:14.419119", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02271580696106, + "points_saved": 20, + "points_rate": 1.995467135375567, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.020598900318145753, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:11:24.446316", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 21 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.027196884155273, + "points_saved": 21, + "points_rate": 2.0943041452774978, + "variables_saved": 84, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.027384485517229353, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:11:34.469740", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.023423910140991, + "points_saved": 20, + "points_rate": 1.9953261659187551, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025499415397644044, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:11:44.494377", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.024637699127197, + "points_saved": 20, + "points_rate": 1.9950845706614728, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026474416255950928, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:11:54.528034", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03365683555603, + "points_saved": 20, + "points_rate": 1.9932912125444113, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026587414741516113, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:12:04.550652", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022618055343628, + "points_saved": 20, + "points_rate": 1.995486597370321, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023180508613586427, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:12:14.576000", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025347709655762, + "points_saved": 20, + "points_rate": 1.994943275706767, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02847098112106323, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:12:24.598734", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02273416519165, + "points_saved": 20, + "points_rate": 1.9954634803603581, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.031283462047576906, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:12:34.628640", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU", + "details": { + "duration": 10.029340505599976, + "points_saved": 20, + "points_rate": 1.9941490658167218, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.4, + "cpu_max": 1.4, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02421267032623291, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:12:44.656565", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.028489828109741, + "points_saved": 20, + "points_rate": 1.9943182216668587, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023713338375091552, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:12:54.682764", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024571895599365, + "points_saved": 20, + "points_rate": 1.9950976668419822, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025693118572235107, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:13:04.720822", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.039179801940918, + "points_saved": 20, + "points_rate": 1.9921946209324106, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024150645732879637, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:13:14.748849", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.028024911880493, + "points_saved": 20, + "points_rate": 1.9944106816393543, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0239848256111145, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:13:24.773786", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.024935960769653, + "points_saved": 20, + "points_rate": 1.9950252129555273, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.6, + "cpu_max": 0.6, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026514315605163576, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:13:34.815066", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.041788578033447, + "points_saved": 20, + "points_rate": 1.9916770647562008, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023736989498138426, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:13:44.850110", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.035044431686401, + "points_saved": 20, + "points_rate": 1.993015590130175, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028630220890045167, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:13:54.874232", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.02361273765564, + "points_saved": 20, + "points_rate": 1.9952885774273912, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.8, + "cpu_max": 0.8, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025355350971221925, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:14:04.922555", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.048831939697266, + "points_saved": 20, + "points_rate": 1.9902810714737187, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.03468964099884033, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:14:14.956038", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.033483028411865, + "points_saved": 20, + "points_rate": 1.99332574175547, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028179609775543214, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:14:25.007971", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.051425695419312, + "points_saved": 20, + "points_rate": 1.989767482349743, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0276547908782959, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:14:35.037939", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.030474662780762, + "points_saved": 20, + "points_rate": 1.9939235851133064, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026714527606964113, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:14:45.063336", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.025397777557373, + "points_saved": 20, + "points_rate": 1.994933312748103, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024655604362487794, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:14:55.087526", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023627519607544, + "points_saved": 20, + "points_rate": 1.995285634953748, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02457190752029419, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:15:05.123064", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.035494804382324, + "points_saved": 20, + "points_rate": 1.9929261476241662, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028480637073516845, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:15:15.154294", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 21 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031835317611694, + "points_saved": 21, + "points_rate": 2.0933357989970998, + "variables_saved": 84, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0250136171068464, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:15:25.196564", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 3.4% CPU", + "details": { + "duration": 10.042269945144653, + "points_saved": 20, + "points_rate": 1.9915815955206242, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 3.4, + "cpu_max": 3.4, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02014247179031372, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:15:35.223566", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.025969982147217, + "points_saved": 20, + "points_rate": 1.9948194574303613, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.8, + "cpu_max": 0.8, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025622236728668212, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:15:45.251168", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.028634548187256, + "points_saved": 20, + "points_rate": 1.994289442286551, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028824901580810545, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:15:55.305631", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.054462194442749, + "points_saved": 20, + "points_rate": 1.98916656239001, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.035363638401031496, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:16:05.330018", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.6% CPU", + "details": { + "duration": 10.023370265960693, + "points_saved": 20, + "points_rate": 1.995336844725759, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.6, + "cpu_max": 1.6, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026263868808746337, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:16:15.374162", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.045161485671997, + "points_saved": 20, + "points_rate": 1.9910083106704828, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.8, + "cpu_max": 0.8, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02356867790222168, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:16:25.398652", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU", + "details": { + "duration": 10.024489879608154, + "points_saved": 20, + "points_rate": 1.9951139898583823, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.1, + "cpu_max": 1.1, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02409214973449707, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:16:35.427392", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.028229236602783, + "points_saved": 20, + "points_rate": 1.9943700456108946, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02413519620895386, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:16:45.455910", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.028470277786255, + "points_saved": 20, + "points_rate": 1.9943221095545711, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026181674003601073, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:16:55.479018", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.023666858673096, + "points_saved": 20, + "points_rate": 1.9952778042193975, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02514638900756836, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:17:05.522482", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.042948484420776, + "points_saved": 20, + "points_rate": 1.9914470367965342, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025307631492614745, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:17:15.545565", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023598432540894, + "points_saved": 20, + "points_rate": 1.9952914249907931, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02509833574295044, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:17:25.569601", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.024035215377808, + "points_saved": 20, + "points_rate": 1.995204483052706, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.029249954223632812, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:17:35.593570", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.023968935012817, + "points_saved": 20, + "points_rate": 1.9952176757194255, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.6, + "cpu_max": 0.6, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.029088163375854494, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:17:45.631938", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 3.7% CPU", + "details": { + "duration": 10.037860870361328, + "points_saved": 20, + "points_rate": 1.992456386704239, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 3.7, + "cpu_max": 3.7, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02586233615875244, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:17:55.662610", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031179428100586, + "points_saved": 20, + "points_rate": 1.9937834970804644, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026895833015441895, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:18:05.700027", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03741717338562, + "points_saved": 20, + "points_rate": 1.9925444618392802, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023110949993133546, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:18:15.723253", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.2% CPU", + "details": { + "duration": 10.023226261138916, + "points_saved": 20, + "points_rate": 1.9953655119551743, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.2, + "cpu_max": 1.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.027384495735168456, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:18:25.749450", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.025590419769287, + "points_saved": 20, + "points_rate": 1.9948949800065987, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.027164626121520995, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:18:35.779081", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.029717922210693, + "points_saved": 20, + "points_rate": 1.9940740263203447, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025970566272735595, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:18:45.806781", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.028219223022461, + "points_saved": 20, + "points_rate": 1.9943720370696172, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.029678332805633544, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:18:55.843213", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU", + "details": { + "duration": 10.035926103591919, + "points_saved": 20, + "points_rate": 1.9928405005734227, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.9, + "cpu_max": 0.9, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02531416416168213, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:19:05.871944", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 21 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.029237031936646, + "points_saved": 21, + "points_rate": 2.0938781218480087, + "variables_saved": 84, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02664284479050409, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:19:15.895968", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.024023532867432, + "points_saved": 20, + "points_rate": 1.9952068083661891, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.6, + "cpu_max": 0.6, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.020287525653839112, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:19:25.926591", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU", + "details": { + "duration": 10.030623435974121, + "points_saved": 20, + "points_rate": 1.993894011440148, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.1, + "cpu_max": 1.1, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.03037022352218628, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:19:35.959072", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.032480955123901, + "points_saved": 20, + "points_rate": 1.9935248409104007, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025505471229553222, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:19:45.985725", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU", + "details": { + "duration": 10.026145935058594, + "points_saved": 20, + "points_rate": 1.9947844495326625, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.4, + "cpu_max": 1.4, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024900293350219725, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:19:56.009366", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.024147987365723, + "points_saved": 20, + "points_rate": 1.9951820369379705, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.022092926502227783, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:20:06.032941", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.0235755443573, + "points_saved": 20, + "points_rate": 1.995295981109142, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.6, + "cpu_max": 0.6, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.022144198417663574, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:20:16.056949", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02400803565979, + "points_saved": 20, + "points_rate": 1.9952098929740714, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02761298418045044, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:20:26.082905", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025955438613892, + "points_saved": 20, + "points_rate": 1.994822351092061, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02713407278060913, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:20:36.110342", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027437686920166, + "points_saved": 20, + "points_rate": 1.9945274779506321, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0237723708152771, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:20:46.134140", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023797512054443, + "points_saved": 20, + "points_rate": 1.9952517971306134, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026035165786743163, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:20:56.178782", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.044641494750977, + "points_saved": 20, + "points_rate": 1.9911113811728762, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026703262329101564, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:21:06.212329", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.033547401428223, + "points_saved": 20, + "points_rate": 1.9933129530192986, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02584419250488281, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:21:16.251953", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03909969329834, + "points_saved": 20, + "points_rate": 1.9922105179761407, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.029123461246490477, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:21:26.275823", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024394273757935, + "points_saved": 20, + "points_rate": 1.9951330178977906, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02895604372024536, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:21:36.305719", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02989649772644, + "points_saved": 20, + "points_rate": 1.994038523182524, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028444111347198486, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:21:46.329778", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02405834197998, + "points_saved": 20, + "points_rate": 1.995199879897102, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02451927661895752, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:21:56.368535", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.038756847381592, + "points_saved": 20, + "points_rate": 1.9922785564047802, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025378155708312988, + "csv_write_time_avg": 2.7060508728027343e-06 + } + }, + { + "timestamp": "2025-08-27T15:22:06.394027", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025492429733276, + "points_saved": 20, + "points_rate": 1.9949144782838453, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02676330804824829, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:22:16.420690", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.026663303375244, + "points_saved": 20, + "points_rate": 1.994681520149127, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023904526233673097, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:22:26.445601", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024910926818848, + "points_saved": 20, + "points_rate": 1.9950301948813918, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.03167833089828491, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:22:36.470505", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024359941482544, + "points_saved": 20, + "points_rate": 1.9951398509980196, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.030326533317565917, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-27T15:22:46.499237", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.028734922409058, + "points_saved": 20, + "points_rate": 1.994269482116862, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02520352602005005, + "csv_write_time_avg": 0.0 + } } ], - "last_updated": "2025-08-27T14:49:25.108902", - "total_entries": 861 + "last_updated": "2025-08-27T15:22:46.499237", + "total_entries": 966 } \ No newline at end of file diff --git a/frontend/src/components/PlotHistoricalSession.jsx b/frontend/src/components/PlotHistoricalSession.jsx index 207cc9a..82f7058 100644 --- a/frontend/src/components/PlotHistoricalSession.jsx +++ b/frontend/src/components/PlotHistoricalSession.jsx @@ -633,13 +633,6 @@ export default function PlotHistoricalSession({ dataSegments={dataSegments} onTimeChange={handleTimePointChange} /> - - - Range: {timeRangeSeconds}s - {t('timeSelector.from')}: {formatCentralTimeInfo().start} - {t('timeSelector.to')}: {formatCentralTimeInfo().end} - - )} @@ -913,6 +906,7 @@ export default function PlotHistoricalSession({ stepMinutes={1} dataSegments={dataSegments} onTimeChange={handleTimePointChange} + isFullscreen={true} /> )} diff --git a/frontend/src/components/TimePointSelector.jsx b/frontend/src/components/TimePointSelector.jsx index f70572b..181b124 100644 --- a/frontend/src/components/TimePointSelector.jsx +++ b/frontend/src/components/TimePointSelector.jsx @@ -1,7 +1,29 @@ import { useMemo, useState, useCallback, useRef, useEffect } from "react"; import { useTranslation } from 'react-i18next'; -import { Box, Flex, Text, Slider, SliderTrack, SliderFilledTrack, SliderThumb, Button, IconButton, useColorModeValue, NumberInput, NumberInputField, NumberInputStepper, NumberIncrementStepper, NumberDecrementStepper } from "@chakra-ui/react"; -import { CheckIcon } from "@chakra-ui/icons"; +import { + Box, + Flex, + Text, + Slider, + SliderTrack, + SliderFilledTrack, + SliderThumb, + Button, + IconButton, + useColorModeValue, + NumberInput, + NumberInputField, + NumberInputStepper, + NumberIncrementStepper, + NumberDecrementStepper, + Popover, + PopoverTrigger, + PopoverContent, + PopoverBody, + PopoverArrow, + HStack +} from "@chakra-ui/react"; +import { CheckIcon, CalendarIcon } from "@chakra-ui/icons"; import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; import DataAvailabilityBar from "./DataAvailabilityBar.jsx"; @@ -14,6 +36,7 @@ export default function TimePointSelector({ stepMinutes = 5, dataSegments = [], onTimeChange, + isFullscreen = false, // NEW: Enable ultra-compact mode for fullscreen }) { const { t } = useTranslation(); // Color mode values @@ -162,211 +185,417 @@ export default function TimePointSelector({ }; return ( - - - - {t('timeSelector.selectDateTime')} + + {/* Compact header with date picker and controls */} + {!isFullscreen && ( + + {/* Compact Date/Time Picker */} + + + + + + + + + + + + + + + {/* Apply button when there are pending changes */} + {hasPendingChanges && ( + + )} + + )} + + {/* Time navigation slider with data availability */} + + + {/* Data availability bar positioned above slider track */} - + + + + + + + + - - {t('timeSelector.navigateSlider')} - - {/* Slider with integrated data availability */} - - {/* Data availability bar positioned above slider track */} - - - - - - - - - - - - - - - {new Date(sliderValue).toLocaleString('en-US', { - day: '2-digit', - month: '2-digit', - year: 'numeric', - hour: '2-digit', - minute: '2-digit', - hour12: false - })} + {/* Compact footer with editable range and status */} + + {/* Editable Range Display */} + + + Range: + + onRangeChange(isNaN(valueNumber) ? 1000 : valueNumber)} + min={60} + max={86400} + size="xs" + width={isFullscreen ? "50px" : "60px"} + > + + + s + + + {/* Ultra-compact controls for fullscreen */} + {isFullscreen ? ( + + {/* Minimal date picker button for fullscreen */} + + + } + title="Select date and time" + /> + + + + + + + + + + + {hasPendingChanges && ( + + )} + + ) : ( + /* Normal mode - Step info and pending changes status */ + + + Step: {stepMinutes} min {hasPendingChanges && ( - + {t('timeSelector.pendingChanges')} )} - - - {/* Range and Apply Controls */} - - - - {t('timeSelector.timeRangeSeconds')} - - onRangeChange(isNaN(valueNumber) ? 1000 : valueNumber)} - min={60} - max={86400} - size="sm" - width="120px" - > - - - - - - - - - {hasPendingChanges && ( - - - {t('timeSelector.pendingChanges')} - - - - )} - - + + )} - - - Range: {minDate.toLocaleString('en-US', { - day: '2-digit', - month: '2-digit', - year: 'numeric', - hour: '2-digit', - minute: '2-digit', - hour12: false - })} → {maxDate.toLocaleString('en-US', { - day: '2-digit', - month: '2-digit', - year: 'numeric', - hour: '2-digit', - minute: '2-digit', - hour12: false - })} | Step: {stepMinutes} min - ); } diff --git a/system_state.json b/system_state.json index 68c63f4..c785f93 100644 --- a/system_state.json +++ b/system_state.json @@ -7,6 +7,5 @@ ] }, "auto_recovery_enabled": true, - "last_update": "2025-08-27T12:48:41.182586", - "plotjuggler_path": "C:\\Program Files\\PlotJuggler\\plotjuggler.exe" + "last_update": "2025-08-27T15:19:56.923648" } \ No newline at end of file