diff --git a/application_events.json b/application_events.json index b023024..c6ebb45 100644 --- a/application_events.json +++ b/application_events.json @@ -1,3994 +1,5 @@ { "events": [ - { - "timestamp": "2025-08-16T21:33:09.601814", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.031041383743286, - "points_saved": 30, - "points_rate": 2.9907164024484256, - "variables_saved": 60, - "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.043012348810831706, - "csv_write_time_avg": 1.7793973286946616e-05 - } - }, - { - "timestamp": "2025-08-16T21:33:19.632865", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.031050682067871, - "points_saved": 30, - "points_rate": 2.990713630191288, - "variables_saved": 60, - "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.04297090371449788, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:33:29.667197", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.034332752227783, - "points_saved": 30, - "points_rate": 2.9897354154753857, - "variables_saved": 60, - "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.043446739514668785, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:33:39.699256", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.032058477401733, - "points_saved": 30, - "points_rate": 2.9904131906306324, - "variables_saved": 60, - "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.046327821413675946, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:33:49.731207", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031951189041138, - "points_saved": 30, - "points_rate": 2.990445172098911, - "variables_saved": 60, - "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.04162104924519857, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:33:59.763594", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.032386541366577, - "points_saved": 30, - "points_rate": 2.990315402651292, - "variables_saved": 60, - "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.03854793707529704, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:34:09.794329", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.03073525428772, - "points_saved": 30, - "points_rate": 2.9908076765535463, - "variables_saved": 60, - "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.03438549041748047, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:34:19.824415", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030085802078247, - "points_saved": 30, - "points_rate": 2.9910013325891947, - "variables_saved": 60, - "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.031580209732055664, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:34:29.854441", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030025959014893, - "points_saved": 30, - "points_rate": 2.9910191780746374, - "variables_saved": 60, - "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.0372974952061971, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:34:39.885654", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031213760375977, - "points_saved": 30, - "points_rate": 2.9906650099016114, - "variables_saved": 60, - "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.03580387433369955, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:34:49.915816", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03016209602356, - "points_saved": 30, - "points_rate": 2.990978581681491, - "variables_saved": 60, - "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.037824813524882, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:34:59.947291", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.031474828720093, - "points_saved": 30, - "points_rate": 2.9905871780797435, - "variables_saved": 60, - "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.03736098607381185, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:35:09.977252", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.02996039390564, - "points_saved": 30, - "points_rate": 2.991038730145781, - "variables_saved": 60, - "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.03475240071614583, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:35:20.004727", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.027475595474243, - "points_saved": 30, - "points_rate": 2.9917799065539556, - "variables_saved": 60, - "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.037862181663513184, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:35:30.035338", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030611038208008, - "points_saved": 30, - "points_rate": 2.9908447138191065, - "variables_saved": 60, - "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.03256398836771647, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:35:40.068354", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.033016204833984, - "points_saved": 30, - "points_rate": 2.990127733028655, - "variables_saved": 60, - "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.041616113980611165, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:35:50.099665", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.031310081481934, - "points_saved": 30, - "points_rate": 2.990636293397091, - "variables_saved": 60, - "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.039952937761942545, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:36:00.131450", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031785726547241, - "points_saved": 30, - "points_rate": 2.9904944959710034, - "variables_saved": 60, - "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.040999595324198404, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:36:10.161887", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030436277389526, - "points_saved": 30, - "points_rate": 2.9908968234637605, - "variables_saved": 60, - "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.03711837927500407, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:36:20.192370", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03048324584961, - "points_saved": 30, - "points_rate": 2.990882818374013, - "variables_saved": 60, - "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.033671331405639646, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:36:30.223553", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.031183004379272, - "points_saved": 30, - "points_rate": 2.99067417939669, - "variables_saved": 60, - "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.03060011863708496, - "csv_write_time_avg": 1.7881393432617188e-06 - } - }, - { - "timestamp": "2025-08-16T21:36:40.254949", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03139615058899, - "points_saved": 30, - "points_rate": 2.9906106338187595, - "variables_saved": 60, - "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.034193015098571776, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:36:50.285695", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030746698379517, - "points_saved": 30, - "points_rate": 2.9908042643372252, - "variables_saved": 60, - "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.0365888516108195, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:37:00.317617", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.031921625137329, - "points_saved": 30, - "points_rate": 2.9904539848903897, - "variables_saved": 60, - "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.03247537612915039, - "csv_write_time_avg": 0.00010030269622802734 - } - }, - { - "timestamp": "2025-08-16T21:37:10.347799", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030181884765625, - "points_saved": 30, - "points_rate": 2.9909726807213337, - "variables_saved": 60, - "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.03991149266560872, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:37:20.378673", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030873775482178, - "points_saved": 30, - "points_rate": 2.9907663750417317, - "variables_saved": 60, - "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.03807718753814697, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:37:30.408741", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030068397521973, - "points_saved": 30, - "points_rate": 2.9910065226884988, - "variables_saved": 60, - "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.039342069625854494, - "csv_write_time_avg": 3.3346811930338543e-05 - } - }, - { - "timestamp": "2025-08-16T21:37:40.447693", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.038951396942139, - "points_saved": 31, - "points_rate": 3.087971918007551, - "variables_saved": 62, - "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.03638496706562658, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:37:50.478379", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030685901641846, - "points_saved": 29, - "points_rate": 2.8911283120981004, - "variables_saved": 58, - "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.04073623131061423, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:38:00.512035", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.03365683555603, - "points_saved": 30, - "points_rate": 2.989936818816617, - "variables_saved": 60, - "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.04550393422444662, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:38:10.543211", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.031175374984741, - "points_saved": 31, - "points_rate": 3.0903656691424515, - "variables_saved": 62, - "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.042867160612537016, - "csv_write_time_avg": 3.2263417397775955e-05 - } - }, - { - "timestamp": "2025-08-16T21:38:20.581398", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.038187503814697, - "points_saved": 30, - "points_rate": 2.9885873309897275, - "variables_saved": 60, - "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.04245303471883138, - "csv_write_time_avg": 3.331502278645833e-05 - } - }, - { - "timestamp": "2025-08-16T21:38:30.610958", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.02955937385559, - "points_saved": 30, - "points_rate": 2.9911583232860726, - "variables_saved": 60, - "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.032703463236490884, - "csv_write_time_avg": 1.8914540608723959e-06 - } - }, - { - "timestamp": "2025-08-16T21:38:40.641191", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.03023362159729, - "points_saved": 30, - "points_rate": 2.990957253019853, - "variables_saved": 60, - "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.042738572756449385, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:38:50.671869", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.03017258644104, - "points_saved": 30, - "points_rate": 2.9909754534587485, - "variables_saved": 60, - "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.030685782432556152, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:39:00.703856", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.031983852386475, - "points_saved": 30, - "points_rate": 2.9904354354461407, - "variables_saved": 60, - "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.0400478998819987, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:39:10.735975", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03262734413147, - "points_saved": 31, - "points_rate": 3.089918416847535, - "variables_saved": 62, - "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.03542235589796497, - "csv_write_time_avg": 3.2255726475869454e-05 - } - }, - { - "timestamp": "2025-08-16T21:39:20.765915", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029940366744995, - "points_saved": 30, - "points_rate": 2.99104470246575, - "variables_saved": 60, - "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.0342419703801473, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:39:30.795465", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029549837112427, - "points_saved": 30, - "points_rate": 2.9911611674724172, - "variables_saved": 60, - "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.03177268505096435, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:39:40.825738", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030272245407104, - "points_saved": 30, - "points_rate": 2.990945735669049, - "variables_saved": 60, - "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.0346372922261556, - "csv_write_time_avg": 2.0583470662434895e-06 - } - }, - { - "timestamp": "2025-08-16T21:39:50.855156", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029418706893921, - "points_saved": 30, - "points_rate": 2.9912002755831604, - "variables_saved": 60, - "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.03538943926493327, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:40:00.885553", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030396461486816, - "points_saved": 30, - "points_rate": 2.9909086959014446, - "variables_saved": 60, - "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.038483659426371254, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:40:10.917509", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.03195595741272, - "points_saved": 30, - "points_rate": 2.9904437506857953, - "variables_saved": 60, - "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.03846086661020915, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:40:20.947790", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030281782150269, - "points_saved": 30, - "points_rate": 2.990942891892382, - "variables_saved": 60, - "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.04514167308807373, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:40:30.980738", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 1 lost, 0.2% CPU", - "details": { - "duration": 10.032948017120361, - "points_saved": 29, - "points_rate": 2.890476453233287, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 1, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.24504470825195312, - "delay_max": 0.24504470825195312, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10606364546150997, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:40:41.011354", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.03061580657959, - "points_saved": 30, - "points_rate": 2.9908432920261463, - "variables_saved": 60, - "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.03814684549967448, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:40:51.044413", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.033058404922485, - "points_saved": 30, - "points_rate": 2.990115156240016, - "variables_saved": 60, - "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.03911283810933431, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:41:01.075906", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031493663787842, - "points_saved": 30, - "points_rate": 2.9905815629725625, - "variables_saved": 60, - "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.05136644045511882, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:41:11.143539", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.06688904762268, - "points_saved": 30, - "points_rate": 2.9800666182056084, - "variables_saved": 60, - "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.10576326052347819, - "csv_write_time_avg": 5.443890889485677e-06 - } - }, - { - "timestamp": "2025-08-16T21:41:21.212249", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.069453716278076, - "points_saved": 29, - "points_rate": 2.8799973481301357, - "variables_saved": 58, - "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.12313927453139732, - "csv_write_time_avg": 3.088753798912312e-05 - } - }, - { - "timestamp": "2025-08-16T21:41:31.284703", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.071805000305176, - "points_saved": 30, - "points_rate": 2.9786120758981136, - "variables_saved": 60, - "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.11152974764506023, - "csv_write_time_avg": 5.0338109334309894e-05 - } - }, - { - "timestamp": "2025-08-16T21:41:41.351241", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.066679239273071, - "points_saved": 29, - "points_rate": 2.880791104067614, - "variables_saved": 58, - "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.10139035356455836, - "csv_write_time_avg": 8.385756920123922e-06 - } - }, - { - "timestamp": "2025-08-16T21:41:51.401671", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.05093789100647, - "points_saved": 30, - "points_rate": 2.98479607826886, - "variables_saved": 60, - "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.09794263044993083, - "csv_write_time_avg": 3.170172373453776e-05 - } - }, - { - "timestamp": "2025-08-16T21:42:01.454705", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.05303406715393, - "points_saved": 30, - "points_rate": 2.9841737130900987, - "variables_saved": 60, - "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.09807960192362468, - "csv_write_time_avg": 5.030632019042969e-06 - } - }, - { - "timestamp": "2025-08-16T21:42:11.501772", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.04706621170044, - "points_saved": 29, - "points_rate": 2.8864147392825656, - "variables_saved": 58, - "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.1160898208618164, - "csv_write_time_avg": 9.355873897157866e-06 - } - }, - { - "timestamp": "2025-08-16T21:42:21.563012", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.061240434646606, - "points_saved": 30, - "points_rate": 2.98173969649834, - "variables_saved": 60, - "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.12132782936096191, - "csv_write_time_avg": 7.756551106770833e-06 - } - }, - { - "timestamp": "2025-08-16T21:42:31.622908", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.059895992279053, - "points_saved": 30, - "points_rate": 2.9821381874151514, - "variables_saved": 60, - "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.0964144786198934, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:42:41.692801", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.069170236587524, - "points_saved": 29, - "points_rate": 2.8800784293650197, - "variables_saved": 58, - "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.09677410947865453, - "csv_write_time_avg": 1.0786385371767241e-05 - } - }, - { - "timestamp": "2025-08-16T21:42:51.739604", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.047526359558105, - "points_saved": 30, - "points_rate": 2.98580953425032, - "variables_saved": 60, - "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.10383389790852865, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:43:01.786250", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.045645236968994, - "points_saved": 30, - "points_rate": 2.986368649531536, - "variables_saved": 60, - "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.12581785519917807, - "csv_write_time_avg": 1.9439061482747395e-05 - } - }, - { - "timestamp": "2025-08-16T21:43:11.859514", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.074264287948608, - "points_saved": 30, - "points_rate": 2.9778849494635216, - "variables_saved": 60, - "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.1250462055206299, - "csv_write_time_avg": 1.678466796875e-05 - } - }, - { - "timestamp": "2025-08-16T21:43:21.904119", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.044604778289795, - "points_saved": 29, - "points_rate": 2.8871220560793005, - "variables_saved": 58, - "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.10844591568256247, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:43:31.964233", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.06011414527893, - "points_saved": 30, - "points_rate": 2.982073519919113, - "variables_saved": 60, - "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.09743603070576985, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:43:42.004338", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.04010534286499, - "points_saved": 30, - "points_rate": 2.9880164575483787, - "variables_saved": 60, - "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.09750699202219645, - "csv_write_time_avg": 6.620089213053385e-06 - } - }, - { - "timestamp": "2025-08-16T21:43:52.077455", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.073116779327393, - "points_saved": 30, - "points_rate": 2.978224183955423, - "variables_saved": 60, - "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.10270035266876221, - "csv_write_time_avg": 9.655952453613281e-06 - } - }, - { - "timestamp": "2025-08-16T21:44:02.131004", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.05354928970337, - "points_saved": 30, - "points_rate": 2.984020780673484, - "variables_saved": 60, - "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.09255917072296142, - "csv_write_time_avg": 1.4138221740722656e-05 - } - }, - { - "timestamp": "2025-08-16T21:44:12.162287", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.031282186508179, - "points_saved": 30, - "points_rate": 2.9906446097538004, - "variables_saved": 60, - "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.048920909563700356, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:44:22.192408", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.030121088027954, - "points_saved": 30, - "points_rate": 2.9909908102513616, - "variables_saved": 60, - "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.043760371208190915, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:44:32.222718", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030310153961182, - "points_saved": 30, - "points_rate": 2.9909344316887716, - "variables_saved": 60, - "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.044083261489868165, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:44:42.255889", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.033170700073242, - "points_saved": 30, - "points_rate": 2.9900816897076217, - "variables_saved": 60, - "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.03775529066721598, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:44:52.286355", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030466794967651, - "points_saved": 30, - "points_rate": 2.9908877236950917, - "variables_saved": 60, - "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.03333382606506348, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:45:02.321082", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.03472638130188, - "points_saved": 30, - "points_rate": 2.9896181380590745, - "variables_saved": 60, - "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.0342656135559082, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:45:12.351300", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030218839645386, - "points_saved": 30, - "points_rate": 2.9909616609183214, - "variables_saved": 60, - "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.032149887084960936, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:45:22.383071", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.0317702293396, - "points_saved": 30, - "points_rate": 2.9904991157253535, - "variables_saved": 60, - "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.035001460711161295, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:45:32.415401", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03233027458191, - "points_saved": 29, - "points_rate": 2.890654434840021, - "variables_saved": 58, - "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.042581434907584356, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:45:42.496253", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.080851554870605, - "points_saved": 30, - "points_rate": 2.9759390698998414, - "variables_saved": 60, - "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.10159080028533936, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:45:52.538971", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.042718648910522, - "points_saved": 30, - "points_rate": 2.987238918940991, - "variables_saved": 60, - "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.09999188582102457, - "csv_write_time_avg": 2.0202000935872396e-05 - } - }, - { - "timestamp": "2025-08-16T21:46:02.603941", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.064969539642334, - "points_saved": 30, - "points_rate": 2.9806349519331055, - "variables_saved": 60, - "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.10218447844187419, - "csv_write_time_avg": 4.7763188680013025e-06 - } - }, - { - "timestamp": "2025-08-16T21:46:12.649484", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.045543193817139, - "points_saved": 29, - "points_rate": 2.886852352379412, - "variables_saved": 58, - "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.12199848273704791, - "csv_write_time_avg": 3.6445157281283674e-05 - } - }, - { - "timestamp": "2025-08-16T21:46:22.699732", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.05024790763855, - "points_saved": 30, - "points_rate": 2.985000994572375, - "variables_saved": 60, - "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.09849735895792643, - "csv_write_time_avg": 4.561742146809896e-06 - } - }, - { - "timestamp": "2025-08-16T21:46:32.753650", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.05391812324524, - "points_saved": 30, - "points_rate": 2.983911310222257, - "variables_saved": 60, - "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.10318779945373535, - "csv_write_time_avg": 1.197655995686849e-05 - } - }, - { - "timestamp": "2025-08-16T21:46:42.804453", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.050803422927856, - "points_saved": 29, - "points_rate": 2.8853414776619055, - "variables_saved": 58, - "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.11384435357718632, - "csv_write_time_avg": 7.604730540308459e-06 - } - }, - { - "timestamp": "2025-08-16T21:46:52.871444", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.066473007202148, - "points_saved": 30, - "points_rate": 2.9801897823136496, - "variables_saved": 60, - "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.11348570982615153, - "csv_write_time_avg": 1.3295809427897135e-05 - } - }, - { - "timestamp": "2025-08-16T21:47:02.918349", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.047422647476196, - "points_saved": 30, - "points_rate": 2.985840354544623, - "variables_saved": 60, - "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.10206617514292399, - "csv_write_time_avg": 2.0933151245117187e-05 - } - }, - { - "timestamp": "2025-08-16T21:47:12.954907", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.036558151245117, - "points_saved": 29, - "points_rate": 2.8894367534155436, - "variables_saved": 58, - "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.08050158106047532, - "csv_write_time_avg": 8.221330313846984e-06 - } - }, - { - "timestamp": "2025-08-16T21:47:22.985295", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030387878417969, - "points_saved": 30, - "points_rate": 2.990911255241678, - "variables_saved": 60, - "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.03759114742279053, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:47:33.021574", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.03627896308899, - "points_saved": 30, - "points_rate": 2.9891556532388903, - "variables_saved": 60, - "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.03437005678812663, - "csv_write_time_avg": 3.294150034586588e-05 - } - }, - { - "timestamp": "2025-08-16T21:47:43.054108", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.032533645629883, - "points_saved": 30, - "points_rate": 2.9902715564844216, - "variables_saved": 60, - "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.036755887667338054, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:47:53.088278", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.034170627593994, - "points_saved": 30, - "points_rate": 2.98978372138699, - "variables_saved": 60, - "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.03733990987141927, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:48:03.129970", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.041691780090332, - "points_saved": 30, - "points_rate": 2.987544395604834, - "variables_saved": 60, - "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.0389322837193807, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:48:13.161491", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.031521081924438, - "points_saved": 31, - "points_rate": 3.090259168757385, - "variables_saved": 62, - "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.0395273623927947, - "csv_write_time_avg": 6.44729983422064e-05 - } - }, - { - "timestamp": "2025-08-16T21:48:23.192589", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031097888946533, - "points_saved": 30, - "points_rate": 2.9906995557343325, - "variables_saved": 60, - "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.03335267702738444, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:48:33.224132", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.031542778015137, - "points_saved": 30, - "points_rate": 2.990566921146686, - "variables_saved": 60, - "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.033568525314331056, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:48:43.255153", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.031020641326904, - "points_saved": 30, - "points_rate": 2.990722586732869, - "variables_saved": 60, - "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.037904246648152666, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:48:53.286994", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03184199333191, - "points_saved": 30, - "points_rate": 2.9904777228290453, - "variables_saved": 60, - "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.04513908227284749, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:49:03.317773", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.030778884887695, - "points_saved": 30, - "points_rate": 2.990794667520565, - "variables_saved": 60, - "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.04454357624053955, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:49:13.346374", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028599977493286, - "points_saved": 30, - "points_rate": 2.991444475532735, - "variables_saved": 60, - "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.04013706048329671, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:49:23.376860", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030486822128296, - "points_saved": 30, - "points_rate": 2.990881752001995, - "variables_saved": 60, - "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.04025301138559977, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:49:33.407239", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030378818511963, - "points_saved": 30, - "points_rate": 2.990913956772232, - "variables_saved": 60, - "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.03273421128590902, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:49:43.437136", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029896974563599, - "points_saved": 30, - "points_rate": 2.9910576425741704, - "variables_saved": 60, - "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.035056106249491376, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:49:53.471673", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.033548593521118, - "points_saved": 30, - "points_rate": 2.989969074288598, - "variables_saved": 60, - "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.03702813784281413, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:50:03.506781", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.036096572875977, - "points_saved": 30, - "points_rate": 2.9892099764244398, - "variables_saved": 60, - "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.038642628987630205, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:50:13.538000", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031218767166138, - "points_saved": 30, - "points_rate": 2.990663517198432, - "variables_saved": 60, - "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.04170172214508057, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:50:23.569522", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031522035598755, - "points_saved": 30, - "points_rate": 2.990573104812941, - "variables_saved": 60, - "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.04046200116475423, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:50:33.601998", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.03247618675232, - "points_saved": 30, - "points_rate": 2.990288682629956, - "variables_saved": 60, - "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.03853654861450195, - "csv_write_time_avg": 3.331502278645833e-05 - } - }, - { - "timestamp": "2025-08-16T21:50:43.632518", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030519723892212, - "points_saved": 30, - "points_rate": 2.990871941415105, - "variables_saved": 60, - "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.03493312199910482, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:50:53.660510", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.027992248535156, - "points_saved": 30, - "points_rate": 2.9916257668011523, - "variables_saved": 60, - "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.038732012112935386, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:51:03.691475", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030964612960815, - "points_saved": 30, - "points_rate": 2.990739291537085, - "variables_saved": 60, - "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.040952237447102864, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:51:13.719577", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.02810263633728, - "points_saved": 30, - "points_rate": 2.9915928354476202, - "variables_saved": 60, - "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.03581215540568034, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:51:23.749964", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030386924743652, - "points_saved": 30, - "points_rate": 2.9909115396130854, - "variables_saved": 60, - "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.03917606671651205, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:51:33.780584", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030619382858276, - "points_saved": 30, - "points_rate": 2.9908422256823135, - "variables_saved": 60, - "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.039916030565897626, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:51:43.810993", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.030409574508667, - "points_saved": 30, - "points_rate": 2.990904785806768, - "variables_saved": 60, - "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.03858080705006917, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:51:53.841664", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030671119689941, - "points_saved": 30, - "points_rate": 2.990826799326597, - "variables_saved": 60, - "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.035592873891194664, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:52:03.872504", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030839443206787, - "points_saved": 30, - "points_rate": 2.9907766114546854, - "variables_saved": 60, - "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.040535386403401694, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:52:13.903399", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.030895471572876, - "points_saved": 30, - "points_rate": 2.9907599062335666, - "variables_saved": 60, - "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.03460417588551839, - "csv_write_time_avg": 1.8278757731119792e-06 - } - }, - { - "timestamp": "2025-08-16T21:52:23.934270", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030870199203491, - "points_saved": 30, - "points_rate": 2.990767441331478, - "variables_saved": 60, - "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.03200056552886963, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:52:33.964596", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03032636642456, - "points_saved": 30, - "points_rate": 2.9909295973081966, - "variables_saved": 60, - "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.03182210127512614, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:52:43.995580", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.03098464012146, - "points_saved": 30, - "points_rate": 2.990733320436701, - "variables_saved": 60, - "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.03322746753692627, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:52:54.027284", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031703472137451, - "points_saved": 30, - "points_rate": 2.9905190163688036, - "variables_saved": 60, - "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.0324460506439209, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:53:04.058163", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030879259109497, - "points_saved": 30, - "points_rate": 2.990764740065597, - "variables_saved": 60, - "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.035810144742329915, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:53:14.093930", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.035766363143921, - "points_saved": 31, - "points_rate": 3.088951942309723, - "variables_saved": 62, - "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.03446805092596238, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:53:24.127861", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.033931493759155, - "points_saved": 30, - "points_rate": 2.9898549754559536, - "variables_saved": 60, - "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.032692551612854004, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:53:34.157827", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.029966354370117, - "points_saved": 30, - "points_rate": 2.991036952674205, - "variables_saved": 60, - "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.037470459938049316, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:53:44.193600", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.035772323608398, - "points_saved": 30, - "points_rate": 2.9893065558519356, - "variables_saved": 60, - "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.03304795424143473, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:53:54.224758", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031158447265625, - "points_saved": 30, - "points_rate": 2.990681500816852, - "variables_saved": 60, - "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.03984549840291341, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:54:04.255747", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030988931655884, - "points_saved": 30, - "points_rate": 2.9907320409182923, - "variables_saved": 60, - "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.04087517261505127, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:54:14.281397", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T21:54:14.287397", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.03065013885498, - "points_saved": 30, - "points_rate": 2.990833055156738, - "variables_saved": 60, - "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.03633847236633301, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:54:14.346339", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", - "details": { - "recording_protection": false, - "performance_monitoring": false - } - }, - { - "timestamp": "2025-08-16T21:54:14.376965", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T21:54:15.128327", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-16T21:54:15.158088", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: test", - "details": { - "dataset_id": "Test" - } - }, - { - "timestamp": "2025-08-16T21:54:15.489805", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-16T21:54:15.522117", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))", - "details": {} - }, - { - "timestamp": "2025-08-16T21:54:18.531897", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-16T21:54:18.632271", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-16T21:54:18.666326", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 2, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-16T21:54:18.699680", - "level": "info", - "event_type": "csv_recording_started", - "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY and performance monitoring: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3, - "priority": "CRITICAL", - "recording_protection": true, - "performance_monitoring": true - } - }, - { - "timestamp": "2025-08-16T21:54:28.632278", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 11.11675214767456, - "points_saved": 30, - "points_rate": 2.6986299236936304, - "variables_saved": 60, - "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.03932783603668213, - "csv_write_time_avg": 0.0002244012109164534 - } - }, - { - "timestamp": "2025-08-16T21:54:38.663356", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.1% CPU", - "details": { - "duration": 10.031078338623047, - "points_saved": 30, - "points_rate": 2.990705384533769, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 3.1, - "cpu_max": 3.1, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.0895343542098999, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:54:48.727565", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.064208269119263, - "points_saved": 30, - "points_rate": 2.9808604112507457, - "variables_saved": 60, - "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.09798940022786458, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:54:58.770676", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.042453050613403, - "points_saved": 29, - "points_rate": 2.8877406599604316, - "variables_saved": 58, - "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.098214708525559, - "csv_write_time_avg": 1.0013580322265625e-05 - } - }, - { - "timestamp": "2025-08-16T21:55:08.832728", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.062121391296387, - "points_saved": 30, - "points_rate": 2.981478639877038, - "variables_saved": 60, - "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.09879719416300456, - "csv_write_time_avg": 6.794929504394531e-06 - } - }, - { - "timestamp": "2025-08-16T21:55:18.874001", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.04186201095581, - "points_saved": 30, - "points_rate": 2.9874937503890795, - "variables_saved": 60, - "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.11966563860575358, - "csv_write_time_avg": 5.849202473958334e-06 - } - }, - { - "timestamp": "2025-08-16T21:55:28.913932", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.039931297302246, - "points_saved": 29, - "points_rate": 2.8884659806180517, - "variables_saved": 58, - "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.1066824485515726, - "csv_write_time_avg": 7.662279852505389e-06 - } - }, - { - "timestamp": "2025-08-16T21:55:38.966871", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.052938461303711, - "points_saved": 30, - "points_rate": 2.9842020932961586, - "variables_saved": 60, - "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.09912247657775879, - "csv_write_time_avg": 2.2824605305989584e-05 - } - }, - { - "timestamp": "2025-08-16T21:55:49.013833", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.046962022781372, - "points_saved": 30, - "points_rate": 2.985977246850873, - "variables_saved": 60, - "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.09836576779683431, - "csv_write_time_avg": 1.2906392415364583e-05 - } - }, - { - "timestamp": "2025-08-16T21:55:59.058132", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.044298887252808, - "points_saved": 29, - "points_rate": 2.8872099810573957, - "variables_saved": 58, - "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.09733685953863735, - "csv_write_time_avg": 5.080782133957435e-06 - } - }, - { - "timestamp": "2025-08-16T21:56:09.106358", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.04822587966919, - "points_saved": 30, - "points_rate": 2.985601673296348, - "variables_saved": 60, - "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.12263116836547852, - "csv_write_time_avg": 1.3605753580729167e-05 - } - }, - { - "timestamp": "2025-08-16T21:56:19.177739", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.070658206939697, - "points_saved": 30, - "points_rate": 2.978951264508906, - "variables_saved": 60, - "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.1024899959564209, - "csv_write_time_avg": 5.046526590983073e-06 - } - }, - { - "timestamp": "2025-08-16T21:56:29.246137", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.06912112236023, - "points_saved": 29, - "points_rate": 2.880092477545083, - "variables_saved": 58, - "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.1002670485397865, - "csv_write_time_avg": 2.4918852181270206e-05 - } - }, - { - "timestamp": "2025-08-16T21:56:39.307392", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.06125545501709, - "points_saved": 30, - "points_rate": 2.9817352450821994, - "variables_saved": 60, - "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.09804092248280843, - "csv_write_time_avg": 2.9810269673665364e-05 - } - }, - { - "timestamp": "2025-08-16T21:56:49.363293", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.055900812149048, - "points_saved": 30, - "points_rate": 2.983322982238992, - "variables_saved": 60, - "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.11478871504465739, - "csv_write_time_avg": 2.002716064453125e-05 - } - }, - { - "timestamp": "2025-08-16T21:56:59.423805", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.060511589050293, - "points_saved": 30, - "points_rate": 2.9819557121380926, - "variables_saved": 60, - "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.10828693707784016, - "csv_write_time_avg": 2.4962425231933594e-05 - } - }, - { - "timestamp": "2025-08-16T21:57:09.481213", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.057408094406128, - "points_saved": 29, - "points_rate": 2.8834466820660913, - "variables_saved": 58, - "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.09667999168922162, - "csv_write_time_avg": 6.026235120049838e-06 - } - }, - { - "timestamp": "2025-08-16T21:57:19.526701", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.045488119125366, - "points_saved": 30, - "points_rate": 2.9864153582426436, - "variables_saved": 60, - "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.0991057554880778, - "csv_write_time_avg": 8.416175842285156e-06 - } - }, - { - "timestamp": "2025-08-16T21:57:29.600961", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.074259996414185, - "points_saved": 29, - "points_rate": 2.87862334407909, - "variables_saved": 58, - "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.11061502325123754, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:57:39.669609", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.06864857673645, - "points_saved": 30, - "points_rate": 2.9795458418635064, - "variables_saved": 60, - "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.11440971692403158, - "csv_write_time_avg": 3.8941701253255206e-06 - } - }, - { - "timestamp": "2025-08-16T21:57:49.737182", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.067573070526123, - "points_saved": 30, - "points_rate": 2.979864143010608, - "variables_saved": 60, - "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.09683450857798258, - "csv_write_time_avg": 3.6557515462239585e-06 - } - }, - { - "timestamp": "2025-08-16T21:57:59.793630", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.056447744369507, - "points_saved": 29, - "points_rate": 2.8837220395478886, - "variables_saved": 58, - "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.09938183324090366, - "csv_write_time_avg": 4.554616993871228e-06 - } - }, - { - "timestamp": "2025-08-16T21:58:09.844307", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.9% CPU", - "details": { - "duration": 10.04996371269226, - "points_saved": 29, - "points_rate": 2.8855825582111736, - "variables_saved": 58, - "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.10052065191597774, - "csv_write_time_avg": 1.2027806249158136e-05 - } - }, - { - "timestamp": "2025-08-16T21:58:19.896754", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.053160190582275, - "points_saved": 30, - "points_rate": 2.9841362746913926, - "variables_saved": 60, - "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.12120720545450846, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:58:29.958212", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.061457395553589, - "points_saved": 30, - "points_rate": 2.98167539955571, - "variables_saved": 60, - "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.109222944577535, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:58:40.026745", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.068533658981323, - "points_saved": 30, - "points_rate": 2.9795798490716106, - "variables_saved": 60, - "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.09890509446461995, - "csv_write_time_avg": 1.4885266621907551e-05 - } - }, - { - "timestamp": "2025-08-16T21:58:50.099202", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.072457075119019, - "points_saved": 29, - "points_rate": 2.879138603790707, - "variables_saved": 58, - "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.09831941538843615, - "csv_write_time_avg": 5.458963328394397e-06 - } - }, - { - "timestamp": "2025-08-16T21:59:00.170507", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.070626020431519, - "points_saved": 30, - "points_rate": 2.9789607854700697, - "variables_saved": 60, - "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.11186575889587402, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:59:10.231698", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.060875654220581, - "points_saved": 30, - "points_rate": 2.98184780639992, - "variables_saved": 60, - "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.1108061154683431, - "csv_write_time_avg": 1.0895729064941407e-05 - } - }, - { - "timestamp": "2025-08-16T21:59:20.301453", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.070749282836914, - "points_saved": 29, - "points_rate": 2.8796268465766777, - "variables_saved": 58, - "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.09562068149961274, - "csv_write_time_avg": 4.455961030105065e-06 - } - }, - { - "timestamp": "2025-08-16T21:59:30.353014", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.051560401916504, - "points_saved": 30, - "points_rate": 2.984611224569668, - "variables_saved": 60, - "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.09644757906595866, - "csv_write_time_avg": 9.942054748535157e-06 - } - }, - { - "timestamp": "2025-08-16T21:59:40.406437", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU", - "details": { - "duration": 10.053423166275024, - "points_saved": 30, - "points_rate": 2.984058216174297, - "variables_saved": 60, - "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.10479240417480469, - "csv_write_time_avg": 1.0808308919270834e-05 - } - }, - { - "timestamp": "2025-08-16T21:59:50.452306", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.045868873596191, - "points_saved": 29, - "points_rate": 2.8867587627210054, - "variables_saved": 58, - "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.12358122858507879, - "csv_write_time_avg": 1.5275231723127694e-05 - } - }, - { - "timestamp": "2025-08-16T22:00:00.510068", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.057761669158936, - "points_saved": 30, - "points_rate": 2.9827710167354464, - "variables_saved": 60, - "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.10055145422617594, - "csv_write_time_avg": 0.00012524922688802084 - } - }, - { - "timestamp": "2025-08-16T22:00:10.578517", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 1.1% CPU", - "details": { - "duration": 10.068449258804321, - "points_saved": 30, - "points_rate": 2.9796048258143233, - "variables_saved": 60, - "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.09674588839213054, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T22:00:20.630430", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.051913499832153, - "points_saved": 29, - "points_rate": 2.8850228367448887, - "variables_saved": 58, - "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.10333584917002711, - "csv_write_time_avg": 4.0120091931573276e-06 - } - }, - { - "timestamp": "2025-08-16T22:00:30.694802", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.064372062683105, - "points_saved": 30, - "points_rate": 2.980811898959364, - "variables_saved": 60, - "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.12610262235005695, - "csv_write_time_avg": 4.7135353088378904e-05 - } - }, - { - "timestamp": "2025-08-16T22:00:40.751186", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.056383848190308, - "points_saved": 30, - "points_rate": 2.983179684951926, - "variables_saved": 60, - "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.10014296372731527, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T22:00:50.826229", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.075042963027954, - "points_saved": 30, - "points_rate": 2.977654796122457, - "variables_saved": 60, - "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.09934017658233643, - "csv_write_time_avg": 3.8226445515950525e-06 - } - }, - { - "timestamp": "2025-08-16T22:01:00.864950", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.03872036933899, - "points_saved": 29, - "points_rate": 2.888814403932793, - "variables_saved": 58, - "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.1036294410968649, - "csv_write_time_avg": 1.2184011525121229e-05 - } - }, - { - "timestamp": "2025-08-16T22:01:10.937038", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.072088956832886, - "points_saved": 30, - "points_rate": 2.978528101625637, - "variables_saved": 60, - "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.11989320119222005, - "csv_write_time_avg": 2.2125244140625e-05 - } - }, - { - "timestamp": "2025-08-16T22:01:20.987179", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.050140380859375, - "points_saved": 30, - "points_rate": 2.9850329311952097, - "variables_saved": 60, - "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.09725471337636311, - "csv_write_time_avg": 0.0 - } - }, { "timestamp": "2025-08-16T22:01:31.049541", "level": "info", @@ -22175,8 +18186,3365 @@ "read_time_avg": 0.05804470380147298, "csv_write_time_avg": 3.371238708496094e-05 } + }, + { + "timestamp": "2025-08-17T00:15:48.482014", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 6.5% CPU", + "details": { + "duration": 10.030930042266846, + "points_saved": 30, + "points_rate": 2.9907495988498023, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 6.5, + "cpu_max": 6.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.06255425612131754, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:15:58.511128", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029114246368408, + "points_saved": 30, + "points_rate": 2.9912910814495057, + "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.05583217144012451, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:16:04.574226", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755382564574_2", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_1.0S", + "AUX Blink_1.6S" + ], + "time_window": 36, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-17T00:16:08.222341", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755382568222_3", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_1.0S", + "AUX Blink_1.6S" + ], + "time_window": 36, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-17T00:16:08.540132", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029003620147705, + "points_saved": 30, + "points_rate": 2.991324077272411, + "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.06687753995259603, + "csv_write_time_avg": 0.00013384819030761718 + } + }, + { + "timestamp": "2025-08-17T00:16:18.570597", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.030464887619019, + "points_saved": 30, + "points_rate": 2.990888292429011, + "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.06326075394948323, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:16:28.602371", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.03079605102539, + "points_saved": 30, + "points_rate": 2.9907895492435292, + "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.06950985590616862, + "csv_write_time_avg": 0.0006001075108846029 + } + }, + { + "timestamp": "2025-08-17T00:16:38.650379", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 4.8% CPU", + "details": { + "duration": 10.048986196517944, + "points_saved": 30, + "points_rate": 2.985375779538362, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 4.8, + "cpu_max": 4.8, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.055319444338480635, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:16:48.682591", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.4% CPU", + "details": { + "duration": 10.03129529953003, + "points_saved": 30, + "points_rate": 2.9906407003495863, + "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.06399256388346354, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:16:58.718459", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.036784410476685, + "points_saved": 30, + "points_rate": 2.989005120871694, + "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.061026390393575033, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:17:08.748662", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.7% CPU", + "details": { + "duration": 10.02920126914978, + "points_saved": 30, + "points_rate": 2.991265126195162, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.7, + "cpu_max": 1.7, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08219284216562907, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:17:18.783287", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.035626888275146, + "points_saved": 30, + "points_rate": 2.9893498765931295, + "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.0949099063873291, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:17:28.818216", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.034928560256958, + "points_saved": 30, + "points_rate": 2.9895579046585468, + "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.07416890462239584, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:17:38.852564", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.033340692520142, + "points_saved": 30, + "points_rate": 2.9900310294820356, + "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.06427125930786133, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:17:48.888115", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.035551071166992, + "points_saved": 30, + "points_rate": 2.9893724606905345, + "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.06518966356913249, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T00:17:58.926973", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 11 points saved, 9 lost, 0.6% CPU", + "details": { + "duration": 10.039865493774414, + "points_saved": 11, + "points_rate": 1.0956322081028826, + "variables_saved": 29, + "udp_points_sent": 0, + "points_lost": 9, + "cpu_average": 0.6, + "cpu_max": 0.6, + "delay_average": 2.4870694875717163, + "delay_max": 2.714766263961792, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.6338630372827704, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:16:27.351453", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 35908.41696715355, + "points_saved": 0, + "points_rate": 0.0, + "variables_saved": 0, + "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.0, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:16:32.160722", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 2 datasets after PLC reconnection", + "details": { + "resumed_datasets": 2, + "total_attempted": 2 + } + }, + { + "timestamp": "2025-08-17T10:16:37.410946", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 17 points saved, 107748 lost, 0.0% CPU", + "details": { + "duration": 10.06700611114502, + "points_saved": 17, + "points_rate": 1.6886847799942801, + "variables_saved": 45, + "udp_points_sent": 0, + "points_lost": 107748, + "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.08056862214032341, + "csv_write_time_avg": 0.002963865504545324 + } + }, + { + "timestamp": "2025-08-17T10:16:47.437348", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02640151977539, + "points_saved": 30, + "points_rate": 2.9921004002113865, + "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.0674422025680542, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:16:57.468322", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.030974388122559, + "points_saved": 30, + "points_rate": 2.9907363770684428, + "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.05432198842366536, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:17:07.497782", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029460191726685, + "points_saved": 30, + "points_rate": 2.9911879030884476, + "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.05018300215403239, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:17:17.525988", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.028205633163452, + "points_saved": 30, + "points_rate": 2.991562109654939, + "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.053313740094502765, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:17:27.556186", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030197858810425, + "points_saved": 30, + "points_rate": 2.9909679173126484, + "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.050567030906677246, + "csv_write_time_avg": 2.360343933105469e-06 + } + }, + { + "timestamp": "2025-08-17T10:17:37.585228", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029042482376099, + "points_saved": 30, + "points_rate": 2.991312485984439, + "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.057176486651102705, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:17:47.613371", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.028142929077148, + "points_saved": 30, + "points_rate": 2.991580815328565, + "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.051870838801066084, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:17:57.647359", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.033987760543823, + "points_saved": 30, + "points_rate": 2.9898382094871176, + "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.050136963526407875, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:18:07.676608", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.0292489528656, + "points_saved": 30, + "points_rate": 2.9912509043290094, + "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.04995428721110026, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:18:13.818141", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:18:15.848708", + "level": "info", + "event_type": "csv_recording_stopped", + "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", + "details": { + "recording_protection": false, + "performance_monitoring": false + } + }, + { + "timestamp": "2025-08-17T10:18:15.883105", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:18:16.413662", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "DAR" + } + }, + { + "timestamp": "2025-08-17T10:18:17.278028", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: Fast", + "details": { + "dataset_id": "Fast" + } + }, + { + "timestamp": "2025-08-17T10:18:17.308983", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: test", + "details": { + "dataset_id": "Test" + } + }, + { + "timestamp": "2025-08-17T10:18:17.337506", + "level": "info", + "event_type": "plc_disconnection", + "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))", + "details": {} + }, + { + "timestamp": "2025-08-17T10:21:14.595575", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-17T10:21:14.662890", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 3, + "streaming_count": 3, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-17T10:21:14.692808", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: Fast", + "details": { + "dataset_id": "Fast", + "variables_count": 2, + "streaming_count": 2, + "prefix": "fast" + } + }, + { + "timestamp": "2025-08-17T10:21:14.723682", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY and performance monitoring: 2 datasets activated", + "details": { + "activated_datasets": 2, + "total_datasets": 3, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true + } + }, + { + "timestamp": "2025-08-17T10:21:24.662930", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.081411123275757, + "points_saved": 30, + "points_rate": 2.707236440040296, + "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.06274720827738443, + "csv_write_time_avg": 0.00016797822097252155 + } + }, + { + "timestamp": "2025-08-17T10:21:34.692355", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02942442893982, + "points_saved": 30, + "points_rate": 2.9911985690260803, + "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.06185752550760905, + "csv_write_time_avg": 2.837181091308594e-06 + } + }, + { + "timestamp": "2025-08-17T10:21:44.729321", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 2.0% CPU", + "details": { + "duration": 10.03696608543396, + "points_saved": 30, + "points_rate": 2.9889510181305865, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 2.0, + "cpu_max": 2.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.061476612091064455, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:21:49.186125", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:21:51.216059", + "level": "info", + "event_type": "csv_recording_stopped", + "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", + "details": { + "recording_protection": false, + "performance_monitoring": false + } + }, + { + "timestamp": "2025-08-17T10:21:51.246671", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:21:51.294288", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: test", + "details": { + "dataset_id": "Test" + } + }, + { + "timestamp": "2025-08-17T10:21:51.756022", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "DAR" + } + }, + { + "timestamp": "2025-08-17T10:21:52.741365", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: Fast", + "details": { + "dataset_id": "Fast" + } + }, + { + "timestamp": "2025-08-17T10:21:52.803004", + "level": "info", + "event_type": "plc_disconnection", + "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))", + "details": {} + }, + { + "timestamp": "2025-08-17T10:22:27.743189", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-17T10:22:27.823610", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 3, + "streaming_count": 3, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-17T10:22:27.855759", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: Fast", + "details": { + "dataset_id": "Fast", + "variables_count": 2, + "streaming_count": 2, + "prefix": "fast" + } + }, + { + "timestamp": "2025-08-17T10:22:27.881169", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY and performance monitoring: 2 datasets activated", + "details": { + "activated_datasets": 2, + "total_datasets": 3, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true + } + }, + { + "timestamp": "2025-08-17T10:22:37.823911", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.097031116485596, + "points_saved": 30, + "points_rate": 2.703425779840557, + "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.069742218653361, + "csv_write_time_avg": 0.00021897513290931438 + } + }, + { + "timestamp": "2025-08-17T10:22:47.854433", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.030521392822266, + "points_saved": 30, + "points_rate": 2.9908714437783543, + "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.05635186036427816, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:22:57.883083", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.6% CPU", + "details": { + "duration": 10.028650760650635, + "points_saved": 30, + "points_rate": 2.9914293274336408, + "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.06100908915201823, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:23:07.941413", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.057328939437866, + "points_saved": 30, + "points_rate": 2.982899354356485, + "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.059639962514241536, + "csv_write_time_avg": 0.00010022322336832682 + } + }, + { + "timestamp": "2025-08-17T10:23:17.976489", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.036076784133911, + "points_saved": 31, + "points_rate": 3.088856399445655, + "variables_saved": 82, + "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.07134084547719648, + "csv_write_time_avg": 3.2355708460653984e-05 + } + }, + { + "timestamp": "2025-08-17T10:23:28.005479", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028990507125854, + "points_saved": 30, + "points_rate": 2.991327988463468, + "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.06387840906778972, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:23:38.037021", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030548810958862, + "points_saved": 30, + "points_rate": 2.990863268341164, + "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.06820237636566162, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:23:48.071376", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.034356594085693, + "points_saved": 30, + "points_rate": 2.9897283117965103, + "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.06471459865570069, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:23:58.105467", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.034082651138306, + "points_saved": 31, + "points_rate": 3.0894702662712508, + "variables_saved": 83, + "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.06189109433081842, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:24:08.138761", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.034293174743652, + "points_saved": 30, + "points_rate": 2.9897472076568476, + "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.051753115653991696, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:24:17.811917", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:24:18.174136", + "level": "info", + "event_type": "csv_recording_stopped", + "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", + "details": { + "recording_protection": false, + "performance_monitoring": false + } + }, + { + "timestamp": "2025-08-17T10:24:18.201772", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:24:18.229811", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: test", + "details": { + "dataset_id": "Test" + } + }, + { + "timestamp": "2025-08-17T10:24:18.596221", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "DAR" + } + }, + { + "timestamp": "2025-08-17T10:24:18.999584", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: Fast", + "details": { + "dataset_id": "Fast" + } + }, + { + "timestamp": "2025-08-17T10:24:19.031418", + "level": "info", + "event_type": "plc_disconnection", + "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))", + "details": {} + }, + { + "timestamp": "2025-08-17T10:24:32.628265", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-17T10:24:32.694149", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 3, + "streaming_count": 3, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-17T10:24:32.720829", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: Fast", + "details": { + "dataset_id": "Fast", + "variables_count": 2, + "streaming_count": 2, + "prefix": "fast" + } + }, + { + "timestamp": "2025-08-17T10:24:32.747676", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY and performance monitoring: 2 datasets activated", + "details": { + "activated_datasets": 2, + "total_datasets": 3, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true + } + }, + { + "timestamp": "2025-08-17T10:24:42.694918", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.079033136367798, + "points_saved": 30, + "points_rate": 2.7078175171732846, + "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.060875495274861656, + "csv_write_time_avg": 0.0007297754287719727 + } + }, + { + "timestamp": "2025-08-17T10:24:52.724433", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.029515266418457, + "points_saved": 30, + "points_rate": 2.991171477693259, + "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.06223840713500976, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:24:57.981343", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755419097980_2", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_1.0S", + "AUX Blink_1.6S" + ], + "time_window": 36, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-17T10:25:02.755560", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.030132532119751, + "points_saved": 30, + "points_rate": 2.990987397617153, + "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.06290825208028157, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:25:12.790027", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.035461187362671, + "points_saved": 30, + "points_rate": 2.9893992353613026, + "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.051825245221455894, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:25:22.824564", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.034537076950073, + "points_saved": 31, + "points_rate": 3.089330355977142, + "variables_saved": 82, + "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.04591032766526745, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:25:32.853172", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028608322143555, + "points_saved": 30, + "points_rate": 2.991441986397937, + "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.043617836634318036, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:25:42.885944", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.0317702293396, + "points_saved": 30, + "points_rate": 2.9904991157253535, + "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.047561780611673994, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:25:52.917282", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031339406967163, + "points_saved": 30, + "points_rate": 2.990627550610421, + "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.04656855265299479, + "csv_write_time_avg": 2.6941299438476564e-06 + } + }, + { + "timestamp": "2025-08-17T10:26:02.949473", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.033191204071045, + "points_saved": 30, + "points_rate": 2.9900755791265365, + "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.04642045497894287, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:26:12.978460", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028986692428589, + "points_saved": 30, + "points_rate": 2.9913291262664234, + "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.04602290789286296, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:26:23.007274", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02881407737732, + "points_saved": 30, + "points_rate": 2.9913806127559037, + "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.05219019254048665, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:26:33.035695", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02842092514038, + "points_saved": 30, + "points_rate": 2.9914978862517234, + "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.04330963293711344, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:26:43.067354", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03165888786316, + "points_saved": 30, + "points_rate": 2.9905323073031935, + "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.04491540590922038, + "csv_write_time_avg": 3.596941630045573e-05 + } + }, + { + "timestamp": "2025-08-17T10:26:53.098310", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030956506729126, + "points_saved": 31, + "points_rate": 3.0904330986984228, + "variables_saved": 83, + "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.05110450713865219, + "csv_write_time_avg": 3.2224962788243446e-05 + } + }, + { + "timestamp": "2025-08-17T10:27:03.131169", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.032859086990356, + "points_saved": 30, + "points_rate": 2.9901745594036204, + "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.04700446128845215, + "csv_write_time_avg": 1.71661376953125e-06 + } + }, + { + "timestamp": "2025-08-17T10:27:13.162411", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.031241178512573, + "points_saved": 30, + "points_rate": 2.9906568355929393, + "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.0429451068242391, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:27:23.193601", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.03018856048584, + "points_saved": 30, + "points_rate": 2.9909706900412316, + "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.04590882460276286, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:27:33.249776", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.05717658996582, + "points_saved": 30, + "points_rate": 2.9829445403127752, + "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.04397099018096924, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:27:43.274528", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024752140045166, + "points_saved": 30, + "points_rate": 2.9925926926573205, + "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.047833975156148276, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:27:53.305480", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.7% CPU", + "details": { + "duration": 10.030951976776123, + "points_saved": 30, + "points_rate": 2.990743059029357, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.7, + "cpu_max": 1.7, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.044211284319559736, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:28:03.334477", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02899718284607, + "points_saved": 30, + "points_rate": 2.991325997310379, + "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.04537556171417236, + "csv_write_time_avg": 0.00010069211324055989 + } + }, + { + "timestamp": "2025-08-17T10:28:13.363494", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.029017210006714, + "points_saved": 30, + "points_rate": 2.9913200238670163, + "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.043917298316955566, + "csv_write_time_avg": 3.8782755533854164e-06 + } + }, + { + "timestamp": "2025-08-17T10:28:23.392604", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.029109477996826, + "points_saved": 30, + "points_rate": 2.9912925036682396, + "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.04031365712483724, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:28:33.420692", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.028088092803955, + "points_saved": 30, + "points_rate": 2.991597174094199, + "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.04279543558756511, + "csv_write_time_avg": 2.0821889241536456e-06 + } + }, + { + "timestamp": "2025-08-17T10:28:43.450558", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029866456985474, + "points_saved": 30, + "points_rate": 2.9910667433768254, + "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.04615431626637777, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:28:53.487714", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.036580562591553, + "points_saved": 30, + "points_rate": 2.989065829035071, + "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.04887483914693196, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:29:03.534412", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.0472731590271, + "points_saved": 30, + "points_rate": 2.985884779398689, + "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.05250984827677409, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:29:13.563930", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029517650604248, + "points_saved": 30, + "points_rate": 2.991170766641264, + "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.05986101627349853, + "csv_write_time_avg": 1.7881393432617188e-06 + } + }, + { + "timestamp": "2025-08-17T10:29:23.608726", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.042795896530151, + "points_saved": 30, + "points_rate": 2.987215941565156, + "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.05725412368774414, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:29:33.644670", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.036937475204468, + "points_saved": 30, + "points_rate": 2.988959538117363, + "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.05138274828592936, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:29:43.677186", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031522274017334, + "points_saved": 30, + "points_rate": 2.990573033736172, + "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.05737946033477783, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:29:53.729829", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.054643392562866, + "points_saved": 30, + "points_rate": 2.983696072422633, + "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.04490443070729574, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:30:03.758607", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.028778553009033, + "points_saved": 30, + "points_rate": 2.9913912089522414, + "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.05555241107940674, + "csv_write_time_avg": 1.929601033528646e-05 + } + }, + { + "timestamp": "2025-08-17T10:30:13.790720", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030118703842163, + "points_saved": 30, + "points_rate": 2.990991521217802, + "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.05596404870351156, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:30:23.838379", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.049652576446533, + "points_saved": 30, + "points_rate": 2.9851778229937307, + "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.06318755149841308, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:30:33.873147", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.034769058227539, + "points_saved": 30, + "points_rate": 2.9896054234953127, + "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.06624953746795655, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:30:43.908813", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03566575050354, + "points_saved": 30, + "points_rate": 2.9893383006000125, + "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.05440026919047038, + "csv_write_time_avg": 1.3176600138346354e-05 + } + }, + { + "timestamp": "2025-08-17T10:30:53.958983", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.049168586730957, + "points_saved": 30, + "points_rate": 2.985321595620593, + "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.05763611793518066, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:31:03.993747", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.035764694213867, + "points_saved": 30, + "points_rate": 2.9893088283842024, + "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.07682323455810547, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:31:14.024275", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02952790260315, + "points_saved": 30, + "points_rate": 2.9911677091215374, + "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.0727881113688151, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:31:24.062010", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.038735389709473, + "points_saved": 30, + "points_rate": 2.988424222313147, + "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.07253700097401937, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:31:34.099355", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.036351203918457, + "points_saved": 30, + "points_rate": 2.9891341375426568, + "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.06844292481740316, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:31:44.136352", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.037991046905518, + "points_saved": 30, + "points_rate": 2.988645821640607, + "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.059566219647725425, + "csv_write_time_avg": 1.7062822977701822e-05 + } + }, + { + "timestamp": "2025-08-17T10:31:54.196460", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.059097290039062, + "points_saved": 30, + "points_rate": 2.9823749721266988, + "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.053421823183695476, + "csv_write_time_avg": 0.00019992987314860027 + } + }, + { + "timestamp": "2025-08-17T10:32:04.232757", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.036311388015747, + "points_saved": 30, + "points_rate": 2.9891459959903877, + "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.059238433837890625, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:32:14.271850", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.04008936882019, + "points_saved": 30, + "points_rate": 2.988021211560719, + "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.0616827646891276, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:32:24.304933", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.033083200454712, + "points_saved": 30, + "points_rate": 2.990107766537844, + "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.057396372159322105, + "csv_write_time_avg": 4.458427429199219e-06 + } + }, + { + "timestamp": "2025-08-17T10:32:34.343891", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.038957357406616, + "points_saved": 30, + "points_rate": 2.988358146363315, + "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.05069313844045003, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:32:44.376608", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031702756881714, + "points_saved": 30, + "points_rate": 2.9905192295914174, + "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.06507716178894044, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:32:54.412176", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.03558897972107, + "points_saved": 31, + "points_rate": 3.0890065408858165, + "variables_saved": 82, + "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.05215624840028824, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:33:04.447369", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.035185098648071, + "points_saved": 30, + "points_rate": 2.9894814799222353, + "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.061962890625, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:33:14.478934", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.03157901763916, + "points_saved": 30, + "points_rate": 2.9905561175612636, + "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.0641434113184611, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:33:24.519405", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.04045820236206, + "points_saved": 30, + "points_rate": 2.9879114474021087, + "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.061373694737752275, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:33:34.555810", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.036303043365479, + "points_saved": 30, + "points_rate": 2.9891484813057305, + "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.06469907760620117, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:33:44.594109", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.039400577545166, + "points_saved": 30, + "points_rate": 2.9882262161249074, + "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.06747633616129557, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:33:54.628810", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.034701108932495, + "points_saved": 30, + "points_rate": 2.9896256674048, + "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.044543910026550296, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:34:04.661278", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.032468795776367, + "points_saved": 30, + "points_rate": 2.990290885592377, + "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.05756134986877441, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:34:14.691177", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.027898788452148, + "points_saved": 30, + "points_rate": 2.9916536487730783, + "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.06690269311269124, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:34:24.727211", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03703260421753, + "points_saved": 30, + "points_rate": 2.9889312093490754, + "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.06537017822265626, + "csv_write_time_avg": 9.187062581380208e-06 + } + }, + { + "timestamp": "2025-08-17T10:34:34.758782", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.032572746276855, + "points_saved": 30, + "points_rate": 2.990259902290085, + "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.06452409426371257, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:34:44.794724", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.034942150115967, + "points_saved": 30, + "points_rate": 2.9895538560382544, + "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.06114052931467692, + "csv_write_time_avg": 8.368492126464844e-06 + } + }, + { + "timestamp": "2025-08-17T10:34:54.823016", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029291152954102, + "points_saved": 30, + "points_rate": 2.991238318090265, + "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.04829604625701904, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:35:04.853217", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030201196670532, + "points_saved": 30, + "points_rate": 2.9909669219754362, + "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.04986862341562907, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:35:14.889099", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.03488302230835, + "points_saved": 30, + "points_rate": 2.9895714711678845, + "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.05667178630828858, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:35:24.922284", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.033198118209839, + "points_saved": 30, + "points_rate": 2.9900735185873826, + "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.06142541567484538, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:35:34.955808", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.034509420394897, + "points_saved": 30, + "points_rate": 2.989682778016604, + "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.06946960290273031, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:35:44.986236", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030427932739258, + "points_saved": 30, + "points_rate": 2.990899311691396, + "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.05080168247222901, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:35:46.289675", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:35:48.319072", + "level": "info", + "event_type": "csv_recording_stopped", + "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", + "details": { + "recording_protection": false, + "performance_monitoring": false + } + }, + { + "timestamp": "2025-08-17T10:35:48.347192", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:35:48.448744", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "DAR" + } + }, + { + "timestamp": "2025-08-17T10:35:48.474156", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: test", + "details": { + "dataset_id": "Test" + } + }, + { + "timestamp": "2025-08-17T10:35:48.584836", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: Fast", + "details": { + "dataset_id": "Fast" + } + }, + { + "timestamp": "2025-08-17T10:35:48.613938", + "level": "info", + "event_type": "plc_disconnection", + "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))", + "details": {} + }, + { + "timestamp": "2025-08-17T10:36:44.665219", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-17T10:36:44.746695", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 3, + "streaming_count": 3, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-17T10:36:44.774709", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: Fast", + "details": { + "dataset_id": "Fast", + "variables_count": 2, + "streaming_count": 2, + "prefix": "fast" + } + }, + { + "timestamp": "2025-08-17T10:36:44.800709", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY and performance monitoring: 2 datasets activated", + "details": { + "activated_datasets": 2, + "total_datasets": 3, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true + } + }, + { + "timestamp": "2025-08-17T10:36:54.748675", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.088261127471924, + "points_saved": 30, + "points_rate": 2.7055639883581883, + "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.08381611506144206, + "csv_write_time_avg": 0.00014684118073562095 + } + }, + { + "timestamp": "2025-08-17T10:37:04.782801", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.035127401351929, + "points_saved": 30, + "points_rate": 2.989498668044654, + "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.09073575337727864, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:37:07.464102", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:37:09.495886", + "level": "info", + "event_type": "csv_recording_stopped", + "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", + "details": { + "recording_protection": false, + "performance_monitoring": false + } + }, + { + "timestamp": "2025-08-17T10:37:09.524884", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-17T10:37:09.548509", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: test", + "details": { + "dataset_id": "Test" + } + }, + { + "timestamp": "2025-08-17T10:37:09.809948", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: Fast", + "details": { + "dataset_id": "Fast" + } + }, + { + "timestamp": "2025-08-17T10:37:10.318708", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "DAR" + } + }, + { + "timestamp": "2025-08-17T10:37:10.351723", + "level": "info", + "event_type": "plc_disconnection", + "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))", + "details": {} + }, + { + "timestamp": "2025-08-17T10:37:32.342849", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-17T10:37:32.408134", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 3, + "streaming_count": 3, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-17T10:37:32.435381", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: Fast", + "details": { + "dataset_id": "Fast", + "variables_count": 2, + "streaming_count": 2, + "prefix": "fast" + } + }, + { + "timestamp": "2025-08-17T10:37:32.462886", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY and performance monitoring: 2 datasets activated", + "details": { + "activated_datasets": 2, + "total_datasets": 3, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true + } + }, + { + "timestamp": "2025-08-17T10:37:42.409345", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.073018074035645, + "points_saved": 30, + "points_rate": 2.709288452291515, + "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.07967747052510579, + "csv_write_time_avg": 0.0006475210189819336 + } + }, + { + "timestamp": "2025-08-17T10:37:52.440909", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.031563997268677, + "points_saved": 30, + "points_rate": 2.9905605953536445, + "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.0840444008509318, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:38:02.473367", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.032450437545776, + "points_saved": 30, + "points_rate": 2.990296357480821, + "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.07144107023874918, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:38:12.509900", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.037531852722168, + "points_saved": 30, + "points_rate": 2.988782545368863, + "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.06489051977793375, + "csv_write_time_avg": 3.70025634765625e-05 + } + }, + { + "timestamp": "2025-08-17T10:38:22.543192", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 1.4% CPU", + "details": { + "duration": 10.033292293548584, + "points_saved": 31, + "points_rate": 3.0897136346693523, + "variables_saved": 82, + "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.053350656263289914, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:38:32.574706", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.031513690948486, + "points_saved": 30, + "points_rate": 2.9905755925019806, + "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.051310102144877114, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:38:42.608068", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.032367944717407, + "points_saved": 30, + "points_rate": 2.9903209456942466, + "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.06745505332946777, + "csv_write_time_avg": 3.0914942423502604e-06 + } + }, + { + "timestamp": "2025-08-17T10:38:52.641805", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03473162651062, + "points_saved": 30, + "points_rate": 2.989616575369431, + "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.04844361941019694, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:39:02.677236", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.034430503845215, + "points_saved": 30, + "points_rate": 2.989706290606521, + "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.05849316914876302, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:39:12.733033", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.044061422348022, + "points_saved": 30, + "points_rate": 2.9868395600658157, + "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.06043832302093506, + "csv_write_time_avg": 3.333091735839844e-05 + } + }, + { + "timestamp": "2025-08-17T10:39:22.786545", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.06624722480774, + "points_saved": 31, + "points_rate": 3.0795985144893048, + "variables_saved": 83, + "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.06280645247428648, + "csv_write_time_avg": 3.307096419795867e-05 + } + }, + { + "timestamp": "2025-08-17T10:39:32.822387", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.035842180252075, + "points_saved": 30, + "points_rate": 2.9892857481390243, + "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.04506738185882568, + "csv_write_time_avg": 1.9550323486328123e-06 + } + }, + { + "timestamp": "2025-08-17T10:39:42.861638", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.03925085067749, + "points_saved": 30, + "points_rate": 2.9882707829713686, + "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.05902403990427653, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-17T10:39:52.889720", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.028082847595215, + "points_saved": 30, + "points_rate": 2.9915987388550698, + "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.0460646390914917, + "csv_write_time_avg": 0.0 + } } ], - "last_updated": "2025-08-17T00:15:38.451084", + "last_updated": "2025-08-17T10:39:52.889720", "total_entries": 1000 } \ No newline at end of file diff --git a/frontend/src/hooks/useCoordinatedConnection.js b/frontend/src/hooks/useCoordinatedConnection.js index cfd4ae9..19c6235 100644 --- a/frontend/src/hooks/useCoordinatedConnection.js +++ b/frontend/src/hooks/useCoordinatedConnection.js @@ -104,21 +104,37 @@ export function useCoordinatedConnection(source, connectionFactory, dependencies * Hook simplificado para polling coordinado */ export function useCoordinatedPolling(source, fetchFunction, interval = 5000, dependencies = []) { - return useCoordinatedConnection( + const [connectionError, setConnectionError] = useState(null) + + const result = useCoordinatedConnection( source, useCallback((onData) => { let intervalId = null let isActive = true + let consecutiveErrors = 0 + const maxConsecutiveErrors = 3 const poll = async () => { if (!isActive) return try { const data = await fetchFunction() if (isActive) { + consecutiveErrors = 0 + setConnectionError(null) onData(data) } } catch (error) { console.error(`Polling error for ${source}:`, error) + consecutiveErrors++ + + if (consecutiveErrors >= maxConsecutiveErrors) { + setConnectionError(error) + // Stop polling after too many consecutive errors + if (intervalId) { + clearInterval(intervalId) + intervalId = null + } + } } } @@ -139,6 +155,8 @@ export function useCoordinatedPolling(source, fetchFunction, interval = 5000, de }, [fetchFunction, interval]), dependencies ) + + return { ...result, connectionError } } /** diff --git a/frontend/src/pages/Dashboard.jsx b/frontend/src/pages/Dashboard.jsx index 8d4a5ed..610b710 100644 --- a/frontend/src/pages/Dashboard.jsx +++ b/frontend/src/pages/Dashboard.jsx @@ -683,19 +683,63 @@ function CollapsibleArrayForm({ data, schema, uiSchema, onSave, title, icon, get } // StatusBar Component - Real-time PLC status with action buttons -function StatusBar({ status, isConnected, isLeader }) { +function StatusBar({ status, isConnected, isLeader, connectionError }) { const { t } = useTranslation() - const plcConnected = !!status?.plc_connected - const streaming = !!status?.streaming - const csvRecording = !!status?.csv_recording + // If there's a connection error, treat everything as disconnected + const plcConnected = connectionError ? false : !!status?.plc_connected + const streaming = connectionError ? false : !!status?.streaming + const csvRecording = connectionError ? false : !!status?.csv_recording const [actionLoading, setActionLoading] = useState({}) const [plotJugglerFound, setPlotJugglerFound] = useState(false) + const [performanceData, setPerformanceData] = useState(null) + const [performanceLoading, setPerformanceLoading] = useState(false) const toast = useToast() const setLoading = (action, loading) => { setActionLoading(prev => ({ ...prev, [action]: loading })) } + // Load performance data + const loadPerformanceData = useCallback(async () => { + if (!plcConnected || !csvRecording) { + setPerformanceData(null) + return + } + + try { + setPerformanceLoading(true) + const response = await api.getCurrentPerformance() + if (response.success) { + setPerformanceData(response.current_performance) + } + } catch (error) { + // Silently fail - performance data is optional + console.warn('Failed to load performance data:', error) + setPerformanceData(null) + } finally { + setPerformanceLoading(false) + } + }, [plcConnected, csvRecording]) + + // Load performance data when CSV recording is active + useEffect(() => { + if (plcConnected && csvRecording && !connectionError) { + loadPerformanceData() + // Set up interval to refresh performance data every 10 seconds + const interval = setInterval(loadPerformanceData, 10000) + return () => clearInterval(interval) + } else { + setPerformanceData(null) + } + }, [plcConnected, csvRecording, connectionError, loadPerformanceData]) + + // Clear performance data when there's a connection error + useEffect(() => { + if (connectionError) { + setPerformanceData(null) + } + }, [connectionError]) + // Check if PlotJuggler is available on component mount useEffect(() => { const checkPlotJuggler = async () => { @@ -831,7 +875,7 @@ function StatusBar({ status, isConnected, isLeader }) { } return ( - + @@ -949,13 +993,63 @@ function StatusBar({ status, isConnected, isLeader }) { - 🔗 {t('status.tabCoordination')} - - {isLeader ? `👑 ${t('status.leader')}` : `👥 ${t('status.follower')}`} + 📊 Performance + {connectionError ? ( + + Backend disconnected + + ) : performanceLoading ? ( + + + Loading... + + ) : performanceData ? ( + <> + 0 ? 'red.500' : + performanceData.cpu_avg > 50 ? 'orange.500' : 'green.500' + }> + {performanceData.points_rate?.toFixed(1) || '0'} pts/s + + + 🧠 CPU: {performanceData.cpu_avg?.toFixed(1) || '0'}%
+ 📦 Lost: {performanceData.points_lost || 0}
+ ⚠️ Errors: {(performanceData.read_errors || 0) + (performanceData.csv_errors || 0) + (performanceData.udp_errors || 0)} +
+ + ) : (plcConnected && csvRecording) ? ( + + No data + + ) : ( + + Inactive + + )} +
+
+
+ + + + + 🔗 Backend & Tabs + + {connectionError ? '❌ Backend offline' : + isLeader ? `👑 ${t('status.leader')}` : `👥 ${t('status.follower')}`} - {isConnected ? `✅ ${t('status.connected_status')}` : `⏳ ${t('status.connecting_status')}`}
- {isLeader ? t('status.makingConnections') : t('status.receivingData')} + {connectionError ? ( + <>❌ Backend connection lost
🔄 Retrying connection... + ) : ( + <> + {isConnected ? `✅ ${t('status.connected_status')}` : `⏳ ${t('status.connecting_status')}`}
+ {isLeader ? t('status.makingConnections') : t('status.receivingData')} + + )}
@@ -1772,7 +1866,7 @@ function DashboardContent() { const [consoleLogsLoading, setConsoleLogsLoading] = useState(false) // Usar polling coordinado para el status - const { data: status, isLeader, isConnected } = useCoordinatedPolling( + const { data: status, isLeader, isConnected, connectionError } = useCoordinatedPolling( 'dashboard_status', api.getStatus, 5000 // 5 segundos @@ -1855,7 +1949,7 @@ function DashboardContent() { )} - + diff --git a/frontend/src/services/api.js b/frontend/src/services/api.js index 9f26992..acdbcf8 100644 --- a/frontend/src/services/api.js +++ b/frontend/src/services/api.js @@ -348,4 +348,19 @@ export async function getConfigSchema(schemaId) { return toJsonOrThrow(res) } +// Performance Monitoring API +export async function getCurrentPerformance() { + const res = await fetch(`${BASE_URL}/api/performance/current`, { + headers: { 'Accept': 'application/json' } + }) + return toJsonOrThrow(res) +} + +export async function getHistoricalPerformance(windows = 6) { + const res = await fetch(`${BASE_URL}/api/performance/historical?windows=${encodeURIComponent(windows)}`, { + headers: { 'Accept': 'application/json' } + }) + return toJsonOrThrow(res) +} + diff --git a/system_state.json b/system_state.json index 00ba445..530dfda 100644 --- a/system_state.json +++ b/system_state.json @@ -3,12 +3,12 @@ "should_connect": true, "should_stream": false, "active_datasets": [ - "DAR", "Fast", - "Test" + "Test", + "DAR" ] }, "auto_recovery_enabled": true, - "last_update": "2025-08-17T00:10:20.359642", + "last_update": "2025-08-17T10:38:11.919417", "plotjuggler_path": "C:\\Program Files\\PlotJuggler\\plotjuggler.exe" } \ No newline at end of file