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 */}
+
+
+ }
+ title="Select date and time"
+ >
+ 📅 {value.toLocaleString('en-US', {
+ day: '2-digit',
+ month: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit',
+ hour12: false
+ })}
+
+
+
+
+
+
+
+
+
+
+
+
+ {/* Apply button when there are pending changes */}
+ {hasPendingChanges && (
+ }
+ onClick={applyPendingChanges}
+ >
+ {t('timeSelector.applyChanges')}
+
+ )}
+
+ )}
+
+ {/* 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 && (
+ }
+ onClick={applyPendingChanges}
+ >
+ Apply
+
+ )}
+
+ ) : (
+ /* 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')}
-
- }
- onClick={applyPendingChanges}
- >
- {t('timeSelector.applyChanges')}
-
-
- )}
-
-
+
+ )}
-
-
- 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