diff --git a/application_events.json b/application_events.json index 0ec4679..b1f408e 100644 --- a/application_events.json +++ b/application_events.json @@ -1,10418 +1,5 @@ { "events": [ - { - "timestamp": "2025-08-16T19:57:23.168143", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.026399612426758, - "points_saved": 30, - "points_rate": 2.992100969406594, - "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.03644747734069824, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T19:57:33.195149", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027006149291992, - "points_saved": 30, - "points_rate": 2.9919199762451827, - "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.03289706707000732, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T19:57:43.222208", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.027059316635132, - "points_saved": 30, - "points_rate": 2.991904111929335, - "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.03689603010813395, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T19:57:53.265010", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.04280138015747, - "points_saved": 30, - "points_rate": 2.9872143104685795, - "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.05021814505259196, - "csv_write_time_avg": 3.337860107421875e-05 - } - }, - { - "timestamp": "2025-08-16T19:58:03.293956", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028439044952393, - "points_saved": 30, - "points_rate": 2.9914924810855665, - "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.05262072086334228, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T19:58:13.324651", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.031201601028442, - "points_saved": 31, - "points_rate": 3.090357589545578, - "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.05252535881534699, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T19:58:23.354701", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030050039291382, - "points_saved": 30, - "points_rate": 2.9910119971963254, - "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.05496543248494466, - "csv_write_time_avg": 0.0009754021962483724 - } - }, - { - "timestamp": "2025-08-16T19:58:33.384635", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 11.8% CPU", - "details": { - "duration": 10.029934167861938, - "points_saved": 29, - "points_rate": 2.8913449993442852, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 11.8, - "cpu_max": 11.8, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05393590598270811, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T19:58:43.440781", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.056146621704102, - "points_saved": 30, - "points_rate": 2.983250058750261, - "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.09699368476867676, - "csv_write_time_avg": 4.065831502278646e-05 - } - }, - { - "timestamp": "2025-08-16T19:58:53.479524", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.038742303848267, - "points_saved": 30, - "points_rate": 2.9884221640493505, - "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.10034065246582032, - "csv_write_time_avg": 5.14984130859375e-06 - } - }, - { - "timestamp": "2025-08-16T19:59:03.536999", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.056970119476318, - "points_saved": 29, - "points_rate": 2.8835722544147395, - "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.1041037707493223, - "csv_write_time_avg": 8.163781001650053e-06 - } - }, - { - "timestamp": "2025-08-16T19:59:13.596792", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.060298204421997, - "points_saved": 30, - "points_rate": 2.9820189611092762, - "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.12745335102081298, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T19:59:23.657515", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.060723066329956, - "points_saved": 30, - "points_rate": 2.9818930311679552, - "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.10778122742970785, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T19:59:33.712639", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.055123805999756, - "points_saved": 29, - "points_rate": 2.884101733555592, - "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.10183757749097101, - "csv_write_time_avg": 2.6110945076778018e-05 - } - }, - { - "timestamp": "2025-08-16T19:59:43.759186", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 4.2% CPU", - "details": { - "duration": 10.046547412872314, - "points_saved": 30, - "points_rate": 2.986100474831978, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.2, - "cpu_max": 4.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.09947067101796468, - "csv_write_time_avg": 6.357828776041667e-06 - } - }, - { - "timestamp": "2025-08-16T19:59:53.817610", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.05842399597168, - "points_saved": 30, - "points_rate": 2.9825746073156956, - "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.12103970845540364, - "csv_write_time_avg": 1.4774004618326823e-05 - } - }, - { - "timestamp": "2025-08-16T20:00:03.878175", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.059565544128418, - "points_saved": 29, - "points_rate": 2.8828282765081004, - "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.10835807898948932, - "csv_write_time_avg": 0.00022203346778606545 - } - }, - { - "timestamp": "2025-08-16T20:00:13.941045", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.063868761062622, - "points_saved": 30, - "points_rate": 2.980960971596808, - "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.0994277556737264, - "csv_write_time_avg": 1.3430913289388021e-05 - } - }, - { - "timestamp": "2025-08-16T20:00:23.998397", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.057352066040039, - "points_saved": 30, - "points_rate": 2.982892495262139, - "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.11164917151133219, - "csv_write_time_avg": 8.114178975423177e-06 - } - }, - { - "timestamp": "2025-08-16T20:00:34.057159", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.058762788772583, - "points_saved": 29, - "points_rate": 2.8830583451445237, - "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.12803203484107709, - "csv_write_time_avg": 1.3968040203226023e-05 - } - }, - { - "timestamp": "2025-08-16T20:00:44.102489", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 4.4% CPU", - "details": { - "duration": 10.044338703155518, - "points_saved": 30, - "points_rate": 2.9867571063264955, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.4, - "cpu_max": 4.4, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.09989789326985678, - "csv_write_time_avg": 1.201629638671875e-05 - } - }, - { - "timestamp": "2025-08-16T20:00:54.161570", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 4.7% CPU", - "details": { - "duration": 10.060071468353271, - "points_saved": 30, - "points_rate": 2.982086170498219, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.7, - "cpu_max": 4.7, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10206170876820882, - "csv_write_time_avg": 3.7717819213867185e-05 - } - }, - { - "timestamp": "2025-08-16T20:01:04.206284", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 3.1% CPU", - "details": { - "duration": 10.044714212417603, - "points_saved": 29, - "points_rate": 2.88709060175642, - "variables_saved": 58, - "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.10057111444144413, - "csv_write_time_avg": 9.051684675545528e-06 - } - }, - { - "timestamp": "2025-08-16T20:01:14.246842", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.040558099746704, - "points_saved": 30, - "points_rate": 2.9878817195188403, - "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.11669317881266277, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:01:24.299459", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.05261754989624, - "points_saved": 30, - "points_rate": 2.9842973584834778, - "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.043612011273701984, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:01:34.326093", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.026633024215698, - "points_saved": 30, - "points_rate": 2.9920313157513467, - "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.03376474380493164, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:01:44.352767", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02667498588562, - "points_saved": 30, - "points_rate": 2.992018794089814, - "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.035358858108520505, - "csv_write_time_avg": 6.691614786783854e-06 - } - }, - { - "timestamp": "2025-08-16T20:01:54.378859", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02609133720398, - "points_saved": 30, - "points_rate": 2.9921929684281365, - "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.032598265012105304, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:02:04.405860", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02700138092041, - "points_saved": 30, - "points_rate": 2.991921399062, - "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.03247739473978679, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:02:14.437150", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.031290292739868, - "points_saved": 30, - "points_rate": 2.990642193029989, - "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.028628309567769367, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:02:24.465736", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028585195541382, - "points_saved": 30, - "points_rate": 2.9914488848674017, - "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.033876895904541016, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:02:34.494951", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029215812683105, - "points_saved": 30, - "points_rate": 2.9912607885116524, - "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.032252232233683266, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:02:44.521608", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.02665638923645, - "points_saved": 30, - "points_rate": 2.992024343449607, - "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.03482098579406738, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:02:54.547951", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.02634334564209, - "points_saved": 30, - "points_rate": 2.9921177607626395, - "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.032502452532450356, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:03:04.577358", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.027429342269897, - "points_saved": 30, - "points_rate": 2.991793706641959, - "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.03738287289937337, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:03:14.731353", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 6.5% CPU", - "details": { - "duration": 10.155972003936768, - "points_saved": 30, - "points_rate": 2.9539270085001292, - "variables_saved": 60, - "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.0990382750829061, - "csv_write_time_avg": 0.00029486815134684244 - } - }, - { - "timestamp": "2025-08-16T20:03:24.776051", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 2.3% CPU", - "details": { - "duration": 10.044698238372803, - "points_saved": 30, - "points_rate": 2.9866501997435684, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 2.3, - "cpu_max": 2.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.08978527386983236, - "csv_write_time_avg": 1.0697046915690104e-05 - } - }, - { - "timestamp": "2025-08-16T20:03:34.803356", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.027305364608765, - "points_saved": 30, - "points_rate": 2.9918306971965354, - "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.03613423506418864, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:03:44.829474", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02611780166626, - "points_saved": 30, - "points_rate": 2.9921850703783117, - "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.03512305418650309, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:03:54.858300", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.028825998306274, - "points_saved": 30, - "points_rate": 2.991377057002143, - "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.04462782541910807, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:04:04.885672", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.027372360229492, - "points_saved": 30, - "points_rate": 2.9918107079563367, - "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.03435350259145101, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:04:14.916065", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029346227645874, - "points_saved": 30, - "points_rate": 2.9912218921413896, - "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.036515116691589355, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:04:24.994554", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.048755645751953, - "points_saved": 29, - "points_rate": 2.885929464536195, - "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.09854095557640338, - "csv_write_time_avg": 0.0023049650521113955 - } - }, - { - "timestamp": "2025-08-16T20:04:35.745032", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 32 points saved, 0 lost, 13.2% CPU", - "details": { - "duration": 10.78125810623169, - "points_saved": 32, - "points_rate": 2.9681137103566453, - "variables_saved": 64, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 13.2, - "cpu_max": 13.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12161716818809509, - "csv_write_time_avg": 0.000390760600566864 - } - }, - { - "timestamp": "2025-08-16T20:04:45.781004", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.03597116470337, - "points_saved": 31, - "points_rate": 3.0888889068381715, - "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.03697596826860981, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:04:55.807910", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.026906251907349, - "points_saved": 30, - "points_rate": 2.991949784540302, - "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.033925493558247886, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:05:05.835186", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.027276277542114, - "points_saved": 30, - "points_rate": 2.991839375882201, - "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.03494907220204671, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:05:15.866408", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.031222105026245, - "points_saved": 30, - "points_rate": 2.990662522063807, - "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.03332646687825521, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:05:25.894170", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.027761459350586, - "points_saved": 30, - "points_rate": 2.9916946191441265, - "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.035515213012695314, - "csv_write_time_avg": 1.8755594889322916e-06 - } - }, - { - "timestamp": "2025-08-16T20:05:35.920484", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 5.0% CPU", - "details": { - "duration": 10.02631402015686, - "points_saved": 30, - "points_rate": 2.9921265122644396, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 5.0, - "cpu_max": 5.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.035836442311604814, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:05:45.947302", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 2.5% CPU", - "details": { - "duration": 10.026818037033081, - "points_saved": 30, - "points_rate": 2.991976107394979, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 2.5, - "cpu_max": 2.5, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.03814125855763753, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:05:55.975133", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.027831315994263, - "points_saved": 30, - "points_rate": 2.9916737781727925, - "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.0421536922454834, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:06:06.010303", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 2.8% CPU", - "details": { - "duration": 10.035170316696167, - "points_saved": 30, - "points_rate": 2.989485883471957, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 2.8, - "cpu_max": 2.8, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.037520988782246904, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:06:16.037025", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.6% CPU", - "details": { - "duration": 10.026721715927124, - "points_saved": 30, - "points_rate": 2.992004849635546, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 3.6, - "cpu_max": 3.6, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.035710692405700684, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:06:26.067665", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.9% CPU", - "details": { - "duration": 10.030640125274658, - "points_saved": 30, - "points_rate": 2.9908360409030768, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 3.9, - "cpu_max": 3.9, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.035844914118448895, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:06:36.094840", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 4.2% CPU", - "details": { - "duration": 10.027174472808838, - "points_saved": 30, - "points_rate": 2.991869751678543, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.2, - "cpu_max": 4.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.03671635786692302, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:06:46.121395", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.026555299758911, - "points_saved": 30, - "points_rate": 2.9920545095603623, - "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.037769039471944175, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:06:56.148628", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.026651859283447, - "points_saved": 30, - "points_rate": 2.992025695219854, - "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.03662310441335042, - "csv_write_time_avg": 1.71661376953125e-06 - } - }, - { - "timestamp": "2025-08-16T20:07:06.178943", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030895709991455, - "points_saved": 30, - "points_rate": 2.9907598351479177, - "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.034697858492533366, - "csv_write_time_avg": 2.0424524943033854e-06 - } - }, - { - "timestamp": "2025-08-16T20:07:16.206373", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027430534362793, - "points_saved": 30, - "points_rate": 2.9917933509679897, - "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.035653996467590335, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:07:26.233785", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027412176132202, - "points_saved": 30, - "points_rate": 2.9917988283564974, - "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.03285159269968669, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:07:36.261635", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.027849912643433, - "points_saved": 30, - "points_rate": 2.991668230113321, - "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.0384356419245402, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:07:46.288226", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.026591300964355, - "points_saved": 30, - "points_rate": 2.9920437663709905, - "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.03743555545806885, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:07:56.316212", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.027985334396362, - "points_saved": 30, - "points_rate": 2.991627829480253, - "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.03894407749176025, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:08:06.344584", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028372287750244, - "points_saved": 30, - "points_rate": 2.9915123949521996, - "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.0337595542271932, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:08:16.371749", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027164936065674, - "points_saved": 30, - "points_rate": 2.991872597217993, - "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.0334366242090861, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:08:26.399596", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.027846574783325, - "points_saved": 30, - "points_rate": 2.991669225917352, - "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.036524875958760576, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:08:36.429854", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030258178710938, - "points_saved": 30, - "points_rate": 2.9909499302495046, - "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.040058072408040366, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:08:46.454429", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.024575471878052, - "points_saved": 30, - "points_rate": 2.992645432632935, - "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.051603444417317706, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:08:56.481319", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.026889562606812, - "points_saved": 30, - "points_rate": 2.991954764504311, - "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.04598879814147949, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:09:06.509470", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.027151823043823, - "points_saved": 30, - "points_rate": 2.991876509843576, - "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.04334738254547119, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:09:16.537694", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.029223203659058, - "points_saved": 30, - "points_rate": 2.9912585841199357, - "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.04173709551493327, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:09:26.566290", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028595924377441, - "points_saved": 30, - "points_rate": 2.9914456845425597, - "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.03439753850301107, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:09:36.594284", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.027994632720947, - "points_saved": 30, - "points_rate": 2.9916250555331567, - "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.029642693201700845, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:09:46.625505", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.03122067451477, - "points_saved": 30, - "points_rate": 2.9906629485499936, - "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.036330922444661455, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:09:56.652797", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.027291536331177, - "points_saved": 30, - "points_rate": 2.9918348231227863, - "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.034704939524332686, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:10:06.679855", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027058601379395, - "points_saved": 30, - "points_rate": 2.991904325349508, - "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.03391183217366536, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:10:16.717877", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.038021802902222, - "points_saved": 30, - "points_rate": 2.9886366645793014, - "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.03597617944081624, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:10:26.747934", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030056476593018, - "points_saved": 30, - "points_rate": 2.9910100775614294, - "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.03479468027750651, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:10:36.774102", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.026168823242188, - "points_saved": 30, - "points_rate": 2.992169843625157, - "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.03436587651570638, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:10:46.801190", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027087688446045, - "points_saved": 30, - "points_rate": 2.99189564628703, - "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.03596071402231852, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:10:56.828595", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.02740478515625, - "points_saved": 30, - "points_rate": 2.9918010335445464, - "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.04045720895131429, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:11:06.856390", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027795314788818, - "points_saved": 30, - "points_rate": 2.991684518705375, - "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.03711255391438802, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:11:16.897686", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.041295766830444, - "points_saved": 30, - "points_rate": 2.9876622197604643, - "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.04043362935384114, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:11:26.924523", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.026837348937988, - "points_saved": 30, - "points_rate": 2.9919703447844905, - "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.035480531056722005, - "csv_write_time_avg": 2.8292338053385418e-06 - } - }, - { - "timestamp": "2025-08-16T20:11:36.952263", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.027740001678467, - "points_saved": 30, - "points_rate": 2.9917010208659707, - "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.03361811637878418, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:11:46.980844", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028580665588379, - "points_saved": 30, - "points_rate": 2.9914502361177244, - "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.03160521984100342, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:11:57.008392", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027548789978027, - "points_saved": 30, - "points_rate": 2.9917580685304985, - "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.03467210133870443, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:12:07.035395", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.027002334594727, - "points_saved": 30, - "points_rate": 2.9919211144985285, - "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.036186869939168295, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:12:17.067621", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.0322265625, - "points_saved": 30, - "points_rate": 2.990363087705636, - "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.0361723264058431, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:12:27.094958", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027336597442627, - "points_saved": 30, - "points_rate": 2.9918213783360184, - "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.03572127024332682, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:12:37.124848", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029890298843384, - "points_saved": 30, - "points_rate": 2.991059633370019, - "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.032767168680826825, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:12:47.152565", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027716159820557, - "points_saved": 31, - "points_rate": 3.091431738386454, - "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.03254520508550828, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:12:57.181290", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028725862503052, - "points_saved": 30, - "points_rate": 2.991406925596464, - "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.03372815450032552, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:13:07.209549", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028258562088013, - "points_saved": 30, - "points_rate": 2.9915463202569854, - "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.030529546737670898, - "csv_write_time_avg": 2.368291219075521e-06 - } - }, - { - "timestamp": "2025-08-16T20:13:17.236960", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027411222457886, - "points_saved": 30, - "points_rate": 2.9917991128967083, - "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.03639822006225586, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:13:27.267410", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030449867248535, - "points_saved": 30, - "points_rate": 2.9908927712161866, - "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.03486420313517253, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:13:37.297716", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030306577682495, - "points_saved": 30, - "points_rate": 2.990935498098355, - "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.033480199178059895, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:13:47.327564", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029847621917725, - "points_saved": 30, - "points_rate": 2.9910723603061027, - "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.036837561925252275, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:13:57.356441", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.028876304626465, - "points_saved": 30, - "points_rate": 2.991362051814376, - "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.033074537913004555, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:14:07.384829", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028388738632202, - "points_saved": 30, - "points_rate": 2.991507487581876, - "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.03754512468973795, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:14:17.419650", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.034821033477783, - "points_saved": 30, - "points_rate": 2.9895899388653926, - "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.03320109049479167, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:14:27.446925", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02727484703064, - "points_saved": 30, - "points_rate": 2.9918398027041064, - "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.031467167536417644, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:14:37.473302", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.026377201080322, - "points_saved": 30, - "points_rate": 2.9921076574665033, - "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.037395811080932616, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:14:47.500918", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027616024017334, - "points_saved": 30, - "points_rate": 2.991738009128633, - "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.038094830513000486, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:14:57.526892", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.025974035263062, - "points_saved": 30, - "points_rate": 2.992227976502321, - "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.0388185977935791, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:15:07.555571", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.02867865562439, - "points_saved": 30, - "points_rate": 2.991421006712094, - "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.04392995834350586, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:15:17.588683", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.033111333847046, - "points_saved": 30, - "points_rate": 2.9900993821123034, - "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.04701104958852132, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:15:27.616816", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028133153915405, - "points_saved": 30, - "points_rate": 2.9915837314432485, - "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.03812924226125081, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:15:37.646208", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028392553329468, - "points_saved": 30, - "points_rate": 2.9915063496432315, - "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.04551401933034261, - "csv_write_time_avg": 1.7881393432617188e-06 - } - }, - { - "timestamp": "2025-08-16T20:15:47.675837", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 1 lost, 0.2% CPU", - "details": { - "duration": 10.03062891960144, - "points_saved": 29, - "points_rate": 2.8911447360323934, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 1, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.3548624515533447, - "delay_max": 0.3548624515533447, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12674299601850839, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:15:57.709198", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.033360481262207, - "points_saved": 30, - "points_rate": 2.9900251322601705, - "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.03746376832326253, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:16:07.744156", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.034958600997925, - "points_saved": 30, - "points_rate": 2.9895489550915193, - "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.03513092199961344, - "csv_write_time_avg": 5.141894022623698e-06 - } - }, - { - "timestamp": "2025-08-16T20:16:17.778565", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.034408807754517, - "points_saved": 30, - "points_rate": 2.9897127548576874, - "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.03156462510426839, - "csv_write_time_avg": 2.9134750366210938e-05 - } - }, - { - "timestamp": "2025-08-16T20:16:27.806339", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.0277738571167, - "points_saved": 31, - "points_rate": 3.0914139510634593, - "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.03263687318371188, - "csv_write_time_avg": 3.976206625661542e-06 - } - }, - { - "timestamp": "2025-08-16T20:16:37.833619", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027280330657959, - "points_saved": 30, - "points_rate": 2.99183816655413, - "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.030695478121439617, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:16:47.870914", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.037294626235962, - "points_saved": 30, - "points_rate": 2.988853183763737, - "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.036437360445658366, - "csv_write_time_avg": 3.2782554626464844e-05 - } - }, - { - "timestamp": "2025-08-16T20:16:57.898802", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 2.5% CPU", - "details": { - "duration": 10.027888059616089, - "points_saved": 29, - "points_rate": 2.891934954558143, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 2.5, - "cpu_max": 2.5, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.09807298923360891, - "csv_write_time_avg": 0.0008396526862835062 - } - }, - { - "timestamp": "2025-08-16T20:17:07.939704", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 6.4% CPU", - "details": { - "duration": 10.040902376174927, - "points_saved": 30, - "points_rate": 2.987779272825524, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 6.4, - "cpu_max": 6.4, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.11202456951141357, - "csv_write_time_avg": 1.7571449279785157e-05 - } - }, - { - "timestamp": "2025-08-16T20:17:18.005241", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU", - "details": { - "duration": 10.065537214279175, - "points_saved": 30, - "points_rate": 2.9804668505364416, - "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.09914321104685465, - "csv_write_time_avg": 1.3558069864908854e-05 - } - }, - { - "timestamp": "2025-08-16T20:17:28.061975", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.056733131408691, - "points_saved": 29, - "points_rate": 2.8836402061250523, - "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.09636474477833715, - "csv_write_time_avg": 6.9141387939453125e-06 - } - }, - { - "timestamp": "2025-08-16T20:17:38.129354", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.067379236221313, - "points_saved": 30, - "points_rate": 2.9799215164224, - "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.043860952059427895, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:17:48.158250", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.02889633178711, - "points_saved": 30, - "points_rate": 2.9913560782270165, - "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.03468002478281657, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:17:58.184169", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.02591872215271, - "points_saved": 30, - "points_rate": 2.9922444846589147, - "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.03814523220062256, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:18:08.218499", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.034329891204834, - "points_saved": 30, - "points_rate": 2.989736267919119, - "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.0334993044535319, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:18:18.283390", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.06489109992981, - "points_saved": 30, - "points_rate": 2.9806581812106456, - "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.09246362050374349, - "csv_write_time_avg": 5.1657358805338544e-06 - } - }, - { - "timestamp": "2025-08-16T20:18:28.311795", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.028405666351318, - "points_saved": 30, - "points_rate": 2.991502437985742, - "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.03832996686299642, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:18:38.340631", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028835535049438, - "points_saved": 30, - "points_rate": 2.9913742124052205, - "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.03135521411895752, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:18:48.370663", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030031442642212, - "points_saved": 30, - "points_rate": 2.991017542822089, - "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.03250389099121094, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:18:58.398617", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.027954578399658, - "points_saved": 30, - "points_rate": 2.991637004880375, - "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.03688216209411621, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:19:08.427013", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.028396368026733, - "points_saved": 30, - "points_rate": 2.991505211705452, - "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.03318375746409098, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:19:18.460372", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.033359050750732, - "points_saved": 30, - "points_rate": 2.990025558564586, - "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.03124852180480957, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:19:28.489062", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.028690099716187, - "points_saved": 30, - "points_rate": 2.9914175930961315, - "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.03501841227213542, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:19:38.517984", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.028921127319336, - "points_saved": 30, - "points_rate": 2.991348682390007, - "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.0303525447845459, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:19:48.546366", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028382062911987, - "points_saved": 30, - "points_rate": 2.991509478976588, - "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.032993745803833005, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:19:58.575709", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.029342889785767, - "points_saved": 30, - "points_rate": 2.9912228876483073, - "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.04099477132161458, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:20:08.605317", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029608726501465, - "points_saved": 30, - "points_rate": 2.991143604708159, - "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.04036947091420492, - "csv_write_time_avg": 1.7722447713216146e-06 - } - }, - { - "timestamp": "2025-08-16T20:20:18.638738", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.033420324325562, - "points_saved": 30, - "points_rate": 2.990007298634384, - "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.03794319629669189, - "csv_write_time_avg": 1.7960866292317708e-06 - } - }, - { - "timestamp": "2025-08-16T20:20:28.668194", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02945590019226, - "points_saved": 30, - "points_rate": 2.9911891829969472, - "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.03903431892395019, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:20:38.697471", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029277324676514, - "points_saved": 30, - "points_rate": 2.991242442382819, - "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.035631593068440756, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:20:48.727665", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.03019404411316, - "points_saved": 30, - "points_rate": 2.9909690548417016, - "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.034774033228556316, - "csv_write_time_avg": 6.740093231201172e-05 - } - }, - { - "timestamp": "2025-08-16T20:20:58.756482", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 9.5% CPU", - "details": { - "duration": 10.028816938400269, - "points_saved": 30, - "points_rate": 2.9913797593742304, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 9.5, - "cpu_max": 9.5, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.035613115628560385, - "csv_write_time_avg": 2.0662943522135415e-06 - } - }, - { - "timestamp": "2025-08-16T20:21:08.785296", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.028814315795898, - "points_saved": 30, - "points_rate": 2.991380541640746, - "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.03578222592671712, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:21:18.812744", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027447938919067, - "points_saved": 30, - "points_rate": 2.991788158137665, - "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.03952849706013997, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:21:28.841108", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.028363943099976, - "points_saved": 30, - "points_rate": 2.9915148842041703, - "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.03457535107930501, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:21:38.870304", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029195785522461, - "points_saved": 30, - "points_rate": 2.9912667617184403, - "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.03353997071584066, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:21:48.903443", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03313946723938, - "points_saved": 30, - "points_rate": 2.9900909977337835, - "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.03422455787658692, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:21:58.933375", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029931783676147, - "points_saved": 30, - "points_rate": 2.9910472620387525, - "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.03282898267110189, - "csv_write_time_avg": 6.641546885172526e-05 - } - }, - { - "timestamp": "2025-08-16T20:22:08.962915", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029540061950684, - "points_saved": 30, - "points_rate": 2.9911640827690342, - "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.035478941599528, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:22:18.992392", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.0294771194458, - "points_saved": 30, - "points_rate": 2.9911828545711576, - "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.03797915776570638, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:22:29.027022", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 2.0% CPU", - "details": { - "duration": 10.034629821777344, - "points_saved": 30, - "points_rate": 2.9896469060466417, - "variables_saved": 60, - "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.06627646287282309, - "csv_write_time_avg": 0.00191954771677653 - } - }, - { - "timestamp": "2025-08-16T20:22:39.084742", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 6.1% CPU", - "details": { - "duration": 10.057720422744751, - "points_saved": 30, - "points_rate": 2.9827832489912263, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 6.1, - "cpu_max": 6.1, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10606067975362142, - "csv_write_time_avg": 2.4588902791341147e-05 - } - }, - { - "timestamp": "2025-08-16T20:22:49.138044", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.053301811218262, - "points_saved": 30, - "points_rate": 2.9840942372309613, - "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.0839746077855428, - "csv_write_time_avg": 1.606146494547526e-05 - } - }, - { - "timestamp": "2025-08-16T20:22:59.167320", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029275894165039, - "points_saved": 30, - "points_rate": 2.991242869034422, - "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.0363189697265625, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:23:09.203209", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.035888671875, - "points_saved": 30, - "points_rate": 2.9892719001629895, - "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.03839950561523438, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:23:19.232294", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.0290846824646, - "points_saved": 30, - "points_rate": 2.991299899227458, - "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.03779579798380534, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:23:29.261449", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029155015945435, - "points_saved": 30, - "points_rate": 2.991278921534542, - "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.038338732719421384, - "csv_write_time_avg": 1.8755594889322916e-06 - } - }, - { - "timestamp": "2025-08-16T20:23:39.291647", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030198574066162, - "points_saved": 30, - "points_rate": 2.990967704026047, - "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.03417198657989502, - "csv_write_time_avg": 2.7338663736979167e-06 - } - }, - { - "timestamp": "2025-08-16T20:23:49.318979", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027331829071045, - "points_saved": 30, - "points_rate": 2.99182280105906, - "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.03684562842051188, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:23:59.349397", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030418157577515, - "points_saved": 30, - "points_rate": 2.9909022264776066, - "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.033680121103922524, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:24:09.379115", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029717445373535, - "points_saved": 30, - "points_rate": 2.99111118168521, - "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.035141396522521975, - "csv_write_time_avg": 1.6927719116210937e-06 - } - }, - { - "timestamp": "2025-08-16T20:24:19.408754", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029639482498169, - "points_saved": 30, - "points_rate": 2.9911344323343156, - "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.03457820415496826, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:24:29.440950", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.032195329666138, - "points_saved": 30, - "points_rate": 2.9903723974838488, - "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.038448484738667806, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:24:39.471136", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030186176300049, - "points_saved": 31, - "points_rate": 3.0906704476980438, - "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.0351154419683641, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:24:49.500391", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU", - "details": { - "duration": 10.029255390167236, - "points_saved": 30, - "points_rate": 2.9912489843874397, - "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.03703335126241048, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:24:59.527735", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02734375, - "points_saved": 30, - "points_rate": 2.991819244253993, - "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.04000356992085775, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:25:09.556610", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02887487411499, - "points_saved": 30, - "points_rate": 2.9913624785001005, - "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.0390813668568929, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:25:19.587806", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030128002166748, - "points_saved": 30, - "points_rate": 2.990988748450596, - "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.03879756927490234, - "csv_write_time_avg": 2.1775563557942707e-06 - } - }, - { - "timestamp": "2025-08-16T20:25:29.627182", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.040443897247314, - "points_saved": 30, - "points_rate": 2.987915704426653, - "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.037334195772806805, - "csv_write_time_avg": 3.3513704935709635e-05 - } - }, - { - "timestamp": "2025-08-16T20:25:39.682107", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.6% CPU", - "details": { - "duration": 10.054924964904785, - "points_saved": 30, - "points_rate": 2.9836125187120266, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 3.6, - "cpu_max": 3.6, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.09507724444071451, - "csv_write_time_avg": 0.00038170814514160156 - } - }, - { - "timestamp": "2025-08-16T20:25:49.733477", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 28 points saved, 0 lost, 2.3% CPU", - "details": { - "duration": 10.051370859146118, - "points_saved": 28, - "points_rate": 2.7856896728192804, - "variables_saved": 56, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 2.3, - "cpu_max": 2.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10599373919623238, - "csv_write_time_avg": 6.1052186148507256e-06 - } - }, - { - "timestamp": "2025-08-16T20:25:54.560648", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T20:25:56.601724", - "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-16T20:25:56.634893", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T20:25:56.834027", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-16T20:25:57.787297", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-16T20:25:57.823851", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: test", - "details": { - "dataset_id": "Test" - } - }, - { - "timestamp": "2025-08-16T20:25:57.851419", - "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-16T20:26:02.710987", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-16T20:26:02.790603", - "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-16T20:26:02.820093", - "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-16T20:26:02.849436", - "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-16T20:26:12.791668", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 11.098269701004028, - "points_saved": 30, - "points_rate": 2.7031240732315225, - "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.04196589787801107, - "csv_write_time_avg": 0.0003107005152209052 - } - }, - { - "timestamp": "2025-08-16T20:26:22.819427", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028374910354614, - "points_saved": 30, - "points_rate": 2.9915116126167214, - "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.04623765150705973, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:26:32.878953", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 1.4% CPU", - "details": { - "duration": 10.059526205062866, - "points_saved": 30, - "points_rate": 2.9822478105282215, - "variables_saved": 60, - "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.10939967632293701, - "csv_write_time_avg": 0.00040204524993896483 - } - }, - { - "timestamp": "2025-08-16T20:26:42.937172", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 5.3% CPU", - "details": { - "duration": 10.057713508605957, - "points_saved": 30, - "points_rate": 2.9827852994947883, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 5.3, - "cpu_max": 5.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.07863845030466715, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:26:52.966576", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029909610748291, - "points_saved": 30, - "points_rate": 2.991053874289284, - "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.03570802211761474, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:27:02.994895", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028319120407104, - "points_saved": 30, - "points_rate": 2.9915282551142166, - "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.03672590255737305, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:27:13.024613", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029718160629272, - "points_saved": 30, - "points_rate": 2.991110968378176, - "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.06820622285207113, - "csv_write_time_avg": 1.2540817260742188e-05 - } - }, - { - "timestamp": "2025-08-16T20:27:23.093961", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.069347620010376, - "points_saved": 29, - "points_rate": 2.8800276933899434, - "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.09752940309458766, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:27:33.151365", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.057404041290283, - "points_saved": 30, - "points_rate": 2.9828770800930497, - "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.11552389462788899, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:27:43.222158", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU", - "details": { - "duration": 10.07079267501831, - "points_saved": 30, - "points_rate": 2.978911488707164, - "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.0667178471883138, - "csv_write_time_avg": 6.079673767089844e-06 - } - }, - { - "timestamp": "2025-08-16T20:27:53.250542", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.028384447097778, - "points_saved": 30, - "points_rate": 2.9915087677638867, - "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.04134746392567953, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:28:03.279429", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028887271881104, - "points_saved": 30, - "points_rate": 2.9913587805612, - "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.05299376646677653, - "csv_write_time_avg": 5.213419596354167e-06 - } - }, - { - "timestamp": "2025-08-16T20:28:13.336494", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.056557655334473, - "points_saved": 30, - "points_rate": 2.9831281267588206, - "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.09881341457366943, - "csv_write_time_avg": 4.307428995768229e-06 - } - }, - { - "timestamp": "2025-08-16T20:28:23.400606", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.064618587493896, - "points_saved": 29, - "points_rate": 2.8813809234693553, - "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.09768707998867693, - "csv_write_time_avg": 1.3622744330044451e-05 - } - }, - { - "timestamp": "2025-08-16T20:28:33.457487", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.056880950927734, - "points_saved": 30, - "points_rate": 2.983032229016546, - "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.10811528364817301, - "csv_write_time_avg": 6.604194641113281e-06 - } - }, - { - "timestamp": "2025-08-16T20:28:43.506271", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.048784732818604, - "points_saved": 30, - "points_rate": 2.9854356320344064, - "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.1126608689626058, - "csv_write_time_avg": 1.857280731201172e-05 - } - }, - { - "timestamp": "2025-08-16T20:28:53.552686", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.046415090560913, - "points_saved": 29, - "points_rate": 2.8866018115503596, - "variables_saved": 58, - "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.1220412829826618, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:29:03.613875", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU", - "details": { - "duration": 10.061188697814941, - "points_saved": 30, - "points_rate": 2.981755029255669, - "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.10167642434438069, - "csv_write_time_avg": 1.0442733764648437e-05 - } - }, - { - "timestamp": "2025-08-16T20:29:13.668357", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.054481983184814, - "points_saved": 30, - "points_rate": 2.9837439711137987, - "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.09935971895853678, - "csv_write_time_avg": 1.7555554707845054e-05 - } - }, - { - "timestamp": "2025-08-16T20:29:23.730554", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.062196969985962, - "points_saved": 30, - "points_rate": 2.98145624553818, - "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.08682186603546142, - "csv_write_time_avg": 7.518132527669271e-06 - } - }, - { - "timestamp": "2025-08-16T20:29:33.759519", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02896523475647, - "points_saved": 30, - "points_rate": 2.9913355264241757, - "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.035642512639363605, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:29:43.787739", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.028219938278198, - "points_saved": 30, - "points_rate": 2.9915578422336506, - "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.03286480903625488, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:29:53.813505", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.025765895843506, - "points_saved": 30, - "points_rate": 2.9922900965039925, - "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.03808635870615641, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:30:03.842691", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.029186248779297, - "points_saved": 30, - "points_rate": 2.9912696061110093, - "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.04254205226898193, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:30:13.873737", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03104543685913, - "points_saved": 30, - "points_rate": 2.990715194028016, - "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.031726622581481935, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:30:23.900645", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.026907682418823, - "points_saved": 30, - "points_rate": 2.9919493576870155, - "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.037621323267618814, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:30:33.969528", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.068883895874023, - "points_saved": 29, - "points_rate": 2.8801603335483366, - "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.12197236357064083, - "csv_write_time_avg": 1.2003142258216595e-05 - } - }, - { - "timestamp": "2025-08-16T20:30:44.048974", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.048705816268921, - "points_saved": 30, - "points_rate": 2.9854590778675005, - "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.11049581368764241, - "csv_write_time_avg": 0.0016467968622843425 - } - }, - { - "timestamp": "2025-08-16T20:30:54.355278", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 9.5% CPU", - "details": { - "duration": 10.336124420166016, - "points_saved": 30, - "points_rate": 2.9024418418831446, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 9.5, - "cpu_max": 9.5, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.11410725911458333, - "csv_write_time_avg": 0.0010879357655843099 - } - }, - { - "timestamp": "2025-08-16T20:31:04.404694", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 12.1% CPU", - "details": { - "duration": 10.049290657043457, - "points_saved": 30, - "points_rate": 2.985285332450134, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 12.1, - "cpu_max": 12.1, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10933043956756591, - "csv_write_time_avg": 0.0005063533782958985 - } - }, - { - "timestamp": "2025-08-16T20:31:14.466839", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 9.1% CPU", - "details": { - "duration": 10.06318998336792, - "points_saved": 30, - "points_rate": 2.981162042014801, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 9.1, - "cpu_max": 9.1, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12925450801849364, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:31:24.531714", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 4.2% CPU", - "details": { - "duration": 10.06487488746643, - "points_saved": 29, - "points_rate": 2.881307549695731, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.2, - "cpu_max": 4.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10363353531936119, - "csv_write_time_avg": 2.3800751258587016e-05 - } - }, - { - "timestamp": "2025-08-16T20:31:34.583364", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.1% CPU", - "details": { - "duration": 10.051649570465088, - "points_saved": 30, - "points_rate": 2.9845847479750436, - "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.10593210856119792, - "csv_write_time_avg": 2.3698806762695314e-05 - } - }, - { - "timestamp": "2025-08-16T20:31:44.651579", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 4.0% CPU", - "details": { - "duration": 10.068215370178223, - "points_saved": 29, - "points_rate": 2.8803515751060713, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.0, - "cpu_max": 4.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.11364798710264008, - "csv_write_time_avg": 6.0920057625606145e-06 - } - }, - { - "timestamp": "2025-08-16T20:31:54.711849", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.060269832611084, - "points_saved": 30, - "points_rate": 2.9820273709511107, - "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.11368660132090251, - "csv_write_time_avg": 6.741682688395182e-05 - } - }, - { - "timestamp": "2025-08-16T20:32:04.774314", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.062464475631714, - "points_saved": 30, - "points_rate": 2.981376984997169, - "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.0987195094426473, - "csv_write_time_avg": 6.6121419270833336e-06 - } - }, - { - "timestamp": "2025-08-16T20:32:14.806499", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.032185554504395, - "points_saved": 30, - "points_rate": 2.9903753112431386, - "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.10536956787109375, - "csv_write_time_avg": 1.3510386149088541e-05 - } - }, - { - "timestamp": "2025-08-16T20:32:24.867212", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.060713291168213, - "points_saved": 29, - "points_rate": 2.882499397478867, - "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.09890340114461965, - "csv_write_time_avg": 5.508291310277478e-06 - } - }, - { - "timestamp": "2025-08-16T20:32:34.907046", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.039833784103394, - "points_saved": 30, - "points_rate": 2.9880972778155557, - "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.12794120311737062, - "csv_write_time_avg": 1.7642974853515625e-05 - } - }, - { - "timestamp": "2025-08-16T20:32:44.946821", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.039775133132935, - "points_saved": 30, - "points_rate": 2.988114733864406, - "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.10144824981689453, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:32:54.994281", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.047460079193115, - "points_saved": 29, - "points_rate": 2.886301589797301, - "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.09549618589467015, - "csv_write_time_avg": 2.745924324824892e-05 - } - }, - { - "timestamp": "2025-08-16T20:33:05.055233", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.060445070266724, - "points_saved": 30, - "points_rate": 2.9819754285686524, - "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.0968080202738444, - "csv_write_time_avg": 5.1657358805338544e-06 - } - }, - { - "timestamp": "2025-08-16T20:33:15.097269", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.04155421257019, - "points_saved": 29, - "points_rate": 2.8879991469544923, - "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.12006101114996548, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:33:25.142195", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.045251607894897, - "points_saved": 30, - "points_rate": 2.986485672138068, - "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.10037967363993326, - "csv_write_time_avg": 4.947185516357422e-05 - } - }, - { - "timestamp": "2025-08-16T20:33:35.178137", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.035947799682617, - "points_saved": 29, - "points_rate": 2.8896124789446507, - "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.09905942555131583, - "csv_write_time_avg": 1.6689300537109375e-05 - } - }, - { - "timestamp": "2025-08-16T20:33:45.232294", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.054814338684082, - "points_saved": 30, - "points_rate": 2.9836453453526652, - "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.09949084917704264, - "csv_write_time_avg": 4.9336751302083334e-05 - } - }, - { - "timestamp": "2025-08-16T20:33:55.290776", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.057975053787231, - "points_saved": 29, - "points_rate": 2.8832841446629294, - "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.09991533180762982, - "csv_write_time_avg": 3.1734335011449352e-06 - } - }, - { - "timestamp": "2025-08-16T20:34:05.339702", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.049432754516602, - "points_saved": 30, - "points_rate": 2.985243120962907, - "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.11908141771952312, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:34:15.397850", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.058147668838501, - "points_saved": 30, - "points_rate": 2.9826565474818043, - "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.11093327999114991, - "csv_write_time_avg": 1.8366177876790364e-05 - } - }, - { - "timestamp": "2025-08-16T20:34:25.467979", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.9% CPU", - "details": { - "duration": 10.070128679275513, - "points_saved": 29, - "points_rate": 2.8798043126978574, - "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.10068343425619192, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:34:35.518865", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.050886392593384, - "points_saved": 30, - "points_rate": 2.984811371672388, - "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.09875516096750896, - "csv_write_time_avg": 6.758371988932291e-05 - } - }, - { - "timestamp": "2025-08-16T20:34:45.554477", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.035611629486084, - "points_saved": 30, - "points_rate": 2.9893544217928527, - "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.11336447397867838, - "csv_write_time_avg": 1.904169718424479e-05 - } - }, - { - "timestamp": "2025-08-16T20:34:55.619764", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.065287590026855, - "points_saved": 29, - "points_rate": 2.881189408709446, - "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.11208909955518, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:35:05.683805", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.064041137695312, - "points_saved": 30, - "points_rate": 2.9809099137754584, - "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.10107569694519043, - "csv_write_time_avg": 5.633036295572917e-05 - } - }, - { - "timestamp": "2025-08-16T20:35:15.741266", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.057461261749268, - "points_saved": 30, - "points_rate": 2.9828601094489504, - "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.09910091559092203, - "csv_write_time_avg": 8.249282836914063e-06 - } - }, - { - "timestamp": "2025-08-16T20:35:25.798267", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.057000398635864, - "points_saved": 30, - "points_rate": 2.9829967993308633, - "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.10716458956400553, - "csv_write_time_avg": 6.580352783203125e-06 - } - }, - { - "timestamp": "2025-08-16T20:35:35.848457", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.050190448760986, - "points_saved": 29, - "points_rate": 2.8855174583855967, - "variables_saved": 58, - "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.11795708228801859, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:35:45.916259", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.067801475524902, - "points_saved": 30, - "points_rate": 2.9797965397838655, - "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.09771673679351807, - "csv_write_time_avg": 1.2183189392089844e-05 - } - }, - { - "timestamp": "2025-08-16T20:35:55.977782", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU", - "details": { - "duration": 10.061522960662842, - "points_saved": 30, - "points_rate": 2.9816559697065617, - "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.09865960280100504, - "csv_write_time_avg": 4.903475443522135e-06 - } - }, - { - "timestamp": "2025-08-16T20:36:06.041514", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.063731670379639, - "points_saved": 29, - "points_rate": 2.881634859696733, - "variables_saved": 58, - "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.09901849154768319, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:36:16.106187", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 6.2% CPU", - "details": { - "duration": 10.064673900604248, - "points_saved": 30, - "points_rate": 2.980722504898932, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 6.2, - "cpu_max": 6.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12689419587453207, - "csv_write_time_avg": 4.649162292480469e-06 - } - }, - { - "timestamp": "2025-08-16T20:36:26.174803", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.06733775138855, - "points_saved": 30, - "points_rate": 2.9799337958898033, - "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.10273760159810384, - "csv_write_time_avg": 9.433428446451824e-06 - } - }, - { - "timestamp": "2025-08-16T20:36:36.239816", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.065298318862915, - "points_saved": 29, - "points_rate": 2.8811863375825064, - "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.10500072610789332, - "csv_write_time_avg": 0.0005238960529195851 - } - }, - { - "timestamp": "2025-08-16T20:36:46.303292", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.4% CPU", - "details": { - "duration": 10.063335180282593, - "points_saved": 30, - "points_rate": 2.981119028886163, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 3.4, - "cpu_max": 3.4, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10174032052357991, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:36:56.364121", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 5.3% CPU", - "details": { - "duration": 10.061962842941284, - "points_saved": 30, - "points_rate": 2.981525619630542, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 5.3, - "cpu_max": 5.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.04073771635691325, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:37:06.394866", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030744552612305, - "points_saved": 30, - "points_rate": 2.9908049041271925, - "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.03560118675231934, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:37:16.423447", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028580665588379, - "points_saved": 30, - "points_rate": 2.9914502361177244, - "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.03720237414042155, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:37:26.453755", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030308723449707, - "points_saved": 30, - "points_rate": 2.9909348582525137, - "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.041125551859537764, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:37:36.483145", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029389381408691, - "points_saved": 30, - "points_rate": 2.991209021718759, - "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.047101593017578124, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:37:46.512150", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029005289077759, - "points_saved": 30, - "points_rate": 2.991323579485192, - "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.04483318328857422, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:37:56.541352", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.029202222824097, - "points_saved": 30, - "points_rate": 2.991264841756514, - "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.04510513146718343, - "csv_write_time_avg": 2.837181091308594e-06 - } - }, - { - "timestamp": "2025-08-16T20:38:06.569938", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028585433959961, - "points_saved": 30, - "points_rate": 2.9914488137489976, - "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.03943785031636556, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:38:16.599008", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.029070377349854, - "points_saved": 30, - "points_rate": 2.9913041659128723, - "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.033607975641886396, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:38:26.628802", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029793500900269, - "points_saved": 30, - "points_rate": 2.991088500207628, - "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.033319767316182455, - "csv_write_time_avg": 2.280871073404948e-06 - } - }, - { - "timestamp": "2025-08-16T20:38:36.658161", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.029359340667725, - "points_saved": 30, - "points_rate": 2.991217981227771, - "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.05154252052307129, - "csv_write_time_avg": 0.00017143090565999348 - } - }, - { - "timestamp": "2025-08-16T20:38:46.718914", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 2.8% CPU", - "details": { - "duration": 10.058753967285156, - "points_saved": 30, - "points_rate": 2.9824767657675357, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 2.8, - "cpu_max": 2.8, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10460737546284994, - "csv_write_time_avg": 0.002077031135559082 - } - }, - { - "timestamp": "2025-08-16T20:38:56.825641", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 8.7% CPU", - "details": { - "duration": 10.107733011245728, - "points_saved": 29, - "points_rate": 2.8690904248989355, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 8.7, - "cpu_max": 8.7, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.11106049603429334, - "csv_write_time_avg": 0.0018250202310496364 - } - }, - { - "timestamp": "2025-08-16T20:39:06.883871", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 12.0% CPU", - "details": { - "duration": 10.059223651885986, - "points_saved": 31, - "points_rate": 3.081748758433049, - "variables_saved": 62, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 12.0, - "cpu_max": 12.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.08341622352600098, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:39:16.935123", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.051251411437988, - "points_saved": 29, - "points_rate": 2.885212876776614, - "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.08391529938270306, - "csv_write_time_avg": 0.0005917466919997643 - } - }, - { - "timestamp": "2025-08-16T20:39:27.001582", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 7.5% CPU", - "details": { - "duration": 10.06645941734314, - "points_saved": 30, - "points_rate": 2.9801938056109463, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 7.5, - "cpu_max": 7.5, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.049323050181070964, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:39:37.030232", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028649806976318, - "points_saved": 30, - "points_rate": 2.991429611903572, - "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.050429495175679524, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:39:47.100187", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.068791627883911, - "points_saved": 30, - "points_rate": 2.979503510323899, - "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.1303873300552368, - "csv_write_time_avg": 0.003666234016418457 - } - }, - { - "timestamp": "2025-08-16T20:39:57.130741", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 8.1% CPU", - "details": { - "duration": 10.031717300415039, - "points_saved": 30, - "points_rate": 2.9905148940709103, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 8.1, - "cpu_max": 8.1, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.04050344626108805, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:40:07.162804", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.032063484191895, - "points_saved": 30, - "points_rate": 2.9904116981788187, - "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.03976258436838786, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:40:17.191193", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028388261795044, - "points_saved": 30, - "points_rate": 2.9915076298242678, - "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.03728508949279785, - "csv_write_time_avg": 2.384185791015625e-06 - } - }, - { - "timestamp": "2025-08-16T20:40:27.221083", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029889583587646, - "points_saved": 30, - "points_rate": 2.991059846669731, - "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.03533314863840739, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:40:37.250665", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029582262039185, - "points_saved": 30, - "points_rate": 2.991151497260913, - "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.03366369406382243, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:40:47.283122", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.03245759010315, - "points_saved": 30, - "points_rate": 2.9902942255738507, - "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.038564658164978026, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:40:57.316541", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.033418893814087, - "points_saved": 30, - "points_rate": 2.9900077249337143, - "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.044162686665852866, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:41:07.345455", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.028913974761963, - "points_saved": 30, - "points_rate": 2.991350815800776, - "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.03725996017456055, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:41:17.375494", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030039072036743, - "points_saved": 30, - "points_rate": 2.991015267691083, - "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.03471035162607829, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:41:27.403633", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.028138160705566, - "points_saved": 30, - "points_rate": 2.9915822378228225, - "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.03552371660868327, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:41:37.433936", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030303001403809, - "points_saved": 30, - "points_rate": 2.990936564508699, - "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.03182211716969808, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:41:47.461630", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.02769422531128, - "points_saved": 30, - "points_rate": 2.99171467796414, - "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.03522191047668457, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:41:57.488805", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027174949645996, - "points_saved": 30, - "points_rate": 2.991869609401712, - "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.04017088413238525, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:42:07.518211", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029406309127808, - "points_saved": 30, - "points_rate": 2.991203973130181, - "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.03855424722035726, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:42:17.545223", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027012348175049, - "points_saved": 30, - "points_rate": 2.9919181265853436, - "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.035361131032307945, - "csv_write_time_avg": 1.9391377766927082e-06 - } - }, - { - "timestamp": "2025-08-16T20:42:27.572199", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.026975393295288, - "points_saved": 30, - "points_rate": 2.9919291534374386, - "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.033144172032674155, - "csv_write_time_avg": 3.333886464436849e-05 - } - }, - { - "timestamp": "2025-08-16T20:42:37.599626", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027427911758423, - "points_saved": 30, - "points_rate": 2.9917941334508344, - "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.036641478538513184, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:42:47.627542", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.027915477752686, - "points_saved": 30, - "points_rate": 2.991648669811403, - "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.03286041418711345, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:42:57.657210", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029668092727661, - "points_saved": 30, - "points_rate": 2.991125899944035, - "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.03320193290710449, - "csv_write_time_avg": 1.6768773396809896e-06 - } - }, - { - "timestamp": "2025-08-16T20:43:07.691711", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.034500360488892, - "points_saved": 30, - "points_rate": 2.9896854773283765, - "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.07593237559000651, - "csv_write_time_avg": 0.00296479066212972 - } - }, - { - "timestamp": "2025-08-16T20:43:17.782444", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 16.1% CPU", - "details": { - "duration": 10.089764595031738, - "points_saved": 30, - "points_rate": 2.973310201386877, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 16.1, - "cpu_max": 16.1, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12472867965698242, - "csv_write_time_avg": 0.0010937690734863282 - } - }, - { - "timestamp": "2025-08-16T20:43:27.859659", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 9.8% CPU", - "details": { - "duration": 10.062681913375854, - "points_saved": 29, - "points_rate": 2.881935477007541, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 9.8, - "cpu_max": 9.8, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12268065584116969, - "csv_write_time_avg": 0.0027132445368273504 - } - }, - { - "timestamp": "2025-08-16T20:43:38.192648", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 9.8% CPU", - "details": { - "duration": 10.348491430282593, - "points_saved": 31, - "points_rate": 2.9956057082180396, - "variables_saved": 62, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 9.8, - "cpu_max": 9.8, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10223702461488786, - "csv_write_time_avg": 0.0005253976391207787 - } - }, - { - "timestamp": "2025-08-16T20:43:48.253908", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.06025767326355, - "points_saved": 29, - "points_rate": 2.8826299426774415, - "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.1089395079119452, - "csv_write_time_avg": 6.207104386954472e-06 - } - }, - { - "timestamp": "2025-08-16T20:43:58.326209", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.073302507400513, - "points_saved": 30, - "points_rate": 2.978169272486359, - "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.12354648113250732, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:44:08.391497", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.064391374588013, - "points_saved": 30, - "points_rate": 2.980806179273613, - "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.11173728307088217, - "csv_write_time_avg": 1.5934308369954426e-05 - } - }, - { - "timestamp": "2025-08-16T20:44:18.452576", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.060974836349487, - "points_saved": 29, - "points_rate": 2.8824244640017733, - "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.10105233356870454, - "csv_write_time_avg": 5.072560803643588e-06 - } - }, - { - "timestamp": "2025-08-16T20:44:28.509613", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.058038473129272, - "points_saved": 30, - "points_rate": 2.9826889288748517, - "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.10302333037058513, - "csv_write_time_avg": 4.855791727701823e-06 - } - }, - { - "timestamp": "2025-08-16T20:44:38.554668", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.045054197311401, - "points_saved": 30, - "points_rate": 2.986544364094085, - "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.12618552843729655, - "csv_write_time_avg": 0.0015963872273763021 - } - }, - { - "timestamp": "2025-08-16T20:44:48.600352", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 6.2% CPU", - "details": { - "duration": 10.045684099197388, - "points_saved": 29, - "points_rate": 2.886811860062073, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 6.2, - "cpu_max": 6.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.07831774086787782, - "csv_write_time_avg": 5.845365853145205e-06 - } - }, - { - "timestamp": "2025-08-16T20:44:58.629310", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028958559036255, - "points_saved": 30, - "points_rate": 2.9913375175899506, - "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.03625458081563314, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:45:08.657989", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.028679132461548, - "points_saved": 30, - "points_rate": 2.99142086447794, - "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.03550413449605306, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:45:18.688559", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030569314956665, - "points_saved": 30, - "points_rate": 2.99085715456517, - "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.03524561723073324, - "csv_write_time_avg": 3.332297007242839e-05 - } - }, - { - "timestamp": "2025-08-16T20:45:28.719481", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.030922174453735, - "points_saved": 30, - "points_rate": 2.9907519446619317, - "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.035062305132548016, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:45:38.748395", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028914213180542, - "points_saved": 30, - "points_rate": 2.9913507446870344, - "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.033526492118835446, - "csv_write_time_avg": 2.392133076985677e-06 - } - }, - { - "timestamp": "2025-08-16T20:45:48.778363", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029967784881592, - "points_saved": 31, - "points_rate": 3.0907377436173857, - "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.03895238907106461, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:45:58.807564", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.02920150756836, - "points_saved": 29, - "points_rate": 2.8915562199159788, - "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.03384844188032479, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:46:08.836429", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028864860534668, - "points_saved": 30, - "points_rate": 2.991365465303579, - "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.039566294352213545, - "csv_write_time_avg": 2.304712931315104e-06 - } - }, - { - "timestamp": "2025-08-16T20:46:18.865642", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029212713241577, - "points_saved": 30, - "points_rate": 2.991261712934952, - "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.03922937711079915, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:46:26.971973", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T20:46:28.895331", - "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-16T20:46:28.925838", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T20:46:28.952451", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: test", - "details": { - "dataset_id": "Test" - } - }, - { - "timestamp": "2025-08-16T20:46:29.008908", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-16T20:46:29.340080", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-16T20:46:29.366218", - "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-16T20:46:32.288291", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-16T20:46:32.370290", - "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-16T20:46:32.408231", - "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-16T20:46:32.438922", - "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-16T20:46:42.371369", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 11.089497327804565, - "points_saved": 30, - "points_rate": 2.705262385949754, - "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.038559611638387045, - "csv_write_time_avg": 0.0002069391053298424 - } - }, - { - "timestamp": "2025-08-16T20:46:52.401154", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.029784679412842, - "points_saved": 30, - "points_rate": 2.991091130956985, - "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.04308903217315674, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:47:02.448504", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.1% CPU", - "details": { - "duration": 10.03435206413269, - "points_saved": 30, - "points_rate": 2.9897296614928988, - "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.09004952907562255, - "csv_write_time_avg": 0.0003996133804321289 - } - }, - { - "timestamp": "2025-08-16T20:47:12.521939", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 10.2% CPU", - "details": { - "duration": 10.086433172225952, - "points_saved": 30, - "points_rate": 2.9742922485827927, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 10.2, - "cpu_max": 10.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10428303082784017, - "csv_write_time_avg": 0.0020782073338826497 - } - }, - { - "timestamp": "2025-08-16T20:47:22.589060", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 4.2% CPU", - "details": { - "duration": 10.0659658908844, - "points_saved": 29, - "points_rate": 2.880995258116462, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.2, - "cpu_max": 4.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10059090318350956, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:47:32.649353", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.061448335647583, - "points_saved": 30, - "points_rate": 2.9816780844275055, - "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.11059606075286865, - "csv_write_time_avg": 0.0009559790293375651 - } - }, - { - "timestamp": "2025-08-16T20:47:42.709289", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 6.7% CPU", - "details": { - "duration": 10.058944463729858, - "points_saved": 30, - "points_rate": 2.9824202835767517, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 6.7, - "cpu_max": 6.7, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12008512814839681, - "csv_write_time_avg": 1.6395250956217448e-05 - } - }, - { - "timestamp": "2025-08-16T20:47:51.564754", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T20:47:52.741233", - "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-16T20:47:52.772865", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T20:47:53.129072", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-16T20:47:53.952944", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-16T20:47:53.981323", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: test", - "details": { - "dataset_id": "Test" - } - }, - { - "timestamp": "2025-08-16T20:47:54.012048", - "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-16T20:47:56.691366", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-16T20:47:56.757040", - "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-16T20:47:56.788324", - "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-16T20:47:56.818399", - "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-16T20:48:06.757497", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 11.069613456726074, - "points_saved": 30, - "points_rate": 2.710121732549886, - "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.044919482866923016, - "csv_write_time_avg": 0.00013764973344474002 - } - }, - { - "timestamp": "2025-08-16T20:48:16.786876", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 2.6% CPU", - "details": { - "duration": 10.029379606246948, - "points_saved": 30, - "points_rate": 2.9912119371086576, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 2.6, - "cpu_max": 2.6, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.1026104211807251, - "csv_write_time_avg": 0.00017365614573160807 - } - }, - { - "timestamp": "2025-08-16T20:48:26.849456", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 7.5% CPU", - "details": { - "duration": 10.06257963180542, - "points_saved": 30, - "points_rate": 2.981342866115279, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 7.5, - "cpu_max": 7.5, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10060224533081055, - "csv_write_time_avg": 3.925164540608724e-05 - } - }, - { - "timestamp": "2025-08-16T20:48:36.920056", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 2.6% CPU", - "details": { - "duration": 10.069708585739136, - "points_saved": 30, - "points_rate": 2.9792321937187363, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 2.6, - "cpu_max": 2.6, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.0979474941889445, - "csv_write_time_avg": 1.2771288553873699e-05 - } - }, - { - "timestamp": "2025-08-16T20:48:46.997318", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.076756000518799, - "points_saved": 29, - "points_rate": 2.877910311464021, - "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.10109890740493248, - "csv_write_time_avg": 0.0005463978339885844 - } - }, - { - "timestamp": "2025-08-16T20:48:57.091924", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 5.6% CPU", - "details": { - "duration": 10.09600305557251, - "points_saved": 30, - "points_rate": 2.971472951708492, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 5.6, - "cpu_max": 5.6, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.11587661107381185, - "csv_write_time_avg": 0.0010371764500935873 - } - }, - { - "timestamp": "2025-08-16T20:49:07.160980", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.1% CPU", - "details": { - "duration": 10.069056034088135, - "points_saved": 30, - "points_rate": 2.979425270694388, - "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.11006903648376465, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:49:17.198982", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.038002729415894, - "points_saved": 29, - "points_rate": 2.8890209319247213, - "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.09850378694205449, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:49:27.249564", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.050581455230713, - "points_saved": 30, - "points_rate": 2.9849019316575793, - "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.10142248471577962, - "csv_write_time_avg": 2.052783966064453e-05 - } - }, - { - "timestamp": "2025-08-16T20:49:30.240498", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T20:49:32.270249", - "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-16T20:49:32.301674", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-16T20:49:32.332056", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: test", - "details": { - "dataset_id": "Test" - } - }, - { - "timestamp": "2025-08-16T20:49:32.424145", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-16T20:49:32.568112", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-16T20:49:32.598876", - "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-16T20:49:37.449594", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-16T20:49:37.516092", - "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-16T20:49:37.547014", - "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-16T20:49:37.575463", - "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-16T20:49:47.516925", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 11.078372716903687, - "points_saved": 30, - "points_rate": 2.7079789393820604, - "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.0445414940516154, - "csv_write_time_avg": 0.0005309828396501212 - } - }, - { - "timestamp": "2025-08-16T20:49:57.547099", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.0% CPU", - "details": { - "duration": 10.030174016952515, - "points_saved": 30, - "points_rate": 2.990975026883427, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 3.0, - "cpu_max": 3.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.08463428815205892, - "csv_write_time_avg": 0.0004153728485107422 - } - }, - { - "timestamp": "2025-08-16T20:50:07.585133", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 4.7% CPU", - "details": { - "duration": 10.038033962249756, - "points_saved": 30, - "points_rate": 2.988633044361239, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.7, - "cpu_max": 4.7, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10028981367746989, - "csv_write_time_avg": 5.404154459635417e-06 - } - }, - { - "timestamp": "2025-08-16T20:50:17.631971", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.045838117599487, - "points_saved": 29, - "points_rate": 2.8867676007235645, - "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.08414169015555546, - "csv_write_time_avg": 3.4751563236631197e-05 - } - }, - { - "timestamp": "2025-08-16T20:50:27.662777", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031805992126465, - "points_saved": 30, - "points_rate": 2.9904884547753134, - "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.03381749788920085, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:50:37.698668", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.035891056060791, - "points_saved": 30, - "points_rate": 2.9892711900138305, - "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.10107214450836181, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:50:47.762811", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.063127040863037, - "points_saved": 30, - "points_rate": 2.981180688485786, - "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.1311439832051595, - "csv_write_time_avg": 0.002040394147237142 - } - }, - { - "timestamp": "2025-08-16T20:50:57.806541", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 7.0% CPU", - "details": { - "duration": 10.044746160507202, - "points_saved": 30, - "points_rate": 2.9866359508367277, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 7.0, - "cpu_max": 7.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.07543189525604248, - "csv_write_time_avg": 2.9826164245605467e-05 - } - }, - { - "timestamp": "2025-08-16T20:51:07.837176", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.030635118484497, - "points_saved": 30, - "points_rate": 2.9908375337784814, - "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.03454430103302002, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:51:17.866326", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029149770736694, - "points_saved": 30, - "points_rate": 2.9912804859625046, - "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.03503462473551432, - "csv_write_time_avg": 1.724561055501302e-06 - } - }, - { - "timestamp": "2025-08-16T20:51:27.899027", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.032700538635254, - "points_saved": 30, - "points_rate": 2.990221813605621, - "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.03171673615773519, - "csv_write_time_avg": 3.0358632405598956e-06 - } - }, - { - "timestamp": "2025-08-16T20:51:37.928687", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.028661012649536, - "points_saved": 30, - "points_rate": 2.9914262693852995, - "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.034659775098164876, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:51:47.957609", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029921054840088, - "points_saved": 30, - "points_rate": 2.9910504615111653, - "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.03645302454630534, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:51:57.986526", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028917074203491, - "points_saved": 30, - "points_rate": 2.9913498913224026, - "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.04102790355682373, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:52:08.016539", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.0300133228302, - "points_saved": 30, - "points_rate": 2.9910229462721, - "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.0362394650777181, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:52:18.047492", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.03095269203186, - "points_saved": 30, - "points_rate": 2.9907428457748244, - "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.03687135378519694, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:52:28.076824", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029331684112549, - "points_saved": 30, - "points_rate": 2.9912262297120913, - "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.03505408763885498, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:52:38.106278", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.029454231262207, - "points_saved": 30, - "points_rate": 2.991189680739437, - "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.03737199306488037, - "csv_write_time_avg": 1.8358230590820313e-06 - } - }, - { - "timestamp": "2025-08-16T20:52:48.137868", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.031590700149536, - "points_saved": 30, - "points_rate": 2.9905526348431266, - "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.03934734662373861, - "csv_write_time_avg": 2.463658650716146e-06 - } - }, - { - "timestamp": "2025-08-16T20:52:58.178194", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.038325309753418, - "points_saved": 30, - "points_rate": 2.9885463037197506, - "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.03694597085316976, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:53:08.210562", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.03436803817749, - "points_saved": 30, - "points_rate": 2.9897249020426404, - "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.03930521011352539, - "csv_write_time_avg": 1.8914540608723959e-06 - } - }, - { - "timestamp": "2025-08-16T20:53:18.239581", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029018878936768, - "points_saved": 30, - "points_rate": 2.991319526081146, - "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.03619508743286133, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:53:28.269430", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029849529266357, - "points_saved": 30, - "points_rate": 2.991071791502178, - "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.04249527454376221, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:53:38.299417", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029986381530762, - "points_saved": 29, - "points_rate": 2.891329947705678, - "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.0926489336737271, - "csv_write_time_avg": 3.983234537058863e-05 - } - }, - { - "timestamp": "2025-08-16T20:53:48.367885", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.068468809127808, - "points_saved": 30, - "points_rate": 2.979599040203888, - "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.12407302061716716, - "csv_write_time_avg": 3.333091735839844e-05 - } - }, - { - "timestamp": "2025-08-16T20:53:58.435476", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.067591190338135, - "points_saved": 30, - "points_rate": 2.979858779803355, - "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.10508711338043213, - "csv_write_time_avg": 8.042653401692709e-06 - } - }, - { - "timestamp": "2025-08-16T20:54:08.502790", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.06731390953064, - "points_saved": 29, - "points_rate": 2.880609491330746, - "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.10635380909360688, - "csv_write_time_avg": 1.763475352320178e-05 - } - }, - { - "timestamp": "2025-08-16T20:54:18.572110", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.069319248199463, - "points_saved": 30, - "points_rate": 2.9793473878946113, - "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.10327016512552897, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:54:28.629747", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.057636737823486, - "points_saved": 30, - "points_rate": 2.9828080673444686, - "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.12453580697377523, - "csv_write_time_avg": 1.560052235921224e-05 - } - }, - { - "timestamp": "2025-08-16T20:54:38.691410", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.061663150787354, - "points_saved": 29, - "points_rate": 2.882227278472413, - "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.10200872914544468, - "csv_write_time_avg": 6.577064251077586e-06 - } - }, - { - "timestamp": "2025-08-16T20:54:48.737084", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.045673847198486, - "points_saved": 30, - "points_rate": 2.9863601443089185, - "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.09784417152404785, - "csv_write_time_avg": 3.925959269205729e-06 - } - }, - { - "timestamp": "2025-08-16T20:54:58.803638", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.066554546356201, - "points_saved": 30, - "points_rate": 2.9801656427579903, - "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.10332967440287272, - "csv_write_time_avg": 1.0402997334798177e-05 - } - }, - { - "timestamp": "2025-08-16T20:55:08.839512", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.035874128341675, - "points_saved": 29, - "points_rate": 2.889633691010825, - "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.12217319422754748, - "csv_write_time_avg": 9.964252340382544e-06 - } - }, - { - "timestamp": "2025-08-16T20:55:18.916829", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.077316284179688, - "points_saved": 30, - "points_rate": 2.976983073072421, - "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.1005561351776123, - "csv_write_time_avg": 1.1928876241048177e-05 - } - }, - { - "timestamp": "2025-08-16T20:55:28.990525", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.073697090148926, - "points_saved": 30, - "points_rate": 2.9780526187686363, - "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.09561003049214681, - "csv_write_time_avg": 8.638699849446615e-06 - } - }, - { - "timestamp": "2025-08-16T20:55:39.039654", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.04912781715393, - "points_saved": 30, - "points_rate": 2.985333707149171, - "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.08838914235432943, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:55:49.069618", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029964208602905, - "points_saved": 29, - "points_rate": 2.891336339478271, - "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.07885145318919215, - "csv_write_time_avg": 0.0016091856463202115 - } - }, - { - "timestamp": "2025-08-16T20:55:59.147965", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 6.4% CPU", - "details": { - "duration": 10.077841520309448, - "points_saved": 30, - "points_rate": 2.9768279189092492, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 6.4, - "cpu_max": 6.4, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.11337864398956299, - "csv_write_time_avg": 2.3174285888671876e-05 - } - }, - { - "timestamp": "2025-08-16T20:56:09.210652", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", - "details": { - "duration": 10.063193082809448, - "points_saved": 30, - "points_rate": 2.981161123823392, - "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.04431777795155843, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:56:19.294312", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.052111625671387, - "points_saved": 30, - "points_rate": 2.98444755859904, - "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.09065058231353759, - "csv_write_time_avg": 0.0016658624013264974 - } - }, - { - "timestamp": "2025-08-16T20:56:29.797915", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 9.9% CPU", - "details": { - "duration": 10.535151481628418, - "points_saved": 30, - "points_rate": 2.8476097427089773, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 9.9, - "cpu_max": 9.9, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12518953482309977, - "csv_write_time_avg": 0.004193854331970215 - } - }, - { - "timestamp": "2025-08-16T20:56:39.838487", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 13.1% CPU", - "details": { - "duration": 10.040572166442871, - "points_saved": 30, - "points_rate": 2.9878775335398307, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 13.1, - "cpu_max": 13.1, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12054553826649984, - "csv_write_time_avg": 1.8366177876790364e-05 - } - }, - { - "timestamp": "2025-08-16T20:56:49.882115", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.043627977371216, - "points_saved": 29, - "points_rate": 2.8874028453999308, - "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.11612901194342251, - "csv_write_time_avg": 0.003242648881057213 - } - }, - { - "timestamp": "2025-08-16T20:56:59.947305", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 8.5% CPU", - "details": { - "duration": 10.065189599990845, - "points_saved": 30, - "points_rate": 2.980569784798419, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 8.5, - "cpu_max": 8.5, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10867322285970052, - "csv_write_time_avg": 0.0032126824061075848 - } - }, - { - "timestamp": "2025-08-16T20:57:10.008862", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 7.8% CPU", - "details": { - "duration": 10.061557292938232, - "points_saved": 30, - "points_rate": 2.9816457956320233, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 7.8, - "cpu_max": 7.8, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10728957653045654, - "csv_write_time_avg": 1.6490618387858074e-05 - } - }, - { - "timestamp": "2025-08-16T20:57:20.073326", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.063961029052734, - "points_saved": 30, - "points_rate": 2.9809336416740613, - "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.03861977259318034, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:57:30.104922", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.032098770141602, - "points_saved": 30, - "points_rate": 2.990401179989235, - "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.038195260365804035, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:57:40.134523", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029601335525513, - "points_saved": 30, - "points_rate": 2.991145808930412, - "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.03722910881042481, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:57:50.164879", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.03035569190979, - "points_saved": 30, - "points_rate": 2.9909208528065636, - "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.039890654881795246, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:58:00.198061", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.033182382583618, - "points_saved": 30, - "points_rate": 2.990078208094407, - "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.048909878730773924, - "csv_write_time_avg": 3.5127003987630206e-06 - } - }, - { - "timestamp": "2025-08-16T20:58:10.227847", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029785394668579, - "points_saved": 30, - "points_rate": 2.991090917652811, - "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.04086577892303467, - "csv_write_time_avg": 1.8358230590820313e-06 - } - }, - { - "timestamp": "2025-08-16T20:58:20.258709", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030862092971802, - "points_saved": 30, - "points_rate": 2.990769858257719, - "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.0432463010152181, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:58:30.291492", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.032277584075928, - "points_saved": 30, - "points_rate": 2.990347879490348, - "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.03464295069376628, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:58:40.323823", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.032836675643921, - "points_saved": 30, - "points_rate": 2.9901812388543205, - "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.05765830675760905, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:58:50.383251", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.059427976608276, - "points_saved": 30, - "points_rate": 2.9822769316267883, - "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.10168923536936442, - "csv_write_time_avg": 2.4620691935221354e-05 - } - }, - { - "timestamp": "2025-08-16T20:59:00.448485", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.065234184265137, - "points_saved": 30, - "points_rate": 2.9805565822699536, - "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.0731366237004598, - "csv_write_time_avg": 2.3015340169270833e-05 - } - }, - { - "timestamp": "2025-08-16T20:59:10.481759", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.033273458480835, - "points_saved": 30, - "points_rate": 2.9900510659999875, - "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.03701192537943522, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:59:20.510861", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029102087020874, - "points_saved": 30, - "points_rate": 2.9912947081099506, - "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.04303884506225586, - "csv_write_time_avg": 0.00041495164235432944 - } - }, - { - "timestamp": "2025-08-16T20:59:30.540421", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 6.9% CPU", - "details": { - "duration": 10.029560565948486, - "points_saved": 30, - "points_rate": 2.9911579677631597, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 6.9, - "cpu_max": 6.9, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.03464994430541992, - "csv_write_time_avg": 0.0008058627446492513 - } - }, - { - "timestamp": "2025-08-16T20:59:40.571145", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 8.9% CPU", - "details": { - "duration": 10.030724048614502, - "points_saved": 30, - "points_rate": 2.990811017689572, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 8.9, - "cpu_max": 8.9, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05179858207702637, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T20:59:50.632606", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 4.7% CPU", - "details": { - "duration": 10.061460733413696, - "points_saved": 29, - "points_rate": 2.8822852633805143, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.7, - "cpu_max": 4.7, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.10567300895164752, - "csv_write_time_avg": 9.923145688813308e-06 - } - }, - { - "timestamp": "2025-08-16T21:00:00.703314", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 5.6% CPU", - "details": { - "duration": 10.070707082748413, - "points_saved": 30, - "points_rate": 2.978936806869439, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 5.6, - "cpu_max": 5.6, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.049492661158243814, - "csv_write_time_avg": 6.16153081258138e-05 - } - }, - { - "timestamp": "2025-08-16T21:00:10.734328", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.0% CPU", - "details": { - "duration": 10.031014680862427, - "points_saved": 30, - "points_rate": 2.99072436383083, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 3.0, - "cpu_max": 3.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.035256361961364745, - "csv_write_time_avg": 6.663004557291666e-05 - } - }, - { - "timestamp": "2025-08-16T21:00:20.764278", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.02994990348816, - "points_saved": 30, - "points_rate": 2.9910418585008856, - "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.03840560913085937, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:00:30.794483", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.03020453453064, - "points_saved": 30, - "points_rate": 2.990965926638887, - "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.04851470788319905, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:00:40.831230", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.036747694015503, - "points_saved": 31, - "points_rate": 3.0886499237680365, - "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.04975556558178317, - "csv_write_time_avg": 3.220958094443044e-05 - } - }, - { - "timestamp": "2025-08-16T21:00:50.862266", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.031035661697388, - "points_saved": 30, - "points_rate": 2.990718108455373, - "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.04460055033365885, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:01:00.898584", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.036318302154541, - "points_saved": 31, - "points_rate": 3.0887820679566422, - "variables_saved": 62, - "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.03556685293874433, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:01:10.928288", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029704332351685, - "points_saved": 30, - "points_rate": 2.99111509231956, - "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.032610265413920085, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:01:20.961143", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.032854795455933, - "points_saved": 30, - "points_rate": 2.9901758384450616, - "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.034676305452982586, - "csv_write_time_avg": 4.57763671875e-06 - } - }, - { - "timestamp": "2025-08-16T21:01:30.993162", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031019926071167, - "points_saved": 29, - "points_rate": 2.891032039985029, - "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.06415742841260187, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:01:41.055776", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.062596559524536, - "points_saved": 29, - "points_rate": 2.88195992241691, - "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.10049709780462857, - "csv_write_time_avg": 1.1123459914634968e-05 - } - }, - { - "timestamp": "2025-08-16T21:01:51.119697", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.064937353134155, - "points_saved": 30, - "points_rate": 2.9806444836597215, - "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.1067502498626709, - "csv_write_time_avg": 1.6983350118001302e-05 - } - }, - { - "timestamp": "2025-08-16T21:02:01.166414", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.046205997467041, - "points_saved": 29, - "points_rate": 2.886661890798556, - "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.10892577829032109, - "csv_write_time_avg": 3.5458597643622035e-05 - } - }, - { - "timestamp": "2025-08-16T21:02:11.231260", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.065356492996216, - "points_saved": 30, - "points_rate": 2.9805203641694082, - "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.12599786917368572, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:02:21.280203", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.048943519592285, - "points_saved": 30, - "points_rate": 2.9853884581507915, - "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.10493502616882325, - "csv_write_time_avg": 3.886222839355469e-06 - } - }, - { - "timestamp": "2025-08-16T21:02:31.356646", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.075573682785034, - "points_saved": 30, - "points_rate": 2.977497951432535, - "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.10974334875742595, - "csv_write_time_avg": 4.678567250569661e-05 - } - }, - { - "timestamp": "2025-08-16T21:02:41.434864", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.079087018966675, - "points_saved": 29, - "points_rate": 2.877244729153368, - "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.12031308535871835, - "csv_write_time_avg": 7.267655997440733e-06 - } - }, - { - "timestamp": "2025-08-16T21:02:51.514835", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.079971313476562, - "points_saved": 30, - "points_rate": 2.9761989461111926, - "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.12821188767751057, - "csv_write_time_avg": 1.4050801595052083e-05 - } - }, - { - "timestamp": "2025-08-16T21:03:01.590584", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.07439374923706, - "points_saved": 30, - "points_rate": 2.977846682066791, - "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.13280317783355713, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:03:11.664137", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.074907779693604, - "points_saved": 29, - "points_rate": 2.878438258109986, - "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.10888855210665999, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:03:21.729733", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.06559681892395, - "points_saved": 30, - "points_rate": 2.980449201342749, - "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.1158106803894043, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:03:31.797006", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.065967798233032, - "points_saved": 30, - "points_rate": 2.9803393574601107, - "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.13099360466003418, - "csv_write_time_avg": 3.147125244140625e-05 - } - }, - { - "timestamp": "2025-08-16T21:03:41.864065", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.068363904953003, - "points_saved": 29, - "points_rate": 2.8803090823657875, - "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.11925562496843009, - "csv_write_time_avg": 2.7771653800175107e-05 - } - }, - { - "timestamp": "2025-08-16T21:03:51.924057", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.059991359710693, - "points_saved": 30, - "points_rate": 2.982109917126484, - "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.10814343293507894, - "csv_write_time_avg": 0.00011624495188395182 - } - }, - { - "timestamp": "2025-08-16T21:04:01.964007", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 4.2% CPU", - "details": { - "duration": 10.039950609207153, - "points_saved": 30, - "points_rate": 2.9880625082446572, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.2, - "cpu_max": 4.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.07931725978851319, - "csv_write_time_avg": 0.003016050656636556 - } - }, - { - "timestamp": "2025-08-16T21:04:12.001799", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 8.7% CPU", - "details": { - "duration": 10.037791728973389, - "points_saved": 30, - "points_rate": 2.988705166436865, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 8.7, - "cpu_max": 8.7, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.12447572549184163, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:04:22.075130", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 1.1% CPU", - "details": { - "duration": 10.073331356048584, - "points_saved": 30, - "points_rate": 2.9781607434154687, - "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.07363708019256592, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:04:32.104273", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.029143333435059, - "points_saved": 29, - "points_rate": 2.8915729924130296, - "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.07177314265020962, - "csv_write_time_avg": 0.0021543173954404636 - } - }, - { - "timestamp": "2025-08-16T21:04:42.168294", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 12.1% CPU", - "details": { - "duration": 10.063512086868286, - "points_saved": 30, - "points_rate": 2.981066623763141, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 12.1, - "cpu_max": 12.1, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.09925882021586101, - "csv_write_time_avg": 1.6069412231445314e-05 - } - }, - { - "timestamp": "2025-08-16T21:04:52.214850", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.047064542770386, - "points_saved": 30, - "points_rate": 2.985946778015599, - "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.10752104123433431, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:05:02.285436", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.070586204528809, - "points_saved": 29, - "points_rate": 2.8796734778913375, - "variables_saved": 58, - "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.1336237151047279, - "csv_write_time_avg": 5.47540598902209e-06 - } - }, - { - "timestamp": "2025-08-16T21:05:12.373320", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 4.0% CPU", - "details": { - "duration": 10.087883949279785, - "points_saved": 30, - "points_rate": 2.973864504274142, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 4.0, - "cpu_max": 4.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.11697720686594645, - "csv_write_time_avg": 0.002504730224609375 - } - }, - { - "timestamp": "2025-08-16T21:05:22.419899", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 9.8% CPU", - "details": { - "duration": 10.045931577682495, - "points_saved": 30, - "points_rate": 2.9862835286123586, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 9.8, - "cpu_max": 9.8, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.03407781918843587, - "csv_write_time_avg": 6.660620371500651e-05 - } - }, - { - "timestamp": "2025-08-16T21:05:32.450674", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 3.9% CPU", - "details": { - "duration": 10.03142237663269, - "points_saved": 30, - "points_rate": 2.990602815198206, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 3.9, - "cpu_max": 3.9, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.039195919036865236, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:05:42.486439", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 1.2% CPU", - "details": { - "duration": 10.035764694213867, - "points_saved": 30, - "points_rate": 2.9893088283842024, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 1.2, - "cpu_max": 1.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.03542471726735433, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:05:52.518557", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.032118320465088, - "points_saved": 30, - "points_rate": 2.9903953523755096, - "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.06971513430277507, - "csv_write_time_avg": 0.00163878599802653 - } - }, - { - "timestamp": "2025-08-16T21:06:02.580615", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 8.4% CPU", - "details": { - "duration": 10.06105661392212, - "points_saved": 30, - "points_rate": 2.9817941744296625, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 8.4, - "cpu_max": 8.4, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.1075384537378947, - "csv_write_time_avg": 0.0037407239278157553 - } - }, - { - "timestamp": "2025-08-16T21:06:12.646709", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 10.1% CPU", - "details": { - "duration": 10.067095279693604, - "points_saved": 29, - "points_rate": 2.8806720503079046, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 10.1, - "cpu_max": 10.1, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.1194514406138453, - "csv_write_time_avg": 0.0007159956570329337 - } - }, - { - "timestamp": "2025-08-16T21:06:22.700388", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 10.4% CPU", - "details": { - "duration": 10.053678750991821, - "points_saved": 30, - "points_rate": 2.983982355417953, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 10.4, - "cpu_max": 10.4, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.13290343284606934, - "csv_write_time_avg": 0.0011782566706339517 - } - }, - { - "timestamp": "2025-08-16T21:06:32.751642", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 8.6% CPU", - "details": { - "duration": 10.051254510879517, - "points_saved": 30, - "points_rate": 2.9847020556019035, - "variables_saved": 60, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 8.6, - "cpu_max": 8.6, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.06834772427876791, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:06:42.781420", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.02977728843689, - "points_saved": 30, - "points_rate": 2.991093335101901, - "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.03210315704345703, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:06:52.813943", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.032523393630981, - "points_saved": 30, - "points_rate": 2.990274612172359, - "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.047539130846659346, - "csv_write_time_avg": 0.00024136702219645182 - } - }, - { - "timestamp": "2025-08-16T21:07:02.866672", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 8.2% CPU", - "details": { - "duration": 10.052728652954102, - "points_saved": 29, - "points_rate": 2.8847888967417856, - "variables_saved": 58, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 8.2, - "cpu_max": 8.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.09650977726640372, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:07:12.920133", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", - "details": { - "duration": 10.05346155166626, - "points_saved": 30, - "points_rate": 2.984046822661574, - "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.11041448116302491, - "csv_write_time_avg": 3.325144449869792e-05 - } - }, - { - "timestamp": "2025-08-16T21:07:22.984963", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.064829587936401, - "points_saved": 30, - "points_rate": 2.9806763977362998, - "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.13236002127329508, - "csv_write_time_avg": 1.728534698486328e-05 - } - }, - { - "timestamp": "2025-08-16T21:07:33.051485", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.066522598266602, - "points_saved": 30, - "points_rate": 2.9801751008998707, - "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.09970244566599527, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:07:43.120939", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.068278789520264, - "points_saved": 29, - "points_rate": 2.880333431984932, - "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.100341089840593, - "csv_write_time_avg": 8.00757572568696e-06 - } - }, - { - "timestamp": "2025-08-16T21:07:53.182324", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.062559366226196, - "points_saved": 30, - "points_rate": 2.9813488704167543, - "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.11200049718221029, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:08:03.248668", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.066344738006592, - "points_saved": 30, - "points_rate": 2.9802277570260136, - "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.11709380944569905, - "csv_write_time_avg": 9.147326151529948e-06 - } - }, - { - "timestamp": "2025-08-16T21:08:13.284417", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.035748958587646, - "points_saved": 29, - "points_rate": 2.8896697316431514, - "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.10250608674411116, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:08:23.345197", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.060779333114624, - "points_saved": 30, - "points_rate": 2.9818763543750815, - "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.10127473672231038, - "csv_write_time_avg": 6.071726481119791e-06 - } - }, - { - "timestamp": "2025-08-16T21:08:33.393740", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.048542737960815, - "points_saved": 29, - "points_rate": 2.8859906113993468, - "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.10355253055177886, - "csv_write_time_avg": 1.8687083803374192e-05 - } - }, - { - "timestamp": "2025-08-16T21:08:43.444212", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.050472497940063, - "points_saved": 29, - "points_rate": 2.8854364813140694, - "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.124221448240609, - "csv_write_time_avg": 8.270658295730065e-06 - } - }, - { - "timestamp": "2025-08-16T21:08:53.512428", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.06821584701538, - "points_saved": 30, - "points_rate": 2.979673902093904, - "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.10421998500823974, - "csv_write_time_avg": 6.167093912760417e-06 - } - }, - { - "timestamp": "2025-08-16T21:09:03.581941", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.068513631820679, - "points_saved": 30, - "points_rate": 2.9795857757184296, - "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.10213418006896972, - "csv_write_time_avg": 2.773602803548177e-06 - } - }, - { - "timestamp": "2025-08-16T21:09:13.634389", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.053447008132935, - "points_saved": 29, - "points_rate": 2.8845827681331464, - "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.09918859087187669, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:09:23.709649", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.075260877609253, - "points_saved": 30, - "points_rate": 2.977590393383309, - "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.10045295556386312, - "csv_write_time_avg": 5.0942103068033855e-06 - } - }, - { - "timestamp": "2025-08-16T21:09:33.787822", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.07817268371582, - "points_saved": 30, - "points_rate": 2.976730101923497, - "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.11741201082865398, - "csv_write_time_avg": 5.602836608886719e-06 - } - }, - { - "timestamp": "2025-08-16T21:09:43.859536", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.071713924407959, - "points_saved": 30, - "points_rate": 2.978639010714701, - "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.09971142609914144, - "csv_write_time_avg": 2.9921531677246094e-05 - } - }, - { - "timestamp": "2025-08-16T21:09:53.920726", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.061189889907837, - "points_saved": 29, - "points_rate": 2.882362853432403, - "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.09876858777013318, - "csv_write_time_avg": 1.4247565433896822e-05 - } - }, - { - "timestamp": "2025-08-16T21:10:03.965291", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.044565200805664, - "points_saved": 30, - "points_rate": 2.9866897571229596, - "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.049120855331420896, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:10:13.994418", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.02912712097168, - "points_saved": 30, - "points_rate": 2.991287241465679, - "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.03253419399261474, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:10:24.025284", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.030865907669067, - "points_saved": 30, - "points_rate": 2.990768720880178, - "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.03693994681040446, - "csv_write_time_avg": 7.6214472452799475e-06 - } - }, - { - "timestamp": "2025-08-16T21:10:34.056594", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031309366226196, - "points_saved": 30, - "points_rate": 2.9906365066364287, - "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.03688843250274658, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:10:44.087566", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030972242355347, - "points_saved": 31, - "points_rate": 3.0904282507236776, - "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.03543023140199723, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-16T21:10:54.126966", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.039400577545166, - "points_saved": 29, - "points_rate": 2.88861867558741, - "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.08817623401510305, - "csv_write_time_avg": 1.2110019552296606e-05 - } - }, { "timestamp": "2025-08-16T21:11:04.180019", "level": "info", @@ -22226,8 +11813,10524 @@ "read_time_avg": 0.15979559421539308, "csv_write_time_avg": 7.4783960978190105e-06 } + }, + { + "timestamp": "2025-08-16T22:35:52.234686", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.057492733001709, + "points_saved": 29, + "points_rate": 2.8834224164877726, + "variables_saved": 77, + "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.13573691762726883, + "csv_write_time_avg": 1.1493419778758081e-05 + } + }, + { + "timestamp": "2025-08-16T22:36:02.287441", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.05275559425354, + "points_saved": 31, + "points_rate": 3.0837315907412033, + "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.07532883459521879, + "csv_write_time_avg": 4.193090623424899e-05 + } + }, + { + "timestamp": "2025-08-16T22:36:12.317419", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029977798461914, + "points_saved": 30, + "points_rate": 2.9910335399347012, + "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.04286998907725016, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:36:22.348139", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030719995498657, + "points_saved": 30, + "points_rate": 2.9908122261874195, + "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.04528379440307617, + "csv_write_time_avg": 4.204114278157552e-06 + } + }, + { + "timestamp": "2025-08-16T22:36:32.034086", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-16T22:36:32.379257", + "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-16T22:36:32.412853", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-16T22:36:32.988306", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: Fast", + "details": { + "dataset_id": "Fast" + } + }, + { + "timestamp": "2025-08-16T22:36:33.254301", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "DAR" + } + }, + { + "timestamp": "2025-08-16T22:36:33.284035", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: test", + "details": { + "dataset_id": "Test" + } + }, + { + "timestamp": "2025-08-16T22:36:33.310426", + "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-16T22:36:36.304659", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-16T22:36:36.433866", + "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-16T22:36:36.475444", + "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-16T22:36:36.525572", + "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-16T22:36:46.434035", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.131804704666138, + "points_saved": 30, + "points_rate": 2.694980804633129, + "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.05144415696461995, + "csv_write_time_avg": 0.0015485122286040208 + } + }, + { + "timestamp": "2025-08-16T22:36:56.464895", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 2.2% CPU", + "details": { + "duration": 10.03085970878601, + "points_saved": 30, + "points_rate": 2.990770569119121, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 2.2, + "cpu_max": 2.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.062333385149637856, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:37:06.494750", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029855012893677, + "points_saved": 30, + "points_rate": 2.9910701561920994, + "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.06378923257191976, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:37:16.525438", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.030688047409058, + "points_saved": 30, + "points_rate": 2.9908217520281717, + "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.06366458733876547, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:37:26.557509", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.032070398330688, + "points_saved": 30, + "points_rate": 2.9904096371763824, + "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.06105850537618001, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:37:36.587150", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029641389846802, + "points_saved": 31, + "points_rate": 3.0908383256236753, + "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.05425484718814973, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:37:46.621596", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.034445762634277, + "points_saved": 30, + "points_rate": 2.9897017443367293, + "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.05352559089660645, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:37:56.651223", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029626607894897, + "points_saved": 30, + "points_rate": 2.991138271925823, + "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.054347141583760576, + "csv_write_time_avg": 3.743171691894531e-06 + } + }, + { + "timestamp": "2025-08-16T22:38:06.681401", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03017807006836, + "points_saved": 30, + "points_rate": 2.99097381825401, + "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.05210412343343099, + "csv_write_time_avg": 3.333886464436849e-05 + } + }, + { + "timestamp": "2025-08-16T22:38:16.719870", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.038469076156616, + "points_saved": 31, + "points_rate": 3.0881202865515855, + "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.05145695132593955, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:38:26.749671", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02980089187622, + "points_saved": 29, + "points_rate": 2.8913834195341765, + "variables_saved": 77, + "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.046640585208761284, + "csv_write_time_avg": 3.1323268495757003e-06 + } + }, + { + "timestamp": "2025-08-16T22:38:36.779683", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030012369155884, + "points_saved": 31, + "points_rate": 3.0907240050202383, + "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.05165122401329779, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:38:46.809429", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029746294021606, + "points_saved": 30, + "points_rate": 2.991102578325634, + "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.04605727990468343, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:38:56.837611", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.028181791305542, + "points_saved": 30, + "points_rate": 2.991569222050808, + "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.048061426480611166, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:39:06.867001", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.02938961982727, + "points_saved": 30, + "points_rate": 2.991208950611759, + "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.05188559691111247, + "csv_write_time_avg": 2.1060307820638022e-06 + } + }, + { + "timestamp": "2025-08-16T22:39:16.897067", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03006649017334, + "points_saved": 30, + "points_rate": 2.9910070914676, + "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.049898624420166016, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:39:26.927019", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.029951810836792, + "points_saved": 30, + "points_rate": 2.9910412897085616, + "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.05186225573221843, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:39:36.957595", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.0305757522583, + "points_saved": 30, + "points_rate": 2.9908552351290254, + "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.05037085215250651, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:39:46.988684", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031089782714844, + "points_saved": 30, + "points_rate": 2.990701972550854, + "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.05054106712341309, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:39:57.018965", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.030280351638794, + "points_saved": 30, + "points_rate": 2.9909433184585374, + "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.05034475326538086, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:40:07.048725", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.029760599136353, + "points_saved": 30, + "points_rate": 2.991098312215274, + "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.05276365280151367, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:40:17.105845", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.057119131088257, + "points_saved": 30, + "points_rate": 2.982961582633035, + "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.04574824968973796, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:40:27.137549", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.031704187393188, + "points_saved": 30, + "points_rate": 2.99051880314622, + "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.052160366376241045, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:40:37.166753", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.0288245677948, + "points_saved": 30, + "points_rate": 2.9913774836921476, + "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.04544251759847005, + "csv_write_time_avg": 3.3696492513020832e-06 + } + }, + { + "timestamp": "2025-08-16T22:40:47.204865", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03849196434021, + "points_saved": 30, + "points_rate": 2.9884966892008444, + "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.04377773602803548, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:40:57.235183", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030317783355713, + "points_saved": 30, + "points_rate": 2.9909321566842015, + "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.04330936272939046, + "csv_write_time_avg": 1.9470850626627603e-06 + } + }, + { + "timestamp": "2025-08-16T22:41:07.265553", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030369997024536, + "points_saved": 30, + "points_rate": 2.9909165872145658, + "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.05162656307220459, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:41:17.296708", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03115463256836, + "points_saved": 30, + "points_rate": 2.990682638128055, + "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.050094048182169594, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:41:27.326822", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030114650726318, + "points_saved": 30, + "points_rate": 2.990992729861526, + "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.05241036415100098, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:41:37.356633", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029810667037964, + "points_saved": 30, + "points_rate": 2.991083380924846, + "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.047447729110717776, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:41:47.386145", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02951169013977, + "points_saved": 30, + "points_rate": 2.991172544271886, + "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.05103089014689128, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:41:57.417455", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.031310558319092, + "points_saved": 30, + "points_rate": 2.9906361512375494, + "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.050119940439860025, + "csv_write_time_avg": 4.319349924723307e-05 + } + }, + { + "timestamp": "2025-08-16T22:42:07.447373", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029918193817139, + "points_saved": 30, + "points_rate": 2.991051314704965, + "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.045517365137736, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:42:17.477237", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.9% CPU", + "details": { + "duration": 10.029336214065552, + "points_saved": 30, + "points_rate": 2.9912248786641307, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.9, + "cpu_max": 1.9, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.049918421109517414, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:42:27.514787", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.037551403045654, + "points_saved": 30, + "points_rate": 2.9887767240621272, + "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.04999382495880127, + "csv_write_time_avg": 3.425280253092448e-06 + } + }, + { + "timestamp": "2025-08-16T22:42:37.547167", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03290581703186, + "points_saved": 30, + "points_rate": 2.9901606321343115, + "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.0517823060353597, + "csv_write_time_avg": 2.2093454996744794e-06 + } + }, + { + "timestamp": "2025-08-16T22:42:47.577353", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030186176300049, + "points_saved": 30, + "points_rate": 2.9909714009981068, + "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.04435385862986247, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:42:57.611070", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.033717393875122, + "points_saved": 30, + "points_rate": 2.9899187731072523, + "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.04898496468861898, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:43:07.648451", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.037380695343018, + "points_saved": 30, + "points_rate": 2.988827554774217, + "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.043648322423299156, + "csv_write_time_avg": 2.6861826578776044e-06 + } + }, + { + "timestamp": "2025-08-16T22:43:17.676908", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028456687927246, + "points_saved": 30, + "points_rate": 2.9914872181793926, + "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.049264049530029295, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:43:27.709061", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.032152891159058, + "points_saved": 30, + "points_rate": 2.990385047504392, + "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.09941627979278564, + "csv_write_time_avg": 4.100799560546875e-06 + } + }, + { + "timestamp": "2025-08-16T22:43:37.773344", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.0642831325531, + "points_saved": 29, + "points_rate": 2.8814769634410413, + "variables_saved": 77, + "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.15429618440825363, + "csv_write_time_avg": 8.920143390523977e-06 + } + }, + { + "timestamp": "2025-08-16T22:43:47.837006", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.063662052154541, + "points_saved": 30, + "points_rate": 2.981022200917137, + "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.07739577293395997, + "csv_write_time_avg": 5.440711975097656e-05 + } + }, + { + "timestamp": "2025-08-16T22:43:51.850895", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-16T22:43:53.887996", + "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-16T22:43:53.917529", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-16T22:43:54.294090", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "DAR" + } + }, + { + "timestamp": "2025-08-16T22:43:54.325913", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: test", + "details": { + "dataset_id": "Test" + } + }, + { + "timestamp": "2025-08-16T22:43:55.152694", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: Fast", + "details": { + "dataset_id": "Fast" + } + }, + { + "timestamp": "2025-08-16T22:43:55.182359", + "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-16T22:44:00.158939", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-16T22:44:00.239176", + "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-16T22:44:00.269416", + "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-16T22:44:00.298581", + "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-16T22:44:10.240117", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.085733652114868, + "points_saved": 30, + "points_rate": 2.706180839395937, + "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.06153452396392822, + "csv_write_time_avg": 0.0010163386662801106 + } + }, + { + "timestamp": "2025-08-16T22:44:20.270682", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.030564546585083, + "points_saved": 30, + "points_rate": 2.9908585763713105, + "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.06425766944885254, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:44:30.301290", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.03060793876648, + "points_saved": 30, + "points_rate": 2.9908456379852555, + "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.06525327364603678, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:44:40.351653", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.050363063812256, + "points_saved": 30, + "points_rate": 2.9849667926942076, + "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.06640969117482504, + "csv_write_time_avg": 3.333091735839844e-05 + } + }, + { + "timestamp": "2025-08-16T22:44:50.389484", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 2.2% CPU", + "details": { + "duration": 10.03783106803894, + "points_saved": 31, + "points_rate": 3.0883165685768383, + "variables_saved": 82, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 2.2, + "cpu_max": 2.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.05531274887823289, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:45:00.426060", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 1.9% CPU", + "details": { + "duration": 10.036576509475708, + "points_saved": 29, + "points_rate": 2.8894314682522064, + "variables_saved": 78, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.9, + "cpu_max": 1.9, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08412282220248518, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:45:10.468238", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.042177677154541, + "points_saved": 30, + "points_rate": 2.987399841395808, + "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.06679972807566324, + "csv_write_time_avg": 3.918011983235677e-06 + } + }, + { + "timestamp": "2025-08-16T22:45:20.520382", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.052143573760986, + "points_saved": 30, + "points_rate": 2.9844380733188802, + "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.13012945652008057, + "csv_write_time_avg": 4.640420277913411e-05 + } + }, + { + "timestamp": "2025-08-16T22:45:30.581544", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.061162233352661, + "points_saved": 29, + "points_rate": 2.8823707765952986, + "variables_saved": 77, + "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.13367112751664786, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:45:40.643034", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.061490535736084, + "points_saved": 30, + "points_rate": 2.981665578618491, + "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.15693379243214925, + "csv_write_time_avg": 2.6218096415201823e-05 + } + }, + { + "timestamp": "2025-08-16T22:45:50.701433", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.058398246765137, + "points_saved": 30, + "points_rate": 2.9825822426198174, + "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.14853809674580892, + "csv_write_time_avg": 4.124641418457031e-06 + } + }, + { + "timestamp": "2025-08-16T22:46:00.771417", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.069984197616577, + "points_saved": 29, + "points_rate": 2.879845631422529, + "variables_saved": 77, + "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.13262358205071811, + "csv_write_time_avg": 2.0799965694032866e-05 + } + }, + { + "timestamp": "2025-08-16T22:46:10.829466", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.058048963546753, + "points_saved": 31, + "points_rate": 3.082108678567073, + "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.06533898076703472, + "csv_write_time_avg": 3.633960600822202e-05 + } + }, + { + "timestamp": "2025-08-16T22:46:20.859417", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029950857162476, + "points_saved": 30, + "points_rate": 2.9910415741046963, + "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.049225687980651855, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:46:30.889618", + "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.04463091691335042, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:46:40.920638", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031020641326904, + "points_saved": 30, + "points_rate": 2.990722586732869, + "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.05052502950032552, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:46:50.971178", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.05053973197937, + "points_saved": 30, + "points_rate": 2.9849143230133524, + "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.05265307426452637, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:47:01.000860", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029681921005249, + "points_saved": 30, + "points_rate": 2.9911217759728492, + "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.05376765727996826, + "csv_write_time_avg": 1.9391377766927082e-06 + } + }, + { + "timestamp": "2025-08-16T22:47:11.032988", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.032127141952515, + "points_saved": 30, + "points_rate": 2.9903927228499234, + "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.04649356206258138, + "csv_write_time_avg": 4.23590342203776e-06 + } + }, + { + "timestamp": "2025-08-16T22:47:21.064541", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031554222106934, + "points_saved": 30, + "points_rate": 2.9905635094796987, + "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.049178640047709145, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:47:31.096012", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.03147006034851, + "points_saved": 31, + "points_rate": 3.090274886283517, + "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.04731172130953881, + "csv_write_time_avg": 1.6343209051316784e-05 + } + }, + { + "timestamp": "2025-08-16T22:47:41.126175", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030163288116455, + "points_saved": 30, + "points_rate": 2.9909782262013045, + "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.04545809427897136, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:47:51.157455", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031279802322388, + "points_saved": 30, + "points_rate": 2.9906453205556645, + "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.05192868709564209, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:48:01.189390", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031934976577759, + "points_saved": 30, + "points_rate": 2.9904500049136127, + "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.051836212476094566, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:48:11.221542", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.032151937484741, + "points_saved": 30, + "points_rate": 2.990385331775746, + "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.04641553560892741, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:48:21.254292", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.032750606536865, + "points_saved": 30, + "points_rate": 2.9902068910646915, + "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.05086153348286947, + "csv_write_time_avg": 1.8072128295898437e-05 + } + }, + { + "timestamp": "2025-08-16T22:48:31.286830", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.032538175582886, + "points_saved": 30, + "points_rate": 2.990270206298718, + "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.049714366594950356, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:48:41.319798", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.032967329025269, + "points_saved": 30, + "points_rate": 2.990142299498008, + "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.04853974183400472, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:48:51.354856", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.032545804977417, + "points_saved": 30, + "points_rate": 2.990267932304499, + "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.051667555173238115, + "csv_write_time_avg": 3.1709671020507814e-06 + } + }, + { + "timestamp": "2025-08-16T22:49:01.408592", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 3.3% CPU", + "details": { + "duration": 10.056248903274536, + "points_saved": 30, + "points_rate": 2.9832197162732657, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 3.3, + "cpu_max": 3.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.06536626021067302, + "csv_write_time_avg": 3.417332967122396e-06 + } + }, + { + "timestamp": "2025-08-16T22:49:11.446689", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.038096904754639, + "points_saved": 30, + "points_rate": 2.9886143045491242, + "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.060137152671813965, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:49:21.477720", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03050422668457, + "points_saved": 30, + "points_rate": 2.9908765623356945, + "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.1219764788945516, + "csv_write_time_avg": 5.232493082682292e-05 + } + }, + { + "timestamp": "2025-08-16T22:49:31.544830", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 3.3% CPU", + "details": { + "duration": 10.067636728286743, + "points_saved": 30, + "points_rate": 2.9798453013019315, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 3.3, + "cpu_max": 3.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.06579493681589763, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:49:41.612010", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.066612720489502, + "points_saved": 30, + "points_rate": 2.9801484206239746, + "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.09423817793528239, + "csv_write_time_avg": 1.842975616455078e-05 + } + }, + { + "timestamp": "2025-08-16T22:49:51.641851", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.030408143997192, + "points_saved": 30, + "points_rate": 2.9909052123620543, + "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.0469965934753418, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:50:01.671808", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029956579208374, + "points_saved": 30, + "points_rate": 2.991039867728698, + "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.052059022585550944, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:50:11.710065", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.038256645202637, + "points_saved": 30, + "points_rate": 2.9885667462324985, + "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.06519587834676106, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:50:21.745645", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.2% CPU", + "details": { + "duration": 10.035072565078735, + "points_saved": 30, + "points_rate": 2.989515004046672, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.2, + "cpu_max": 1.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.05103712876637777, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:50:31.799476", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.1% CPU", + "details": { + "duration": 10.053453922271729, + "points_saved": 30, + "points_rate": 2.9840490872037586, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.1, + "cpu_max": 1.1, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.05401177406311035, + "csv_write_time_avg": 3.894170125325521e-05 + } + }, + { + "timestamp": "2025-08-16T22:50:41.861925", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.063333749771118, + "points_saved": 30, + "points_rate": 2.981119452654775, + "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.04910134474436442, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:50:51.892501", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.030576944351196, + "points_saved": 30, + "points_rate": 2.9908548796781576, + "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.04734787146250407, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:51:01.922854", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030352354049683, + "points_saved": 30, + "points_rate": 2.990921848113114, + "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.04746693770090739, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:51:11.954672", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031818389892578, + "points_saved": 30, + "points_rate": 2.990484758997042, + "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.052835512161254886, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:51:21.988534", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.033861637115479, + "points_saved": 30, + "points_rate": 2.9898757910941614, + "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.04687278270721436, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:51:32.019561", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031026840209961, + "points_saved": 30, + "points_rate": 2.9907207385532293, + "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.046783614158630374, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:51:42.048964", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029403686523438, + "points_saved": 30, + "points_rate": 2.9912047553047603, + "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.04886135260264079, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:51:52.079449", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030484199523926, + "points_saved": 30, + "points_rate": 2.990882534008067, + "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.045237064361572266, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:52:02.112525", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.033076047897339, + "points_saved": 30, + "points_rate": 2.9901098981789525, + "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.05101739565531413, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:52:12.143766", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.031241416931152, + "points_saved": 30, + "points_rate": 2.9906567645121904, + "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.04677109718322754, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:52:22.178114", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.034347295761108, + "points_saved": 30, + "points_rate": 2.989731082227256, + "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.04921573003133138, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:52:32.210124", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.032010316848755, + "points_saved": 30, + "points_rate": 2.9904275466717793, + "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.04523137410481771, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:52:42.241681", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031556844711304, + "points_saved": 30, + "points_rate": 2.9905627276404436, + "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.045751698811848956, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:52:52.271691", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030009984970093, + "points_saved": 30, + "points_rate": 2.9910239416465996, + "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.0531238317489624, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:53:02.302478", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030787467956543, + "points_saved": 30, + "points_rate": 2.9907921083798574, + "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.050660347938537596, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:53:12.332803", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030324697494507, + "points_saved": 30, + "points_rate": 2.990930094964299, + "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.04452150662740072, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:53:22.362411", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029608488082886, + "points_saved": 30, + "points_rate": 2.9911436758120518, + "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.05197396278381348, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:53:32.399224", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.03681230545044, + "points_saved": 30, + "points_rate": 2.988996813630624, + "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.055751744906107584, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:53:42.428899", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029675245285034, + "points_saved": 30, + "points_rate": 2.991123766854071, + "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.05341041088104248, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:53:52.459290", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030390739440918, + "points_saved": 30, + "points_rate": 2.9909104021277804, + "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.07379014492034912, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:54:02.491697", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 3.3% CPU", + "details": { + "duration": 10.03140640258789, + "points_saved": 30, + "points_rate": 2.9906075774440395, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 3.3, + "cpu_max": 3.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0771827777226766, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:54:12.522691", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.031995058059692, + "points_saved": 30, + "points_rate": 2.990432095149213, + "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.1033562183380127, + "csv_write_time_avg": 4.061063130696615e-06 + } + }, + { + "timestamp": "2025-08-16T22:54:22.577275", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.05458378791809, + "points_saved": 29, + "points_rate": 2.88425663475472, + "variables_saved": 77, + "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.13969298888897075, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:54:32.633190", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.055914878845215, + "points_saved": 30, + "points_rate": 2.983318809023679, + "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.1365562359491984, + "csv_write_time_avg": 1.694361368815104e-05 + } + }, + { + "timestamp": "2025-08-16T22:54:42.689084", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.055894374847412, + "points_saved": 30, + "points_rate": 2.983324892019385, + "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.13162782192230224, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:54:52.742994", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.053909540176392, + "points_saved": 30, + "points_rate": 2.983913857601076, + "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.15469765663146973, + "csv_write_time_avg": 7.716814676920573e-06 + } + }, + { + "timestamp": "2025-08-16T22:55:02.782596", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.039602756500244, + "points_saved": 29, + "points_rate": 2.8885605041717066, + "variables_saved": 77, + "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.16470139602134967, + "csv_write_time_avg": 1.119745188745959e-05 + } + }, + { + "timestamp": "2025-08-16T22:55:12.851852", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.068745136260986, + "points_saved": 30, + "points_rate": 2.979517267942334, + "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.13131638367970785, + "csv_write_time_avg": 7.065137227376302e-06 + } + }, + { + "timestamp": "2025-08-16T22:55:22.913539", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.062197208404541, + "points_saved": 30, + "points_rate": 2.9814561748941104, + "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.1317939599355062, + "csv_write_time_avg": 1.1571248372395833e-05 + } + }, + { + "timestamp": "2025-08-16T22:55:32.971268", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.057729721069336, + "points_saved": 29, + "points_rate": 2.8833544750411852, + "variables_saved": 77, + "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.1527831718839448, + "csv_write_time_avg": 3.255646804283405e-06 + } + }, + { + "timestamp": "2025-08-16T22:55:43.032679", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.061410427093506, + "points_saved": 30, + "points_rate": 2.9816893185487774, + "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.17090593179066976, + "csv_write_time_avg": 1.3430913289388021e-05 + } + }, + { + "timestamp": "2025-08-16T22:55:53.079535", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.04685640335083, + "points_saved": 30, + "points_rate": 2.9860086374872834, + "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.13518967628479003, + "csv_write_time_avg": 4.490216573079427e-06 + } + }, + { + "timestamp": "2025-08-16T22:56:03.134196", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.054660558700562, + "points_saved": 29, + "points_rate": 2.8842346124659115, + "variables_saved": 77, + "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.13015125537740774, + "csv_write_time_avg": 8.319986277613146e-06 + } + }, + { + "timestamp": "2025-08-16T22:56:13.190689", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.056493043899536, + "points_saved": 30, + "points_rate": 2.983147292902329, + "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.14135546684265138, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:56:23.241755", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.051066398620605, + "points_saved": 30, + "points_rate": 2.984757916246296, + "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.1640709638595581, + "csv_write_time_avg": 1.991589864095052e-05 + } + }, + { + "timestamp": "2025-08-16T22:56:33.290523", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.048260927200317, + "points_saved": 29, + "points_rate": 2.8860715510977566, + "variables_saved": 77, + "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.13667091007890372, + "csv_write_time_avg": 1.5020370483398438e-05 + } + }, + { + "timestamp": "2025-08-16T22:56:43.344989", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.054972887039185, + "points_saved": 30, + "points_rate": 2.9835982987751133, + "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.13788639704386393, + "csv_write_time_avg": 3.862380981445312e-06 + } + }, + { + "timestamp": "2025-08-16T22:56:53.401803", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.056813478469849, + "points_saved": 29, + "points_rate": 2.883617167812122, + "variables_saved": 78, + "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.13416593650291705, + "csv_write_time_avg": 9.347652566844019e-06 + } + }, + { + "timestamp": "2025-08-16T22:57:03.465603", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.063800573348999, + "points_saved": 29, + "points_rate": 2.8816151302518778, + "variables_saved": 77, + "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.17353218999402276, + "csv_write_time_avg": 1.9007715685614223e-05 + } + }, + { + "timestamp": "2025-08-16T22:57:13.521914", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.056311130523682, + "points_saved": 30, + "points_rate": 2.9832012564668684, + "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.14111685752868652, + "csv_write_time_avg": 3.5365422566731772e-06 + } + }, + { + "timestamp": "2025-08-16T22:57:23.583713", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.061798810958862, + "points_saved": 30, + "points_rate": 2.9815742258059603, + "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.1303362528483073, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:57:33.655592", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.071878433227539, + "points_saved": 29, + "points_rate": 2.879304013869728, + "variables_saved": 77, + "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.12759619745714912, + "csv_write_time_avg": 7.54718122811153e-06 + } + }, + { + "timestamp": "2025-08-16T22:57:43.735530", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.079296112060547, + "points_saved": 30, + "points_rate": 2.976398318539626, + "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.1589628299077352, + "csv_write_time_avg": 2.3182233174641927e-05 + } + }, + { + "timestamp": "2025-08-16T22:57:53.795932", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.061043739318848, + "points_saved": 30, + "points_rate": 2.981797990079214, + "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.15391517480214437, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:58:03.851185", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.055254220962524, + "points_saved": 29, + "points_rate": 2.8840643272392588, + "variables_saved": 77, + "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.12945091313329235, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:58:13.912915", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.061729669570923, + "points_saved": 30, + "points_rate": 2.9815947143488835, + "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.1299544095993042, + "csv_write_time_avg": 2.8467178344726564e-05 + } + }, + { + "timestamp": "2025-08-16T22:58:23.965084", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.05117678642273, + "points_saved": 30, + "points_rate": 2.9847251359188527, + "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.1632701317469279, + "csv_write_time_avg": 1.815160115559896e-05 + } + }, + { + "timestamp": "2025-08-16T22:58:34.026165", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.062072992324829, + "points_saved": 29, + "points_rate": 2.882109881544358, + "variables_saved": 77, + "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.13691803504680766, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:58:44.072296", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.046131372451782, + "points_saved": 30, + "points_rate": 2.9862241382055936, + "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.1314794937769572, + "csv_write_time_avg": 6.2783559163411456e-06 + } + }, + { + "timestamp": "2025-08-16T22:58:54.134501", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.062204360961914, + "points_saved": 30, + "points_rate": 2.981454055573574, + "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.13750773270924885, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:59:04.187041", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.052540063858032, + "points_saved": 30, + "points_rate": 2.9843203617620198, + "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.11236170927683513, + "csv_write_time_avg": 1.6045570373535156e-05 + } + }, + { + "timestamp": "2025-08-16T22:59:14.216706", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.029664993286133, + "points_saved": 30, + "points_rate": 2.9911268242839646, + "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.0602427085240682, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:59:24.263411", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.0467050075531, + "points_saved": 29, + "points_rate": 2.88651851310433, + "variables_saved": 77, + "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.16837461241360369, + "csv_write_time_avg": 1.0663065417059537e-05 + } + }, + { + "timestamp": "2025-08-16T22:59:34.321882", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.058470726013184, + "points_saved": 30, + "points_rate": 2.9825607507525076, + "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.13843444983164468, + "csv_write_time_avg": 1.2652079264322917e-05 + } + }, + { + "timestamp": "2025-08-16T22:59:44.364622", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.04274034500122, + "points_saved": 30, + "points_rate": 2.987232465383068, + "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.132483172416687, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T22:59:54.416145", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.051522970199585, + "points_saved": 29, + "points_rate": 2.8851349279087577, + "variables_saved": 77, + "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.14964714543572788, + "csv_write_time_avg": 3.288532125538793e-06 + } + }, + { + "timestamp": "2025-08-16T23:00:04.478359", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.062214374542236, + "points_saved": 30, + "points_rate": 2.981451088529884, + "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.06354688008626302, + "csv_write_time_avg": 0.00022495587666829426 + } + }, + { + "timestamp": "2025-08-16T23:00:14.509694", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031334400177002, + "points_saved": 30, + "points_rate": 2.990629043277697, + "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.05412274201711019, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:00:24.540280", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03058648109436, + "points_saved": 30, + "points_rate": 2.9908520360742585, + "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.11685904661814371, + "csv_write_time_avg": 1.9931793212890624e-05 + } + }, + { + "timestamp": "2025-08-16T23:00:34.584177", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.0438973903656, + "points_saved": 30, + "points_rate": 2.986888339657559, + "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.13749229907989502, + "csv_write_time_avg": 1.6474723815917967e-05 + } + }, + { + "timestamp": "2025-08-16T23:00:44.624871", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.040693521499634, + "points_saved": 30, + "points_rate": 2.9878414210893403, + "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.0991792360941569, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:00:54.660537", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.035665512084961, + "points_saved": 30, + "points_rate": 2.9893383716181017, + "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.04945051670074463, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:01:04.690725", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030188083648682, + "points_saved": 30, + "points_rate": 2.9909708322325796, + "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.05134510199228923, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:01:14.724068", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.033343076705933, + "points_saved": 29, + "points_rate": 2.8903626416730734, + "variables_saved": 77, + "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.11742227652977252, + "csv_write_time_avg": 1.6138471406081627e-05 + } + }, + { + "timestamp": "2025-08-16T23:01:24.775321", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.05125379562378, + "points_saved": 30, + "points_rate": 2.9847022679958313, + "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.15239620208740234, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:01:34.825854", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.050532579421997, + "points_saved": 30, + "points_rate": 2.9849164472561007, + "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.15170615514119465, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:01:44.861289", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.035435199737549, + "points_saved": 29, + "points_rate": 2.8897600774462098, + "variables_saved": 77, + "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.13122431985263167, + "csv_write_time_avg": 5.623389934671336e-06 + } + }, + { + "timestamp": "2025-08-16T23:01:54.912010", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.050720691680908, + "points_saved": 30, + "points_rate": 2.984860580677695, + "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.130361803372701, + "csv_write_time_avg": 7.05718994140625e-06 + } + }, + { + "timestamp": "2025-08-16T23:02:04.976450", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.06444001197815, + "points_saved": 30, + "points_rate": 2.980791774236384, + "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.143946107228597, + "csv_write_time_avg": 1.850128173828125e-05 + } + }, + { + "timestamp": "2025-08-16T23:02:15.029984", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.053534030914307, + "points_saved": 29, + "points_rate": 2.8845577993594986, + "variables_saved": 77, + "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.16858548131482354, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:02:25.089324", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.059340000152588, + "points_saved": 29, + "points_rate": 2.8828929134078485, + "variables_saved": 78, + "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.1370831111381794, + "csv_write_time_avg": 6.141333744443696e-06 + } + }, + { + "timestamp": "2025-08-16T23:02:35.138257", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.048932790756226, + "points_saved": 30, + "points_rate": 2.9853916455283973, + "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.12914044857025148, + "csv_write_time_avg": 1.3144810994466146e-05 + } + }, + { + "timestamp": "2025-08-16T23:02:45.193048", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.054275751113892, + "points_saved": 29, + "points_rate": 2.884345000860669, + "variables_saved": 77, + "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.1319486848239241, + "csv_write_time_avg": 4.610522040005388e-05 + } + }, + { + "timestamp": "2025-08-16T23:02:55.239783", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.047250509262085, + "points_saved": 30, + "points_rate": 2.9858915105525057, + "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.1466659625371297, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:03:05.271733", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031950235366821, + "points_saved": 30, + "points_rate": 2.9904454563816962, + "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.06443273226420085, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:03:15.307494", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.035760879516602, + "points_saved": 30, + "points_rate": 2.9893099646516315, + "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.11485755443572998, + "csv_write_time_avg": 2.501805623372396e-05 + } + }, + { + "timestamp": "2025-08-16T23:03:25.379826", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.072331428527832, + "points_saved": 30, + "points_rate": 2.9784563993824804, + "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.06880827744801839, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:03:35.410997", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031171321868896, + "points_saved": 31, + "points_rate": 3.090366917811192, + "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.04404997056530368, + "csv_write_time_avg": 4.46073470577117e-06 + } + }, + { + "timestamp": "2025-08-16T23:08:43.093835", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-16T23:08:43.173880", + "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-16T23:08:43.207328", + "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-16T23:08:43.242376", + "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-16T23:08:53.174969", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.10945439338684, + "points_saved": 30, + "points_rate": 2.7004026424428362, + "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.062371102968851726, + "csv_write_time_avg": 0.00032188097635904946 + } + }, + { + "timestamp": "2025-08-16T23:09:03.202724", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.027755498886108, + "points_saved": 30, + "points_rate": 2.991696397397446, + "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.07085731029510497, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:09:13.232093", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029368162155151, + "points_saved": 30, + "points_rate": 2.9912153502552727, + "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.06928338209788004, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:09:23.260022", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027929544448853, + "points_saved": 30, + "points_rate": 2.9916444732708616, + "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.05925215085347493, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:09:33.290435", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030412435531616, + "points_saved": 30, + "points_rate": 2.9909039326965607, + "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.056091562906901045, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:09:43.320078", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029643297195435, + "points_saved": 30, + "points_rate": 2.9911332946794658, + "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.05588960647583008, + "csv_write_time_avg": 3.3346811930338543e-05 + } + }, + { + "timestamp": "2025-08-16T23:09:53.382177", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.06209945678711, + "points_saved": 30, + "points_rate": 2.9814851392434143, + "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.10196696917215983, + "csv_write_time_avg": 3.336270650227865e-05 + } + }, + { + "timestamp": "2025-08-16T23:10:03.440911", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.9% CPU", + "details": { + "duration": 10.058733940124512, + "points_saved": 30, + "points_rate": 2.9824827039444135, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.9, + "cpu_max": 1.9, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.12997784614562988, + "csv_write_time_avg": 1.5052159627278646e-05 + } + }, + { + "timestamp": "2025-08-16T23:10:13.471706", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 2.2% CPU", + "details": { + "duration": 10.030794620513916, + "points_saved": 31, + "points_rate": 3.0904829749581446, + "variables_saved": 82, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 2.2, + "cpu_max": 2.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.05302013889435799, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:10:23.510567", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.038861513137817, + "points_saved": 30, + "points_rate": 2.9883866771883567, + "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.05260756810506185, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:10:33.544143", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.032572507858276, + "points_saved": 29, + "points_rate": 2.8905846409069045, + "variables_saved": 78, + "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.13070860402337436, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:10:43.623996", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.079814672470093, + "points_saved": 29, + "points_rate": 2.8770370232306517, + "variables_saved": 77, + "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.1495598842357767, + "csv_write_time_avg": 1.1641403724407328e-05 + } + }, + { + "timestamp": "2025-08-16T23:10:53.686190", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.06323528289795, + "points_saved": 30, + "points_rate": 2.9811486223504837, + "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.17666353384653727, + "csv_write_time_avg": 1.1277198791503906e-05 + } + }, + { + "timestamp": "2025-08-16T23:11:03.746473", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.060283184051514, + "points_saved": 30, + "points_rate": 2.982023413372574, + "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.1407540241877238, + "csv_write_time_avg": 7.319450378417969e-06 + } + }, + { + "timestamp": "2025-08-16T23:11:13.794825", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.048351764678955, + "points_saved": 30, + "points_rate": 2.985564269898796, + "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.06855700016021729, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:11:23.825097", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.030272245407104, + "points_saved": 30, + "points_rate": 2.990945735669049, + "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.053484288851420085, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:11:33.855459", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.030361652374268, + "points_saved": 30, + "points_rate": 2.990919075475086, + "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.05102927684783935, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:11:43.886684", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.031224966049194, + "points_saved": 30, + "points_rate": 2.990661669091798, + "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.057368199030558266, + "csv_write_time_avg": 6.882349650065104e-06 + } + }, + { + "timestamp": "2025-08-16T23:11:53.956022", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.06933856010437, + "points_saved": 29, + "points_rate": 2.880030284700191, + "variables_saved": 77, + "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.14132211948263235, + "csv_write_time_avg": 6.856589481748383e-06 + } + }, + { + "timestamp": "2025-08-16T23:12:04.014556", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.058533191680908, + "points_saved": 30, + "points_rate": 2.9825422284048377, + "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.1752167224884033, + "csv_write_time_avg": 4.1095415751139325e-05 + } + }, + { + "timestamp": "2025-08-16T23:12:14.088376", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.07282567024231, + "points_saved": 30, + "points_rate": 2.978310255942147, + "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.13535377979278565, + "csv_write_time_avg": 5.0067901611328125e-06 + } + }, + { + "timestamp": "2025-08-16T23:12:24.147956", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.060068845748901, + "points_saved": 29, + "points_rate": 2.8826840496478883, + "variables_saved": 77, + "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.13287821309319858, + "csv_write_time_avg": 1.2422430104222791e-05 + } + }, + { + "timestamp": "2025-08-16T23:12:34.220754", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.073304176330566, + "points_saved": 30, + "points_rate": 2.9781687790677034, + "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.1420870860417684, + "csv_write_time_avg": 9.11553700764974e-06 + } + }, + { + "timestamp": "2025-08-16T23:12:44.271089", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.050334692001343, + "points_saved": 30, + "points_rate": 2.984975219171138, + "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.1588114102681478, + "csv_write_time_avg": 1.3057390848795573e-05 + } + }, + { + "timestamp": "2025-08-16T23:12:54.334008", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.062919616699219, + "points_saved": 29, + "points_rate": 2.8818674007765166, + "variables_saved": 77, + "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.1311787407973717, + "csv_write_time_avg": 1.2595078040813578e-05 + } + }, + { + "timestamp": "2025-08-16T23:13:04.392049", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.058041095733643, + "points_saved": 30, + "points_rate": 2.9826881511475642, + "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.13646260102589924, + "csv_write_time_avg": 3.449916839599609e-05 + } + }, + { + "timestamp": "2025-08-16T23:13:14.433092", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.041042804718018, + "points_saved": 30, + "points_rate": 2.9877374873756937, + "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.1584561030069987, + "csv_write_time_avg": 1.4623006184895834e-05 + } + }, + { + "timestamp": "2025-08-16T23:13:24.498886", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.065793514251709, + "points_saved": 29, + "points_rate": 2.8810445951370043, + "variables_saved": 77, + "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.16681985197396115, + "csv_write_time_avg": 8.936586051151671e-06 + } + }, + { + "timestamp": "2025-08-16T23:13:34.572643", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.072757482528687, + "points_saved": 30, + "points_rate": 2.9783304176671925, + "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.13336125214894612, + "csv_write_time_avg": 1.6760826110839843e-05 + } + }, + { + "timestamp": "2025-08-16T23:13:44.646950", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.075306177139282, + "points_saved": 30, + "points_rate": 2.977577005855122, + "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.13515442212422688, + "csv_write_time_avg": 5.451838175455729e-06 + } + }, + { + "timestamp": "2025-08-16T23:13:54.709161", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.062211751937866, + "points_saved": 30, + "points_rate": 2.9814518656121844, + "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.1613554875055949, + "csv_write_time_avg": 1.1444091796875e-05 + } + }, + { + "timestamp": "2025-08-16T23:14:04.751130", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.041969060897827, + "points_saved": 30, + "points_rate": 2.9874619029465297, + "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.0970383882522583, + "csv_write_time_avg": 5.849202473958334e-06 + } + }, + { + "timestamp": "2025-08-16T23:14:14.795339", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 3.3% CPU", + "details": { + "duration": 10.044208765029907, + "points_saved": 30, + "points_rate": 2.9867957448722615, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 3.3, + "cpu_max": 3.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.052556904157002766, + "csv_write_time_avg": 3.6557515462239585e-06 + } + }, + { + "timestamp": "2025-08-16T23:14:24.824750", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02941083908081, + "points_saved": 29, + "points_rate": 2.8914958680322473, + "variables_saved": 77, + "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.10140497108985638, + "csv_write_time_avg": 1.5373887686893857e-05 + } + }, + { + "timestamp": "2025-08-16T23:14:34.872300", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.046550989151001, + "points_saved": 30, + "points_rate": 2.9860994118674347, + "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.131866979598999, + "csv_write_time_avg": 1.006921132405599e-05 + } + }, + { + "timestamp": "2025-08-16T23:14:44.917272", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.045971393585205, + "points_saved": 30, + "points_rate": 2.9862716928654924, + "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.05455433527628581, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:14:54.947153", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.029881000518799, + "points_saved": 30, + "points_rate": 2.991062406268653, + "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.05049606164296468, + "csv_write_time_avg": 2.6543935139973957e-06 + } + }, + { + "timestamp": "2025-08-16T23:15:04.977178", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.030024528503418, + "points_saved": 30, + "points_rate": 2.9910196046625526, + "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.04865203698476155, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:15:15.007220", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.03004240989685, + "points_saved": 30, + "points_rate": 2.991014272322356, + "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.14151499271392823, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:15:25.080409", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.073188781738281, + "points_saved": 29, + "points_rate": 2.8789294659675395, + "variables_saved": 77, + "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.16915046757665173, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:15:35.129968", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.049559116363525, + "points_saved": 30, + "points_rate": 2.9852055849048655, + "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.12903095086415609, + "csv_write_time_avg": 4.378954569498698e-06 + } + }, + { + "timestamp": "2025-08-16T23:15:45.197608", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.067639589309692, + "points_saved": 30, + "points_rate": 2.9798444544891587, + "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.12897333304087322, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:15:55.245351", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.047743558883667, + "points_saved": 29, + "points_rate": 2.886220157794511, + "variables_saved": 77, + "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.1339695618070405, + "csv_write_time_avg": 1.011223628603179e-05 + } + }, + { + "timestamp": "2025-08-16T23:16:05.307691", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.062339305877686, + "points_saved": 30, + "points_rate": 2.981414071624099, + "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.152794615427653, + "csv_write_time_avg": 3.606478373209636e-05 + } + }, + { + "timestamp": "2025-08-16T23:16:15.347687", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03999638557434, + "points_saved": 30, + "points_rate": 2.9880488844701754, + "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.15475840568542482, + "csv_write_time_avg": 4.204114278157552e-06 + } + }, + { + "timestamp": "2025-08-16T23:16:25.383758", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.036071300506592, + "points_saved": 30, + "points_rate": 2.9892175037143955, + "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.13733135064442953, + "csv_write_time_avg": 1.8485387166341145e-05 + } + }, + { + "timestamp": "2025-08-16T23:16:35.423433", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.039674520492554, + "points_saved": 29, + "points_rate": 2.8885398566264713, + "variables_saved": 77, + "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.13295227083666572, + "csv_write_time_avg": 2.618493704960264e-05 + } + }, + { + "timestamp": "2025-08-16T23:16:45.472491", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.049057960510254, + "points_saved": 30, + "points_rate": 2.9853544598798107, + "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.13075623512268067, + "csv_write_time_avg": 4.378954569498698e-06 + } + }, + { + "timestamp": "2025-08-16T23:16:55.521022", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.048531532287598, + "points_saved": 30, + "points_rate": 2.985510858338358, + "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.15967687765757244, + "csv_write_time_avg": 6.246566772460937e-06 + } + }, + { + "timestamp": "2025-08-16T23:17:05.582028", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.060006380081177, + "points_saved": 29, + "points_rate": 2.8827019491180472, + "variables_saved": 77, + "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.14668524676355824, + "csv_write_time_avg": 7.292319988382273e-06 + } + }, + { + "timestamp": "2025-08-16T23:17:15.653499", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.07246994972229, + "points_saved": 30, + "points_rate": 2.978415438293478, + "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.12842321395874023, + "csv_write_time_avg": 3.7225087483723957e-05 + } + }, + { + "timestamp": "2025-08-16T23:17:25.699632", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.045625925064087, + "points_saved": 30, + "points_rate": 2.98637439058419, + "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.13115129470825196, + "csv_write_time_avg": 8.829434712727864e-06 + } + }, + { + "timestamp": "2025-08-16T23:17:35.769511", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.070386171340942, + "points_saved": 29, + "points_rate": 2.879730678306098, + "variables_saved": 78, + "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.14351819301473684, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:17:45.835111", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.065600156784058, + "points_saved": 29, + "points_rate": 2.881099939227613, + "variables_saved": 77, + "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.15835017171399346, + "csv_write_time_avg": 4.1846571297481145e-06 + } + }, + { + "timestamp": "2025-08-16T23:17:55.889674", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.05456256866455, + "points_saved": 30, + "points_rate": 2.9837200569516775, + "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.1353708823521932, + "csv_write_time_avg": 1.3526280721028646e-05 + } + }, + { + "timestamp": "2025-08-16T23:18:05.934009", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.04433560371399, + "points_saved": 30, + "points_rate": 2.9867580279682424, + "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.1348640203475952, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:18:15.992414", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.05840516090393, + "points_saved": 29, + "points_rate": 2.8831608526489125, + "variables_saved": 77, + "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.13495705867635793, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:18:26.034450", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.041033029556274, + "points_saved": 30, + "points_rate": 2.987740396002436, + "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.16204473972320557, + "csv_write_time_avg": 3.5047531127929686e-06 + } + }, + { + "timestamp": "2025-08-16T23:18:36.096809", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.062353610992432, + "points_saved": 30, + "points_rate": 2.9814098331057513, + "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.14261778195699057, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:18:46.135806", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03900408744812, + "points_saved": 29, + "points_rate": 2.888732761475715, + "variables_saved": 77, + "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.13065999129722858, + "csv_write_time_avg": 1.201958491884429e-05 + } + }, + { + "timestamp": "2025-08-16T23:18:56.183386", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.048580646514893, + "points_saved": 30, + "points_rate": 2.985496266122398, + "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.13435545762379963, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:19:06.248606", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.065220594406128, + "points_saved": 30, + "points_rate": 2.980560606557682, + "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.14284565448760986, + "csv_write_time_avg": 4.1405359903971355e-06 + } + }, + { + "timestamp": "2025-08-16T23:19:16.313708", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.065101623535156, + "points_saved": 30, + "points_rate": 2.980595837189682, + "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.161697522799174, + "csv_write_time_avg": 4.879633585611979e-06 + } + }, + { + "timestamp": "2025-08-16T23:19:26.384238", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.070529699325562, + "points_saved": 29, + "points_rate": 2.8796896355851245, + "variables_saved": 77, + "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.14373201337353936, + "csv_write_time_avg": 2.7746989809233567e-05 + } + }, + { + "timestamp": "2025-08-16T23:19:36.444737", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.060499429702759, + "points_saved": 30, + "points_rate": 2.9819593161973232, + "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.1324414094289144, + "csv_write_time_avg": 9.42548116048177e-06 + } + }, + { + "timestamp": "2025-08-16T23:19:46.482863", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03812575340271, + "points_saved": 30, + "points_rate": 2.988605715547112, + "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.1363412062327067, + "csv_write_time_avg": 4.490216573079427e-06 + } + }, + { + "timestamp": "2025-08-16T23:19:56.544156", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.061293125152588, + "points_saved": 29, + "points_rate": 2.8823332785625597, + "variables_saved": 77, + "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.15811870015900711, + "csv_write_time_avg": 8.82970875707166e-06 + } + }, + { + "timestamp": "2025-08-16T23:20:06.607830", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.063673734664917, + "points_saved": 30, + "points_rate": 2.981018740369457, + "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.15765948295593263, + "csv_write_time_avg": 3.838539123535157e-06 + } + }, + { + "timestamp": "2025-08-16T23:20:16.655080", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.047250509262085, + "points_saved": 30, + "points_rate": 2.9858915105525057, + "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.13280262152353922, + "csv_write_time_avg": 1.0053316752115885e-05 + } + }, + { + "timestamp": "2025-08-16T23:20:26.706058", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.05097770690918, + "points_saved": 29, + "points_rate": 2.885291445832678, + "variables_saved": 77, + "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.12726879942006078, + "csv_write_time_avg": 1.0186228258856412e-05 + } + }, + { + "timestamp": "2025-08-16T23:20:36.766494", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.060436010360718, + "points_saved": 30, + "points_rate": 2.9819781139808024, + "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.13224898179372152, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:20:46.839981", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.073486804962158, + "points_saved": 30, + "points_rate": 2.9781147859569463, + "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.161234982808431, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:20:56.896816", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.056835889816284, + "points_saved": 30, + "points_rate": 2.983045594924989, + "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.15503631432851156, + "csv_write_time_avg": 3.973642985026042e-06 + } + }, + { + "timestamp": "2025-08-16T23:21:06.964022", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.06720519065857, + "points_saved": 29, + "points_rate": 2.8806405999263136, + "variables_saved": 77, + "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.1320108380810968, + "csv_write_time_avg": 4.464182360418912e-06 + } + }, + { + "timestamp": "2025-08-16T23:21:17.037150", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.072125434875488, + "points_saved": 30, + "points_rate": 2.978517314341892, + "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.13422666390736898, + "csv_write_time_avg": 1.3009707132975261e-05 + } + }, + { + "timestamp": "2025-08-16T23:21:27.098443", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.061476469039917, + "points_saved": 30, + "points_rate": 2.98166974720984, + "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.13725918134053547, + "csv_write_time_avg": 8.813540140787761e-06 + } + }, + { + "timestamp": "2025-08-16T23:21:37.146005", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.047874927520752, + "points_saved": 29, + "points_rate": 2.8861824225707755, + "variables_saved": 78, + "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.13900006228479847, + "csv_write_time_avg": 5.335643373686692e-06 + } + }, + { + "timestamp": "2025-08-16T23:21:47.201834", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.055346250534058, + "points_saved": 30, + "points_rate": 2.983487515251565, + "variables_saved": 79, + "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.16858336130777996, + "csv_write_time_avg": 3.028710683186849e-05 + } + }, + { + "timestamp": "2025-08-16T23:21:57.255970", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.055124998092651, + "points_saved": 30, + "points_rate": 2.9835531637538746, + "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.1529279867808024, + "csv_write_time_avg": 9.886423746744792e-06 + } + }, + { + "timestamp": "2025-08-16T23:22:07.324758", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.068788290023804, + "points_saved": 29, + "points_rate": 2.88018768144458, + "variables_saved": 78, + "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.1336704944742137, + "csv_write_time_avg": 8.492634214203933e-06 + } + }, + { + "timestamp": "2025-08-16T23:22:17.376005", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.051247119903564, + "points_saved": 30, + "points_rate": 2.9847042503406116, + "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.13125402132670086, + "csv_write_time_avg": 1.9653638203938803e-05 + } + }, + { + "timestamp": "2025-08-16T23:22:27.433557", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.057551622390747, + "points_saved": 30, + "points_rate": 2.9828333103667233, + "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.13685109615325927, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:22:37.485203", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.051645755767822, + "points_saved": 29, + "points_rate": 2.885099684632167, + "variables_saved": 77, + "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.158185967083635, + "csv_write_time_avg": 2.2674429005589977e-05 + } + }, + { + "timestamp": "2025-08-16T23:22:47.544523", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.05932068824768, + "points_saved": 30, + "points_rate": 2.9823087393017547, + "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.145928692817688, + "csv_write_time_avg": 9.210904439290364e-06 + } + }, + { + "timestamp": "2025-08-16T23:22:57.586259", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.041735649108887, + "points_saved": 30, + "points_rate": 2.9875313440124494, + "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.13609295686086018, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:23:07.648063", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.061804056167603, + "points_saved": 29, + "points_rate": 2.882186915797055, + "variables_saved": 77, + "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.13225756842514563, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:23:17.711457", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.06339430809021, + "points_saved": 30, + "points_rate": 2.9811015132222596, + "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.13507616519927979, + "csv_write_time_avg": 2.3396809895833335e-05 + } + }, + { + "timestamp": "2025-08-16T23:23:27.783843", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.072385311126709, + "points_saved": 30, + "points_rate": 2.97844046601948, + "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.1592735767364502, + "csv_write_time_avg": 2.1696090698242188e-05 + } + }, + { + "timestamp": "2025-08-16T23:23:37.842202", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.058359861373901, + "points_saved": 29, + "points_rate": 2.8831738374529388, + "variables_saved": 77, + "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.13965451306310192, + "csv_write_time_avg": 1.3565195017847521e-05 + } + }, + { + "timestamp": "2025-08-16T23:23:47.901642", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.059439897537231, + "points_saved": 30, + "points_rate": 2.9822733974825626, + "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.12954200108846028, + "csv_write_time_avg": 4.680951436360677e-06 + } + }, + { + "timestamp": "2025-08-16T23:23:57.972580", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.070937633514404, + "points_saved": 30, + "points_rate": 2.9788686110184015, + "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.13494617144266766, + "csv_write_time_avg": 5.53131103515625e-06 + } + }, + { + "timestamp": "2025-08-16T23:24:08.029252", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.05667233467102, + "points_saved": 29, + "points_rate": 2.883657638921042, + "variables_saved": 77, + "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.15297264888368803, + "csv_write_time_avg": 1.0219113580111799e-05 + } + }, + { + "timestamp": "2025-08-16T23:24:18.101172", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.071919679641724, + "points_saved": 30, + "points_rate": 2.978578161285253, + "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.14788151582082112, + "csv_write_time_avg": 7.851918538411458e-06 + } + }, + { + "timestamp": "2025-08-16T23:24:28.154278", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.052912950515747, + "points_saved": 30, + "points_rate": 2.984209666160583, + "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.13252392609914143, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:24:38.202667", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.048582315444946, + "points_saved": 29, + "points_rate": 2.8859792445971415, + "variables_saved": 77, + "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.13080199011440935, + "csv_write_time_avg": 4.801256903286638e-06 + } + }, + { + "timestamp": "2025-08-16T23:24:48.272145", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.069477319717407, + "points_saved": 30, + "points_rate": 2.9793006178439785, + "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.1584811290105184, + "csv_write_time_avg": 7.278919219970703e-05 + } + }, + { + "timestamp": "2025-08-16T23:24:58.306954", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.034809827804565, + "points_saved": 30, + "points_rate": 2.9895932772812155, + "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.14619729518890381, + "csv_write_time_avg": 4.1643778483072914e-05 + } + }, + { + "timestamp": "2025-08-16T23:25:08.341731", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.03477692604065, + "points_saved": 29, + "points_rate": 2.8899496434986847, + "variables_saved": 77, + "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.13125635837686472, + "csv_write_time_avg": 3.056690610688308e-05 + } + }, + { + "timestamp": "2025-08-16T23:25:18.408931", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.06719970703125, + "points_saved": 30, + "points_rate": 2.9799746576048407, + "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.13230324586232503, + "csv_write_time_avg": 7.081826527913412e-05 + } + }, + { + "timestamp": "2025-08-16T23:25:28.479744", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.070812463760376, + "points_saved": 30, + "points_rate": 2.9789056352657166, + "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.1399958292643229, + "csv_write_time_avg": 2.944469451904297e-05 + } + }, + { + "timestamp": "2025-08-16T23:25:38.519396", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.039652109146118, + "points_saved": 29, + "points_rate": 2.8885463046653794, + "variables_saved": 77, + "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.1625690295778472, + "csv_write_time_avg": 1.8021156047952587e-05 + } + }, + { + "timestamp": "2025-08-16T23:25:48.584197", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.064801216125488, + "points_saved": 30, + "points_rate": 2.980684800007277, + "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.13829598426818848, + "csv_write_time_avg": 5.173683166503906e-06 + } + }, + { + "timestamp": "2025-08-16T23:25:58.644484", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.06028699874878, + "points_saved": 29, + "points_rate": 2.8826215398831856, + "variables_saved": 78, + "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.1308187040789374, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:26:08.696010", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.050812721252441, + "points_saved": 30, + "points_rate": 2.9848332500082315, + "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.13072904745737712, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:26:18.743946", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.04814076423645, + "points_saved": 29, + "points_rate": 2.886106064837129, + "variables_saved": 77, + "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.14816656605950718, + "csv_write_time_avg": 9.758719082536368e-06 + } + }, + { + "timestamp": "2025-08-16T23:26:28.806260", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.062823057174683, + "points_saved": 30, + "points_rate": 2.9812707457486622, + "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.14972790082295737, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:26:38.849378", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.04311752319336, + "points_saved": 29, + "points_rate": 2.887549601309357, + "variables_saved": 77, + "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.12524189620182433, + "csv_write_time_avg": 1.285816061085668e-05 + } + }, + { + "timestamp": "2025-08-16T23:26:48.924394", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.075015783309937, + "points_saved": 30, + "points_rate": 2.9776628290446334, + "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.12937448819478353, + "csv_write_time_avg": 4.15643056233724e-06 + } + }, + { + "timestamp": "2025-08-16T23:26:58.982552", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.05815863609314, + "points_saved": 30, + "points_rate": 2.9826532952410076, + "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.145879062016805, + "csv_write_time_avg": 6.699562072753907e-06 + } + }, + { + "timestamp": "2025-08-16T23:27:09.037744", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.055191278457642, + "points_saved": 30, + "points_rate": 2.983533497196851, + "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.1595397392908732, + "csv_write_time_avg": 5.9604644775390625e-06 + } + }, + { + "timestamp": "2025-08-16T23:27:19.103965", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.066221237182617, + "points_saved": 29, + "points_rate": 2.8809221769217404, + "variables_saved": 77, + "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.13217245299240638, + "csv_write_time_avg": 1.5275231723127694e-05 + } + }, + { + "timestamp": "2025-08-16T23:27:29.168335", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.063864469528198, + "points_saved": 30, + "points_rate": 2.980962242768202, + "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.13237438996632894, + "csv_write_time_avg": 4.124641418457031e-06 + } + }, + { + "timestamp": "2025-08-16T23:27:39.225265", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.057435512542725, + "points_saved": 30, + "points_rate": 2.9828677462148985, + "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.13342551390329996, + "csv_write_time_avg": 3.6160151163736978e-06 + } + }, + { + "timestamp": "2025-08-16T23:27:49.270344", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.045079469680786, + "points_saved": 29, + "points_rate": 2.8869856219187846, + "variables_saved": 77, + "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.1633307933807373, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:27:59.342474", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.072129964828491, + "points_saved": 30, + "points_rate": 2.9785159747500183, + "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.13907296657562257, + "csv_write_time_avg": 1.2175242106119792e-05 + } + }, + { + "timestamp": "2025-08-16T23:28:09.412567", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.070093154907227, + "points_saved": 30, + "points_rate": 2.9791184191161917, + "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.13324183622996014, + "csv_write_time_avg": 2.1163622538248698e-05 + } + }, + { + "timestamp": "2025-08-16T23:28:19.485111", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.072543621063232, + "points_saved": 30, + "points_rate": 2.97839365393915, + "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.13361387252807616, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:28:29.547893", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.062782049179077, + "points_saved": 29, + "points_rate": 2.881906798564302, + "variables_saved": 77, + "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.13867291088761954, + "csv_write_time_avg": 7.571845219053071e-06 + } + }, + { + "timestamp": "2025-08-16T23:28:39.608741", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.060847759246826, + "points_saved": 30, + "points_rate": 2.9818560739503583, + "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.16538333892822266, + "csv_write_time_avg": 5.467732747395833e-06 + } + }, + { + "timestamp": "2025-08-16T23:28:49.671161", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.06242060661316, + "points_saved": 30, + "points_rate": 2.981389982871874, + "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.1433255910873413, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:28:59.713924", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.042762279510498, + "points_saved": 29, + "points_rate": 2.887651742904096, + "variables_saved": 77, + "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.13074595352699017, + "csv_write_time_avg": 9.898481697871766e-06 + } + }, + { + "timestamp": "2025-08-16T23:29:09.775157", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.061233043670654, + "points_saved": 30, + "points_rate": 2.98174188688259, + "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.1285074234008789, + "csv_write_time_avg": 8.026758829752604e-06 + } + }, + { + "timestamp": "2025-08-16T23:29:19.845230", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.070072889328003, + "points_saved": 30, + "points_rate": 2.9791244144611113, + "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.15800214608510335, + "csv_write_time_avg": 1.4932950337727864e-05 + } + }, + { + "timestamp": "2025-08-16T23:29:29.908365", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.063135385513306, + "points_saved": 30, + "points_rate": 2.981178216402357, + "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.15738505522410076, + "csv_write_time_avg": 5.245208740234375e-06 + } + }, + { + "timestamp": "2025-08-16T23:29:39.961538", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.053172588348389, + "points_saved": 29, + "points_rate": 2.88466150811048, + "variables_saved": 77, + "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.13023520338124242, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:29:50.027738", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.066200017929077, + "points_saved": 30, + "points_rate": 2.9802706032630484, + "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.13032296498616536, + "csv_write_time_avg": 3.1232833862304687e-06 + } + }, + { + "timestamp": "2025-08-16T23:30:00.088339", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.060600757598877, + "points_saved": 30, + "points_rate": 2.9819292826365946, + "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.1328426202138265, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:30:10.155539", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.067200899124146, + "points_saved": 30, + "points_rate": 2.9799743047354923, + "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.14126821358998617, + "csv_write_time_avg": 1.899401346842448e-05 + } + }, + { + "timestamp": "2025-08-16T23:30:20.205047", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.04950761795044, + "points_saved": 29, + "points_rate": 2.8857135197549555, + "variables_saved": 77, + "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.1607525841943149, + "csv_write_time_avg": 9.380537888099407e-06 + } + }, + { + "timestamp": "2025-08-16T23:30:30.249954", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.044906616210938, + "points_saved": 30, + "points_rate": 2.986588242800048, + "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.13741990725199382, + "csv_write_time_avg": 1.5838940938313803e-05 + } + }, + { + "timestamp": "2025-08-16T23:30:40.323158", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.073204517364502, + "points_saved": 30, + "points_rate": 2.9781982434969003, + "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.12902623017628986, + "csv_write_time_avg": 4.42663828531901e-06 + } + }, + { + "timestamp": "2025-08-16T23:30:50.363416", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 28 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.040257930755615, + "points_saved": 28, + "points_rate": 2.78877297705964, + "variables_saved": 75, + "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.1314144389969962, + "csv_write_time_avg": 1.0916164943150111e-05 + } + }, + { + "timestamp": "2025-08-16T23:31:00.426860", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.063443660736084, + "points_saved": 30, + "points_rate": 2.9810868934507124, + "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.1647464672724406, + "csv_write_time_avg": 5.91278076171875e-06 + } + }, + { + "timestamp": "2025-08-16T23:31:10.498726", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.071866273880005, + "points_saved": 30, + "points_rate": 2.9785939551045133, + "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.15528515974680582, + "csv_write_time_avg": 4.4425328572591145e-06 + } + }, + { + "timestamp": "2025-08-16T23:31:20.549242", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.05051565170288, + "points_saved": 30, + "points_rate": 2.9849214746426505, + "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.13090865612030028, + "csv_write_time_avg": 1.655419667561849e-05 + } + }, + { + "timestamp": "2025-08-16T23:31:30.602626", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.05338454246521, + "points_saved": 29, + "points_rate": 2.884600691190596, + "variables_saved": 77, + "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.12907197557646652, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:31:40.671035", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.067845821380615, + "points_saved": 30, + "points_rate": 2.979783414669541, + "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.1375588337580363, + "csv_write_time_avg": 4.7047932942708336e-06 + } + }, + { + "timestamp": "2025-08-16T23:31:50.739557", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.069084644317627, + "points_saved": 30, + "points_rate": 2.9794168049754313, + "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.17974712053934733, + "csv_write_time_avg": 1.0371208190917969e-05 + } + }, + { + "timestamp": "2025-08-16T23:32:00.784696", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.04513931274414, + "points_saved": 30, + "points_rate": 2.9865190582214605, + "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.14790035883585612, + "csv_write_time_avg": 5.38031260172526e-06 + } + }, + { + "timestamp": "2025-08-16T23:32:10.847841", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.063145399093628, + "points_saved": 29, + "points_rate": 2.8818027415773986, + "variables_saved": 77, + "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.12924755852797937, + "csv_write_time_avg": 2.9284378577922953e-05 + } + }, + { + "timestamp": "2025-08-16T23:32:20.901600", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.053759098052979, + "points_saved": 30, + "points_rate": 2.9839585081971807, + "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.12871384620666504, + "csv_write_time_avg": 1.632372538248698e-05 + } + }, + { + "timestamp": "2025-08-16T23:32:30.945386", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.043785333633423, + "points_saved": 29, + "points_rate": 2.887357608379809, + "variables_saved": 77, + "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.1592275356424266, + "csv_write_time_avg": 3.4529587318157327e-06 + } + }, + { + "timestamp": "2025-08-16T23:32:41.004432", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.059046506881714, + "points_saved": 30, + "points_rate": 2.982390028664849, + "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.14753212928771972, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:32:51.042112", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03767991065979, + "points_saved": 30, + "points_rate": 2.9887384601834808, + "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.1330504337946574, + "csv_write_time_avg": 1.0212262471516928e-05 + } + }, + { + "timestamp": "2025-08-16T23:33:01.083186", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.041073322296143, + "points_saved": 29, + "points_rate": 2.888137459927284, + "variables_saved": 77, + "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.1312627463505186, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:33:11.132466", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.049279928207397, + "points_saved": 30, + "points_rate": 2.985288519607537, + "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.1333373785018921, + "csv_write_time_avg": 2.7187665303548177e-05 + } + }, + { + "timestamp": "2025-08-16T23:33:21.191436", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.057980060577393, + "points_saved": 30, + "points_rate": 2.9827062510877367, + "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.16458961963653565, + "csv_write_time_avg": 1.693566640218099e-05 + } + }, + { + "timestamp": "2025-08-16T23:33:31.251130", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.06068468093872, + "points_saved": 29, + "points_rate": 2.882507594631634, + "variables_saved": 77, + "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.1535172462463379, + "csv_write_time_avg": 1.640155397612473e-05 + } + }, + { + "timestamp": "2025-08-16T23:33:41.318203", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.067073345184326, + "points_saved": 30, + "points_rate": 2.9800120622296613, + "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.1334233045578003, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:33:51.385137", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.066933393478394, + "points_saved": 30, + "points_rate": 2.980053490711952, + "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.1340633471806844, + "csv_write_time_avg": 2.2292137145996094e-05 + } + }, + { + "timestamp": "2025-08-16T23:34:01.426751", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.041614055633545, + "points_saved": 29, + "points_rate": 2.8879819359050574, + "variables_saved": 78, + "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.16077620407630658, + "csv_write_time_avg": 1.2110019552296606e-05 + } + }, + { + "timestamp": "2025-08-16T23:34:11.498653", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.071901798248291, + "points_saved": 30, + "points_rate": 2.9785834493757286, + "variables_saved": 79, + "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.14918562571207683, + "csv_write_time_avg": 4.9591064453125e-06 + } + }, + { + "timestamp": "2025-08-16T23:34:21.556650", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.057997226715088, + "points_saved": 30, + "points_rate": 2.98270116045736, + "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.12981605529785156, + "csv_write_time_avg": 5.49157460530599e-06 + } + }, + { + "timestamp": "2025-08-16T23:34:31.621891", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.065240859985352, + "points_saved": 29, + "points_rate": 2.881202785249811, + "variables_saved": 78, + "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.13065516537633434, + "csv_write_time_avg": 1.3984482863853718e-05 + } + }, + { + "timestamp": "2025-08-16T23:34:41.685196", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.063305616378784, + "points_saved": 29, + "points_rate": 2.88175686056879, + "variables_saved": 77, + "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.1370529635199185, + "csv_write_time_avg": 3.5845000168372847e-06 + } + }, + { + "timestamp": "2025-08-16T23:34:51.749318", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.06412148475647, + "points_saved": 30, + "points_rate": 2.9808861156375377, + "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.16768685181935628, + "csv_write_time_avg": 8.408228556315104e-06 + } + }, + { + "timestamp": "2025-08-16T23:35:01.817217", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.06697416305542, + "points_saved": 30, + "points_rate": 2.980041421989179, + "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.14554441769917806, + "csv_write_time_avg": 4.402796427408854e-06 + } + }, + { + "timestamp": "2025-08-16T23:35:11.890074", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.073782444000244, + "points_saved": 30, + "points_rate": 2.9780273861152757, + "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.12986889680226643, + "csv_write_time_avg": 1.937548319498698e-05 + } + }, + { + "timestamp": "2025-08-16T23:35:21.959009", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.068934917449951, + "points_saved": 29, + "points_rate": 2.880145739122973, + "variables_saved": 77, + "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.13256561345067516, + "csv_write_time_avg": 8.114453019766972e-06 + } + }, + { + "timestamp": "2025-08-16T23:35:32.009410", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.050400495529175, + "points_saved": 30, + "points_rate": 2.984955675482307, + "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.16233667532602947, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:35:42.072330", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.062919855117798, + "points_saved": 30, + "points_rate": 2.981242068100404, + "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.15226929187774657, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:35:52.125324", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.0529944896698, + "points_saved": 29, + "points_rate": 2.884712612724463, + "variables_saved": 77, + "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.12732480312215871, + "csv_write_time_avg": 1.3499424375336745e-05 + } + }, + { + "timestamp": "2025-08-16T23:36:02.180513", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.055188655853271, + "points_saved": 30, + "points_rate": 2.983534275365044, + "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.12882217566172283, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:36:12.245486", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.06497311592102, + "points_saved": 30, + "points_rate": 2.9806338928561336, + "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.1538026014963786, + "csv_write_time_avg": 4.975001017252604e-06 + } + }, + { + "timestamp": "2025-08-16T23:36:22.311061", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.065575122833252, + "points_saved": 29, + "points_rate": 2.8811071047708894, + "variables_saved": 77, + "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.14424229490345922, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:36:32.364129", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.053067922592163, + "points_saved": 30, + "points_rate": 2.984163663370988, + "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.13346296151479084, + "csv_write_time_avg": 6.095568339029948e-06 + } + }, + { + "timestamp": "2025-08-16T23:36:42.418771", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.054641723632812, + "points_saved": 30, + "points_rate": 2.983696567674496, + "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.1288867712020874, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:36:52.495909", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.07713794708252, + "points_saved": 29, + "points_rate": 2.877801232084545, + "variables_saved": 77, + "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.1389114445653455, + "csv_write_time_avg": 4.587502315126617e-06 + } + }, + { + "timestamp": "2025-08-16T23:37:02.555240", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.05933141708374, + "points_saved": 30, + "points_rate": 2.9823055585037257, + "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.1697068691253662, + "csv_write_time_avg": 1.7547607421875e-05 + } + }, + { + "timestamp": "2025-08-16T23:37:12.621095", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.065855026245117, + "points_saved": 30, + "points_rate": 2.980372747449647, + "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.14544511636098226, + "csv_write_time_avg": 2.8467178344726564e-05 + } + }, + { + "timestamp": "2025-08-16T23:37:22.696479", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.07538390159607, + "points_saved": 30, + "points_rate": 2.977554035955654, + "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.13346958955128987, + "csv_write_time_avg": 4.1405359903971355e-06 + } + }, + { + "timestamp": "2025-08-16T23:37:32.760259", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.063779592514038, + "points_saved": 29, + "points_rate": 2.8816211378050953, + "variables_saved": 77, + "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.13096538905439706, + "csv_write_time_avg": 8.155559671336206e-06 + } + }, + { + "timestamp": "2025-08-16T23:37:42.822804", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.062545776367188, + "points_saved": 30, + "points_rate": 2.9813528968442315, + "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.14048117001851398, + "csv_write_time_avg": 5.53131103515625e-06 + } + }, + { + "timestamp": "2025-08-16T23:37:52.865045", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.042241096496582, + "points_saved": 30, + "points_rate": 2.9873809751954714, + "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.1692928632100423, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:38:02.924841", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.059795141220093, + "points_saved": 30, + "points_rate": 2.982168083828542, + "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.15143317381540936, + "csv_write_time_avg": 1.1261304219563802e-05 + } + }, + { + "timestamp": "2025-08-16T23:38:12.963403", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.038562297821045, + "points_saved": 29, + "points_rate": 2.888859892446421, + "variables_saved": 77, + "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.13304339606186438, + "csv_write_time_avg": 5.080782133957435e-06 + } + }, + { + "timestamp": "2025-08-16T23:38:23.002457", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.039053916931152, + "points_saved": 30, + "points_rate": 2.988329403172558, + "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.1297197182973226, + "csv_write_time_avg": 4.863739013671875e-06 + } + }, + { + "timestamp": "2025-08-16T23:38:33.050715", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.048258304595947, + "points_saved": 29, + "points_rate": 2.8860723043650025, + "variables_saved": 78, + "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.1363438737803492, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:38:43.118616", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.067901134490967, + "points_saved": 30, + "points_rate": 2.979767043721253, + "variables_saved": 79, + "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.16099292437235516, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:38:53.179689", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.060567617416382, + "points_saved": 29, + "points_rate": 2.882541135134022, + "variables_saved": 78, + "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.14002489221507106, + "csv_write_time_avg": 7.078565400222252e-06 + } + }, + { + "timestamp": "2025-08-16T23:39:03.233520", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.054335832595825, + "points_saved": 30, + "points_rate": 2.983787343042689, + "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.13468525409698487, + "csv_write_time_avg": 3.954569498697917e-05 + } + }, + { + "timestamp": "2025-08-16T23:39:13.291101", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.057581424713135, + "points_saved": 30, + "points_rate": 2.982824471724888, + "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.12948429584503174, + "csv_write_time_avg": 4.061063130696615e-06 + } + }, + { + "timestamp": "2025-08-16T23:39:23.357832", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.066731214523315, + "points_saved": 29, + "points_rate": 2.880776230337965, + "variables_saved": 77, + "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.1404348406298407, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:39:33.400024", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.042191743850708, + "points_saved": 30, + "points_rate": 2.9873956567668976, + "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.1689699411392212, + "csv_write_time_avg": 2.4580955505371092e-05 + } + }, + { + "timestamp": "2025-08-16T23:39:43.471210", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.07118558883667, + "points_saved": 30, + "points_rate": 2.9787952704648077, + "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.1422062635421753, + "csv_write_time_avg": 1.6578038533528645e-05 + } + }, + { + "timestamp": "2025-08-16T23:39:53.540224", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.068506479263306, + "points_saved": 29, + "points_rate": 2.880268295970931, + "variables_saved": 77, + "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.1267589207353263, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:40:03.613393", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.073676347732544, + "points_saved": 30, + "points_rate": 2.9780587507908787, + "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.12987621625264487, + "csv_write_time_avg": 5.632241566975911e-05 + } + }, + { + "timestamp": "2025-08-16T23:40:13.692223", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.078830003738403, + "points_saved": 30, + "points_rate": 2.976535965868311, + "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.16469008922576905, + "csv_write_time_avg": 2.7561187744140624e-05 + } + }, + { + "timestamp": "2025-08-16T23:40:23.764423", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.071197748184204, + "points_saved": 29, + "points_rate": 2.8794986182481206, + "variables_saved": 77, + "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.15369961179535965, + "csv_write_time_avg": 1.7725188156654093e-05 + } + }, + { + "timestamp": "2025-08-16T23:40:33.821791", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.057654857635498, + "points_saved": 30, + "points_rate": 2.9828026935349463, + "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.1395320733388265, + "csv_write_time_avg": 1.2612342834472656e-05 + } + }, + { + "timestamp": "2025-08-16T23:40:43.861300", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.040224313735962, + "points_saved": 30, + "points_rate": 2.987981051275638, + "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.13421196937561036, + "csv_write_time_avg": 3.703435262044271e-06 + } + }, + { + "timestamp": "2025-08-16T23:40:53.921285", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.059985160827637, + "points_saved": 29, + "points_rate": 2.8827080295229943, + "variables_saved": 77, + "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.14595841539317164, + "csv_write_time_avg": 1.231555281014278e-05 + } + }, + { + "timestamp": "2025-08-16T23:41:03.977985", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.056699752807617, + "points_saved": 30, + "points_rate": 2.9830859762542516, + "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.16685760021209717, + "csv_write_time_avg": 1.544952392578125e-05 + } + }, + { + "timestamp": "2025-08-16T23:41:14.035122", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.057137250900269, + "points_saved": 30, + "points_rate": 2.9829562082703545, + "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.13363043467203775, + "csv_write_time_avg": 9.870529174804687e-06 + } + }, + { + "timestamp": "2025-08-16T23:41:24.112364", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.075984716415405, + "points_saved": 30, + "points_rate": 2.9773764891807706, + "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.13512086868286133, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:41:34.194540", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.081423044204712, + "points_saved": 29, + "points_rate": 2.8765780260228837, + "variables_saved": 77, + "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.13918137550354004, + "csv_write_time_avg": 7.676256114038928e-05 + } + }, + { + "timestamp": "2025-08-16T23:41:44.260489", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.067959785461426, + "points_saved": 30, + "points_rate": 2.979749685067407, + "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.15820788542429606, + "csv_write_time_avg": 6.946722666422526e-05 + } + }, + { + "timestamp": "2025-08-16T23:41:54.317937", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.057447671890259, + "points_saved": 30, + "points_rate": 2.9828641399594393, + "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.16940391858418782, + "csv_write_time_avg": 5.479653676350912e-05 + } + }, + { + "timestamp": "2025-08-16T23:42:04.392184", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.074247121810913, + "points_saved": 30, + "points_rate": 2.9778900236673267, + "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.1394342581431071, + "csv_write_time_avg": 9.586811065673829e-05 + } + }, + { + "timestamp": "2025-08-16T23:42:14.439966", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.047781467437744, + "points_saved": 29, + "points_rate": 2.8862092685814758, + "variables_saved": 77, + "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.13318955487218395, + "csv_write_time_avg": 8.525519535459322e-06 + } + }, + { + "timestamp": "2025-08-16T23:42:24.504475", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.064509153366089, + "points_saved": 30, + "points_rate": 2.98077129672702, + "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.13947092692057292, + "csv_write_time_avg": 4.004637400309245e-05 + } + }, + { + "timestamp": "2025-08-16T23:42:34.548206", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.041429281234741, + "points_saved": 29, + "points_rate": 2.888035078252727, + "variables_saved": 77, + "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.17277870507075868, + "csv_write_time_avg": 4.744529724121094e-05 + } + }, + { + "timestamp": "2025-08-16T23:42:44.631175", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.084224224090576, + "points_saved": 30, + "points_rate": 2.974943766951541, + "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.14570960998535157, + "csv_write_time_avg": 4.734992980957031e-05 + } + }, + { + "timestamp": "2025-08-16T23:42:54.706633", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.076504945755005, + "points_saved": 30, + "points_rate": 2.9772227733226386, + "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.1348162571589152, + "csv_write_time_avg": 4.169146219889323e-05 + } + }, + { + "timestamp": "2025-08-16T23:43:04.779574", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.072941303253174, + "points_saved": 30, + "points_rate": 2.978276066228158, + "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.13746442794799804, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:43:14.847396", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.067821741104126, + "points_saved": 29, + "points_rate": 2.88046419034229, + "variables_saved": 77, + "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.15671421741617136, + "csv_write_time_avg": 1.4132466809502963e-05 + } + }, + { + "timestamp": "2025-08-16T23:43:24.893610", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.046213626861572, + "points_saved": 30, + "points_rate": 2.9861996881875954, + "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.1408461809158325, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:43:34.944809", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.051199436187744, + "points_saved": 29, + "points_rate": 2.88522779635534, + "variables_saved": 78, + "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.13369700826447586, + "csv_write_time_avg": 1.5760290211644665e-05 + } + }, + { + "timestamp": "2025-08-16T23:43:45.000382", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.055572986602783, + "points_saved": 30, + "points_rate": 2.9834202426822944, + "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.13509066899617514, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:43:55.049390", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.049007415771484, + "points_saved": 29, + "points_rate": 2.885857159831104, + "variables_saved": 77, + "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.1313556638257257, + "csv_write_time_avg": 1.0778164041453394e-05 + } + }, + { + "timestamp": "2025-08-16T23:44:05.119804", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.070414066314697, + "points_saved": 30, + "points_rate": 2.9790234842824694, + "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.13746746381123862, + "csv_write_time_avg": 1.5664100646972657e-05 + } + }, + { + "timestamp": "2025-08-16T23:44:15.181678", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.061874151229858, + "points_saved": 30, + "points_rate": 2.981551900679767, + "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.1605708360671997, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:44:25.228174", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.04649567604065, + "points_saved": 30, + "points_rate": 2.986115852470369, + "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.1560792048772176, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:44:35.276598", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.048424243927002, + "points_saved": 29, + "points_rate": 2.8860246438666066, + "variables_saved": 77, + "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.12855611176326356, + "csv_write_time_avg": 4.08600116598195e-06 + } + }, + { + "timestamp": "2025-08-16T23:44:45.326539", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.049940824508667, + "points_saved": 30, + "points_rate": 2.9850922034127176, + "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.12928914229075114, + "csv_write_time_avg": 1.2056032816569011e-05 + } + }, + { + "timestamp": "2025-08-16T23:44:55.379145", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.051934957504272, + "points_saved": 30, + "points_rate": 2.984500011871197, + "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.14947096506754556, + "csv_write_time_avg": 6.214777628580729e-06 + } + }, + { + "timestamp": "2025-08-16T23:45:05.451923", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 1.1% CPU", + "details": { + "duration": 10.073449611663818, + "points_saved": 29, + "points_rate": 2.878854922391388, + "variables_saved": 77, + "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.1513592868015684, + "csv_write_time_avg": 5.631611264985183e-06 + } + }, + { + "timestamp": "2025-08-16T23:45:15.523066", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU", + "details": { + "duration": 10.071142435073853, + "points_saved": 30, + "points_rate": 2.9788080342823595, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.9, + "cpu_max": 0.9, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.12970163822174072, + "csv_write_time_avg": 8.527437845865885e-06 + } + }, + { + "timestamp": "2025-08-16T23:45:25.573324", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.050258159637451, + "points_saved": 30, + "points_rate": 2.9849979496528882, + "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.12788926760355632, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:45:35.650597", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.07727313041687, + "points_saved": 29, + "points_rate": 2.877762627319038, + "variables_saved": 77, + "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.14028834474497828, + "csv_write_time_avg": 7.267655997440733e-06 + } + }, + { + "timestamp": "2025-08-16T23:45:45.715262", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.064664602279663, + "points_saved": 30, + "points_rate": 2.9807252586643522, + "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.1580539067586263, + "csv_write_time_avg": 3.3179918924967446e-05 + } + }, + { + "timestamp": "2025-08-16T23:45:55.783393", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.068131923675537, + "points_saved": 30, + "points_rate": 2.9796987392918473, + "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.13420070807139078, + "csv_write_time_avg": 5.284945170084636e-06 + } + }, + { + "timestamp": "2025-08-16T23:46:05.859455", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.075555562973022, + "points_saved": 30, + "points_rate": 2.977503306145018, + "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.13232441743214926, + "csv_write_time_avg": 3.711382548014323e-06 + } + }, + { + "timestamp": "2025-08-16T23:46:15.918751", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.059802055358887, + "points_saved": 29, + "points_rate": 2.8827604997010465, + "variables_saved": 77, + "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.14747978078907933, + "csv_write_time_avg": 1.733056430158944e-05 + } + }, + { + "timestamp": "2025-08-16T23:46:25.981639", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.062888383865356, + "points_saved": 30, + "points_rate": 2.9812513918072896, + "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.15474687417348226, + "csv_write_time_avg": 1.5926361083984374e-05 + } + }, + { + "timestamp": "2025-08-16T23:46:36.029652", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.048012256622314, + "points_saved": 30, + "points_rate": 2.9856651478732013, + "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.08519941171010335, + "csv_write_time_avg": 4.680951436360677e-06 + } + }, + { + "timestamp": "2025-08-16T23:46:46.061173", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.031521320343018, + "points_saved": 30, + "points_rate": 2.9905733180432676, + "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.04510781764984131, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:46:56.122503", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 2.0% CPU", + "details": { + "duration": 10.060753583908081, + "points_saved": 30, + "points_rate": 2.981883986104603, + "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.05389167467753093, + "csv_write_time_avg": 2.853075663248698e-06 + } + }, + { + "timestamp": "2025-08-16T23:47:06.193357", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.4% CPU", + "details": { + "duration": 10.070889949798584, + "points_saved": 30, + "points_rate": 2.9788827153850486, + "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.07826923529307048, + "csv_write_time_avg": 1.7984708150227865e-05 + } + }, + { + "timestamp": "2025-08-16T23:47:16.238237", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 2.2% CPU", + "details": { + "duration": 10.044422388076782, + "points_saved": 30, + "points_rate": 2.9867322222143367, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 2.2, + "cpu_max": 2.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.06897985935211182, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:47:26.268861", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031622648239136, + "points_saved": 30, + "points_rate": 2.990543110716584, + "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.06518800258636474, + "csv_write_time_avg": 2.090136210123698e-06 + } + }, + { + "timestamp": "2025-08-16T23:47:36.299200", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.9% CPU", + "details": { + "duration": 10.029337882995605, + "points_saved": 30, + "points_rate": 2.991224380909926, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.9, + "cpu_max": 1.9, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0721778949101766, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:47:46.330523", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031325578689575, + "points_saved": 30, + "points_rate": 2.9906316732189047, + "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.06777164141337076, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:47:56.363505", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.033980131149292, + "points_saved": 30, + "points_rate": 2.989840482827805, + "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.06019260088602702, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:48:06.393112", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029607057571411, + "points_saved": 30, + "points_rate": 2.991144102435481, + "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.06008503437042236, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:48:16.422859", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.029746294021606, + "points_saved": 30, + "points_rate": 2.991102578325634, + "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.05959650675455729, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:48:26.454574", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.030716180801392, + "points_saved": 30, + "points_rate": 2.9908133635980505, + "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.06512565612792968, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:48:36.488596", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03502106666565, + "points_saved": 30, + "points_rate": 2.989530345845915, + "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.07002649307250977, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:48:46.522286", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.032697200775146, + "points_saved": 30, + "points_rate": 2.990222808446979, + "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.06599112351735432, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:48:56.556920", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.035626649856567, + "points_saved": 30, + "points_rate": 2.989349947611769, + "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.06483094692230225, + "csv_write_time_avg": 3.310044606526693e-05 + } + }, + { + "timestamp": "2025-08-16T23:49:06.587863", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.030943393707275, + "points_saved": 30, + "points_rate": 2.9907456180861254, + "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.053186806042989095, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:49:16.624282", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.035414934158325, + "points_saved": 30, + "points_rate": 2.9894130134955015, + "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.058874837557474774, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:49:26.666828", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.041556358337402, + "points_saved": 30, + "points_rate": 2.9875846860224318, + "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.06181166172027588, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:49:36.703705", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.038870573043823, + "points_saved": 30, + "points_rate": 2.988383980221381, + "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.06551856994628906, + "csv_write_time_avg": 6.508827209472656e-06 + } + }, + { + "timestamp": "2025-08-16T23:49:46.735177", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030482292175293, + "points_saved": 30, + "points_rate": 2.990883102740013, + "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.06470393339792888, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:49:56.762893", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028706312179565, + "points_saved": 30, + "points_rate": 2.9914127571535216, + "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.05506436824798584, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:50:06.792616", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.028721809387207, + "points_saved": 30, + "points_rate": 2.991408134575937, + "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.06580881277720134, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:50:16.832329", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.040714025497437, + "points_saved": 30, + "points_rate": 2.987835319661317, + "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.06664871374766032, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:50:26.875887", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.042567491531372, + "points_saved": 30, + "points_rate": 2.9872838818656877, + "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.0712353785832723, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:50:36.912820", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.037923336029053, + "points_saved": 30, + "points_rate": 2.9886659815702314, + "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.0791661024093628, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:50:46.950253", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.036447048187256, + "points_saved": 30, + "points_rate": 2.9891055924435412, + "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.08347579638163248, + "csv_write_time_avg": 3.325144449869792e-05 + } + }, + { + "timestamp": "2025-08-16T23:50:56.985247", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.035980224609375, + "points_saved": 30, + "points_rate": 2.989244630677585, + "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.07335034211476645, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:51:07.019502", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.032254934310913, + "points_saved": 31, + "points_rate": 3.090033118474506, + "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.09332143875860399, + "csv_write_time_avg": 3.2255726475869454e-05 + } + }, + { + "timestamp": "2025-08-16T23:51:17.057571", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.040069103240967, + "points_saved": 30, + "points_rate": 2.9880272427921737, + "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.08201688130696615, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:51:27.087640", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029563426971436, + "points_saved": 30, + "points_rate": 2.9911571145085136, + "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.07313787937164307, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:51:37.119941", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.032806634902954, + "points_saved": 31, + "points_rate": 3.0898631986142986, + "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.07291195469517861, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:51:47.150949", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.031007528305054, + "points_saved": 30, + "points_rate": 2.9907264963511717, + "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.06460507710774739, + "csv_write_time_avg": 1.9629796346028644e-06 + } + }, + { + "timestamp": "2025-08-16T23:51:57.185059", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.034110307693481, + "points_saved": 30, + "points_rate": 2.9898016944260637, + "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.05830337206522624, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:52:07.213585", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.028526067733765, + "points_saved": 30, + "points_rate": 2.9914665223360553, + "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.0651890516281128, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:52:17.246582", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031998634338379, + "points_saved": 30, + "points_rate": 2.9904310290985734, + "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.06183923085530599, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:52:27.283768", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03818416595459, + "points_saved": 30, + "points_rate": 2.9885883247438034, + "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.056281574567159015, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:52:37.319742", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.035974025726318, + "points_saved": 30, + "points_rate": 2.98924647703329, + "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.05688725312550862, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:52:47.358369", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.038626670837402, + "points_saved": 30, + "points_rate": 2.9884565871097846, + "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.06284612019856771, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:52:57.392227", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031856536865234, + "points_saved": 30, + "points_rate": 2.990473387428887, + "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.054029568036397295, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:53:07.427597", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.037371158599854, + "points_saved": 30, + "points_rate": 2.9888303945297965, + "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.06388036410013835, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:53:17.459784", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.031179428100586, + "points_saved": 30, + "points_rate": 2.9906752456206966, + "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.06523613135019939, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:53:27.502004", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.043228149414062, + "points_saved": 30, + "points_rate": 2.9870873740680923, + "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.06656496524810791, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:53:37.534844", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.031847953796387, + "points_saved": 30, + "points_rate": 2.9904759460241817, + "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.062286241849263506, + "csv_write_time_avg": 3.331502278645833e-05 + } + }, + { + "timestamp": "2025-08-16T23:53:47.569593", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.035740613937378, + "points_saved": 30, + "points_rate": 2.989316001086833, + "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.05856204827626546, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:53:48.684260", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-16T23:53:50.721623", + "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-16T23:53:50.751951", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-16T23:53:51.148411", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: Fast", + "details": { + "dataset_id": "Fast" + } + }, + { + "timestamp": "2025-08-16T23:53:51.376355", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "DAR" + } + }, + { + "timestamp": "2025-08-16T23:53:51.406408", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: test", + "details": { + "dataset_id": "Test" + } + }, + { + "timestamp": "2025-08-16T23:53:51.446547", + "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-16T23:53:56.108166", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-16T23:53:56.188708", + "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-16T23:53:56.216736", + "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-16T23:53:56.245790", + "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-16T23:54:06.189802", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.097160339355469, + "points_saved": 30, + "points_rate": 2.7033942993151725, + "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.07913546562194824, + "csv_write_time_avg": 0.0008285760879516602 + } + }, + { + "timestamp": "2025-08-16T23:54:16.221775", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 1.1% CPU", + "details": { + "duration": 10.032973527908325, + "points_saved": 30, + "points_rate": 2.9901404520354995, + "variables_saved": 80, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.1, + "cpu_max": 1.1, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.09634163379669189, + "csv_write_time_avg": 3.6875406901041667e-06 + } + }, + { + "timestamp": "2025-08-16T23:54:26.253785", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031008005142212, + "points_saved": 30, + "points_rate": 2.9907263541830544, + "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.0821520487467448, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:54:36.289310", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.035518884658813, + "points_saved": 30, + "points_rate": 2.989382048382238, + "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.07963856856028238, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:54:46.343574", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.055271863937378, + "points_saved": 31, + "points_rate": 3.0829599059553643, + "variables_saved": 82, + "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.06286808752244519, + "csv_write_time_avg": 3.224803555396295e-05 + } + }, + { + "timestamp": "2025-08-16T23:54:56.378684", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.034115314483643, + "points_saved": 30, + "points_rate": 2.989800202584557, + "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.07947803338368734, + "csv_write_time_avg": 3.274281819661458e-06 + } + }, + { + "timestamp": "2025-08-16T23:55:06.416743", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.038043975830078, + "points_saved": 30, + "points_rate": 2.9886300630117737, + "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.067444642384847, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:55:16.451746", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.036012172698975, + "points_saved": 30, + "points_rate": 2.9892351148805085, + "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.06720998287200927, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T23:55:26.483755", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.03001070022583, + "points_saved": 30, + "points_rate": 2.9910237283520082, + "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.05762360095977783, + "csv_write_time_avg": 0.0 + } } ], - "last_updated": "2025-08-16T22:35:42.177193", + "last_updated": "2025-08-16T23:55:26.483755", "total_entries": 1000 } \ No newline at end of file diff --git a/frontend/src/pages/Dashboard.jsx b/frontend/src/pages/Dashboard.jsx index f9a05df..3d49af5 100644 --- a/frontend/src/pages/Dashboard.jsx +++ b/frontend/src/pages/Dashboard.jsx @@ -1621,9 +1621,31 @@ function DatasetManager() { ) } -// Events Display Component -function EventsDisplay({ events, loading, onRefresh }) { +// Console Logs Display Component +function ConsoleLogsDisplay({ logs, loading, onRefresh }) { + // All hooks must be called at the top level const cardBg = useColorModeValue('white', 'gray.700') + const logBg = useColorModeValue('gray.50', 'gray.800') + const logColor = useColorModeValue('gray.800', 'gray.100') + const borderColor = useColorModeValue('gray.200', 'gray.600') + const scrollbarBg = useColorModeValue('gray.300', 'gray.600') + const scrollbarThumb = useColorModeValue('gray.500', 'gray.400') + const scrollbarHover = useColorModeValue('gray.600', 'gray.300') + + const exportLogs = () => { + if (!logs || logs.length === 0) { + return + } + + const logText = logs.join('\n') + const blob = new Blob([logText], { type: 'text/plain' }) + const url = URL.createObjectURL(blob) + const link = document.createElement('a') + link.href = url + link.download = `console_logs_${new Date().toISOString().slice(0, 19).replace(/:/g, '-')}.txt` + link.click() + URL.revokeObjectURL(url) + } if (loading) { return ( @@ -1631,7 +1653,7 @@ function EventsDisplay({ events, loading, onRefresh }) { - Loading events... + Loading console logs... @@ -1642,51 +1664,80 @@ function EventsDisplay({ events, loading, onRefresh }) { - 📋 Recent Events + 📋 Console Logs - + + + + - - - - - - - - - - - {events?.map((event, index) => ( - - - - - - ))} - -
TimeTypeMessage
- - {new Date(event.timestamp).toLocaleString()} - - - - {event.level} - - {event.message}
-
- {(!events || events.length === 0) && ( + {(!logs || logs.length === 0) ? ( - No events found + No console logs found + + ) : ( + + {logs.map((logLine, index) => ( + + {logLine} + + ))} + + )} + {logs && logs.length > 0 && ( + + Showing {logs.length} most recent log lines )}
@@ -1711,8 +1762,8 @@ function DashboardContent() { const [saving, setSaving] = useState(false) const [message, setMessage] = useState('') - const [events, setEvents] = useState([]) - const [eventsLoading, setEventsLoading] = useState(false) + const [consoleLogs, setConsoleLogs] = useState([]) + const [consoleLogsLoading, setConsoleLogsLoading] = useState(false) // Usar polling coordinado para el status const { data: status, isLeader, isConnected } = useCoordinatedPolling( @@ -1751,24 +1802,24 @@ function DashboardContent() { } }, []) - // Load events - const loadEvents = useCallback(async () => { + // Load console logs + const loadConsoleLogs = useCallback(async () => { try { - setEventsLoading(true) - const eventsData = await api.getEvents(50) - setEvents(eventsData.events || []) + setConsoleLogsLoading(true) + const logsData = await api.getConsoleLogs(1000) + setConsoleLogs(logsData.logs || []) } catch (error) { - console.error('Failed to load events:', error) + console.error('Failed to load console logs:', error) } finally { - setEventsLoading(false) + setConsoleLogsLoading(false) } }, []) // Effects useEffect(() => { loadConfig() - loadEvents() - }, [loadConfig, loadEvents]) + loadConsoleLogs() + }, [loadConfig, loadConsoleLogs]) if (!isConnected && !status) { return ( @@ -1807,7 +1858,7 @@ function DashboardContent() { 📈 Plotting 📉 Historical Plots 📁 CSV Files - 📋 Events + 📋 Console Logs @@ -1844,11 +1895,11 @@ function DashboardContent() { - {/* Events Section */} - diff --git a/frontend/src/services/api.js b/frontend/src/services/api.js index acbca09..9f26992 100644 --- a/frontend/src/services/api.js +++ b/frontend/src/services/api.js @@ -35,6 +35,11 @@ export async function getEvents(limit = 50) { return toJsonOrThrow(res) } +export async function getConsoleLogs(limit = 1000) { + const res = await fetch(`${BASE_URL}/api/console-logs?limit=${encodeURIComponent(limit)}`, { headers: { 'Accept': 'application/json' } }) + return toJsonOrThrow(res) +} + // PLC control export async function connectPlc() { const res = await fetch(`${BASE_URL}/api/plc/connect`, { method: 'POST', headers: { 'Accept': 'application/json' } }) diff --git a/i18n.js b/i18n.js new file mode 100644 index 0000000..e69de29 diff --git a/main.py b/main.py index ab95c9b..c1823e1 100644 --- a/main.py +++ b/main.py @@ -20,14 +20,14 @@ from core.rotating_logger import setup_backend_logging # 📝 Setup rotating logger system # This will log to both console and .logs/ directory with automatic rotation backend_logger = setup_backend_logging( - log_dir=".logs", # Directory for log files - max_lines=10000, # Max lines per file - max_files=30 # Max files to retain + log_dir=".logs", # Directory for log files + max_lines=10000, # Max lines per file + max_files=30, # Max files to retain ) # Configure standard logging to use our rotating system # Reduce Flask's request logging to ERROR level only (keep logs clean) -logging.getLogger('werkzeug').setLevel(logging.ERROR) +logging.getLogger("werkzeug").setLevel(logging.ERROR) try: import tkinter as tk @@ -487,7 +487,10 @@ def trigger_csv_cleanup(): # 🔑 PROTECTED: Perform cleanup with recording protection streamer.perform_csv_cleanup_safe() return jsonify( - {"success": True, "message": "CSV cleanup queued in background (recording protection active)"} + { + "success": True, + "message": "CSV cleanup queued in background (recording protection active)", + } ) except Exception as e: @@ -595,15 +598,17 @@ def disconnect_plc(): """Disconnect from PLC""" streamer.disconnect_plc(manual_disconnect=True) # User manually disconnected # Return updated status to ensure frontend gets correct state - return jsonify({ - "success": True, - "message": "Disconnected from PLC", - "status": { - "plc_connected": False, - "streaming": False, - "csv_recording": False + return jsonify( + { + "success": True, + "message": "Disconnected from PLC", + "status": { + "plc_connected": False, + "streaming": False, + "csv_recording": False, + }, } - }) + ) @app.route("/api/variables", methods=["POST"]) @@ -942,11 +947,17 @@ def get_dataset_variable_values(dataset_id): read_result = streamer.get_cached_dataset_values_safe(dataset_id) # Handle rate limiting response - if not read_result.get("success", False) and read_result.get("error_type") == "rate_limited": + if ( + not read_result.get("success", False) + and read_result.get("error_type") == "rate_limited" + ): return jsonify(read_result), 429 # Too Many Requests - # Handle API timeout response - if not read_result.get("success", False) and read_result.get("error_type") == "api_timeout": + # Handle API timeout response + if ( + not read_result.get("success", False) + and read_result.get("error_type") == "api_timeout" + ): return jsonify(read_result), 503 # Service Unavailable # Convert timestamp from ISO format to readable format for consistency @@ -1876,7 +1887,7 @@ def get_plot_variables(): def get_historical_data(): """Get historical data from CSV files for plot initialization with caching""" global historical_cache - + print("🔍 DEBUG: Historical endpoint called") try: data = request.get_json() @@ -1888,7 +1899,7 @@ def get_historical_data(): variables = data.get("variables", []) time_window_seconds = data.get("time_window", 60) - + # Support for explicit start_time and end_time parameters start_time_param = data.get("start_time") end_time_param = data.get("end_time") @@ -1903,11 +1914,13 @@ def get_historical_data(): return jsonify({"error": "No variables specified"}), 400 # Filter out None/null values and empty strings - valid_variables = [var for var in variables if var is not None and str(var).strip()] + valid_variables = [ + var for var in variables if var is not None and str(var).strip() + ] if not valid_variables: print("❌ DEBUG: No valid variables after filtering") return jsonify({"error": "No valid variables provided"}), 400 - + variables = valid_variables print(f"🔍 DEBUG: Valid variables after filtering: {variables}") @@ -1916,6 +1929,7 @@ def get_historical_data(): # print("🔍 DEBUG: Importing modules...") import pandas as pd import glob + # print("🔍 DEBUG: All imports successful") except ImportError as e: print(f"❌ DEBUG: Import failed: {e}") @@ -1926,38 +1940,53 @@ def get_historical_data(): historical_cache = HistoricalDataCache( logger=streamer.logger if streamer and streamer.logger else None, max_cache_entries=50, - buffer_percentage=0.25 + buffer_percentage=0.25, ) # Calculate time range try: # print("🔍 DEBUG: Calculating time range...") - + if start_time_param and end_time_param: # Parse timestamps from frontend (UTC) and convert to local time - + # Parse as UTC timestamps (frontend sends them with 'Z') - start_time_utc = datetime.fromisoformat(start_time_param.replace('Z', '+00:00')) - end_time_utc = datetime.fromisoformat(end_time_param.replace('Z', '+00:00')) - + start_time_utc = datetime.fromisoformat( + start_time_param.replace("Z", "+00:00") + ) + end_time_utc = datetime.fromisoformat( + end_time_param.replace("Z", "+00:00") + ) + # Convert to local time (remove timezone info since CSV data has no timezone) start_time = start_time_utc.astimezone().replace(tzinfo=None) end_time = end_time_utc.astimezone().replace(tzinfo=None) - + print(f"🔍 DEBUG: UTC timestamps: {start_time_utc} to {end_time_utc}") print(f"🔍 DEBUG: Local timestamps: {start_time} to {end_time}") - + # Validate time range if start_time >= end_time: - print(f"❌ DEBUG: Invalid time range - start time must be before end time") - return jsonify({"error": "Invalid time range: start time must be before end time"}), 400 - + print( + f"❌ DEBUG: Invalid time range - start time must be before end time" + ) + return ( + jsonify( + { + "error": "Invalid time range: start time must be before end time" + } + ), + 400, + ) + else: # Legacy behavior: use time_window from now end_time = datetime.now() start_time = end_time - timedelta(seconds=time_window_seconds) - print(f"🔍 DEBUG: Using time window calculation: {start_time} to {end_time}") - + print( + f"🔍 DEBUG: Using time window calculation: {start_time} to {end_time}" + ) + except Exception as e: print(f"❌ DEBUG: Time calculation error: {e}") return jsonify({"error": f"Time calculation failed: {str(e)}"}), 500 @@ -1965,17 +1994,17 @@ def get_historical_data(): # Get relevant CSV files for cache checking records_dir = os.path.join(os.path.dirname(__file__), "records") csv_files = [] - + if os.path.exists(records_dir): # Calculate buffered time range for file discovery (same as cache buffer) duration = end_time - start_time buffer_duration = duration * 0.25 buffer_start = start_time - buffer_duration buffer_end = end_time + buffer_duration - + current_date = buffer_start.date() end_date = buffer_end.date() - + # Collect all relevant CSV files while current_date <= end_date: date_str = current_date.strftime("%d-%m-%Y") @@ -1989,46 +2018,64 @@ def get_historical_data(): # Try to get data from cache first # TEMPORARY: Disable cache to debug data display issues cached_data = None # historical_cache.get_cached_data(variables, start_time, end_time, csv_files) - + if cached_data is not None: print("� DEBUG: Cache hit! Returning cached data") - + # Convert DataFrame to the expected format historical_data = [] for _, row in cached_data.iterrows(): - if 'timestamp' in row and 'variable' in row and 'value' in row: - historical_data.append({ - "timestamp": row['timestamp'].isoformat() if pd.api.types.is_datetime64_any_dtype(row['timestamp']) else str(row['timestamp']), - "variable": str(row['variable']), - "value": float(row['value']) if pd.api.types.is_numeric_dtype(type(row['value'])) else row['value'] - }) - - return jsonify({ - "data": historical_data, - "time_range": { - "start": start_time.isoformat(), - "end": end_time.isoformat(), - }, - "variables_found": list(set([item["variable"] for item in historical_data])), - "total_points": len(historical_data), - "cached": True # Indicate this was from cache - }) + if "timestamp" in row and "variable" in row and "value" in row: + historical_data.append( + { + "timestamp": ( + row["timestamp"].isoformat() + if pd.api.types.is_datetime64_any_dtype( + row["timestamp"] + ) + else str(row["timestamp"]) + ), + "variable": str(row["variable"]), + "value": ( + float(row["value"]) + if pd.api.types.is_numeric_dtype(type(row["value"])) + else row["value"] + ), + } + ) + + return jsonify( + { + "data": historical_data, + "time_range": { + "start": start_time.isoformat(), + "end": end_time.isoformat(), + }, + "variables_found": list( + set([item["variable"] for item in historical_data]) + ), + "total_points": len(historical_data), + "cached": True, # Indicate this was from cache + } + ) # Cache miss - load data from CSV files print("🔍 DEBUG: Cache miss - loading from CSV files") historical_data = [] - + if not os.path.exists(records_dir): print("🔍 DEBUG: Records directory not found, returning empty data") - return jsonify({ - "data": [], - "time_range": { - "start": start_time.isoformat(), - "end": end_time.isoformat(), - }, - "variables_found": [], - "total_points": 0, - }) + return jsonify( + { + "data": [], + "time_range": { + "start": start_time.isoformat(), + "end": end_time.isoformat(), + }, + "variables_found": [], + "total_points": 0, + } + ) # Calculate extended range for cache storage (25% buffer) duration = end_time - start_time @@ -2040,7 +2087,7 @@ def get_historical_data(): current_date = buffered_start.date() end_date = buffered_end.date() date_folders = [] - + while current_date <= end_date: date_str = current_date.strftime("%d-%m-%Y") folder_path = os.path.join(records_dir, date_str) @@ -2054,26 +2101,31 @@ def get_historical_data(): # Use a dictionary to collect data by timestamp, then fill missing values with NaN timestamp_data = {} # {timestamp: {variable: value}} all_timestamps = set() - + for folder_path in date_folders: csv_files_in_folder = glob.glob(os.path.join(folder_path, "*.csv")) - + for csv_file in csv_files_in_folder: try: # Read CSV file with encoding detection df = None for encoding in ["utf-8", "utf-8-sig", "utf-16", "latin-1"]: try: - df = pd.read_csv(csv_file, encoding=encoding, on_bad_lines="skip") + df = pd.read_csv( + csv_file, encoding=encoding, on_bad_lines="skip" + ) break except: continue - + if df is None: continue # Clean column names - df.columns = [col.replace("\ufeff", "").replace("\x00", "").strip() for col in df.columns] + df.columns = [ + col.replace("\ufeff", "").replace("\x00", "").strip() + for col in df.columns + ] # Find timestamp column timestamp_col = None @@ -2086,9 +2138,11 @@ def get_historical_data(): continue # Convert timestamps - df[timestamp_col] = pd.to_datetime(df[timestamp_col], errors='coerce') + df[timestamp_col] = pd.to_datetime( + df[timestamp_col], errors="coerce" + ) df = df.dropna(subset=[timestamp_col]) - + if df.empty: continue @@ -2097,15 +2151,19 @@ def get_historical_data(): df = df.rename(columns={timestamp_col: "timestamp"}) # Filter to buffered time range - mask = (df["timestamp"] >= buffered_start) & (df["timestamp"] <= buffered_end) + mask = (df["timestamp"] >= buffered_start) & ( + df["timestamp"] <= buffered_end + ) filtered_df = df[mask] if filtered_df.empty: continue # Check for matching variables - matching_vars = [var for var in variables if var in filtered_df.columns] - + matching_vars = [ + var for var in variables if var in filtered_df.columns + ] + if not matching_vars: continue @@ -2115,10 +2173,10 @@ def get_historical_data(): for _, row in filtered_df.iterrows(): timestamp = row["timestamp"] all_timestamps.add(timestamp) - + if timestamp not in timestamp_data: timestamp_data[timestamp] = {} - + # Store data for available variables, others will be NaN for var in matching_vars: if var in row: @@ -2141,7 +2199,7 @@ def get_historical_data(): value = float(raw_value) else: value = None - + timestamp_data[timestamp][var] = value except: timestamp_data[timestamp][var] = None @@ -2158,26 +2216,32 @@ def get_historical_data(): for var in variables: # Get value or None if not available value = timestamp_data[timestamp].get(var, None) - all_data_for_cache.append({ - "timestamp": timestamp, - "variable": var, - "value": value, - }) + all_data_for_cache.append( + { + "timestamp": timestamp, + "variable": var, + "value": value, + } + ) - print(f"🔍 DEBUG: Collected {len(all_data_for_cache)} total data points from {len(all_timestamps)} timestamps for {len(variables)} variables") + print( + f"🔍 DEBUG: Collected {len(all_data_for_cache)} total data points from {len(all_timestamps)} timestamps for {len(variables)} variables" + ) # Convert to DataFrame for caching if all_data_for_cache: cache_df = pd.DataFrame(all_data_for_cache) - cache_df = cache_df.sort_values('timestamp') - + cache_df = cache_df.sort_values("timestamp") + # Store in cache historical_cache.store_data(variables, start_time, end_time, cache_df) - + # Filter to actual requested range for response - response_mask = (cache_df["timestamp"] >= start_time) & (cache_df["timestamp"] <= end_time) + response_mask = (cache_df["timestamp"] >= start_time) & ( + cache_df["timestamp"] <= end_time + ) response_df = cache_df[response_mask] - + # Convert to response format historical_data = [] for _, row in response_df.iterrows(): @@ -2186,29 +2250,36 @@ def get_historical_data(): # Convert pandas NaN to None for proper JSON serialization if pd.isna(value): value = None - - historical_data.append({ - "timestamp": row["timestamp"].isoformat(), - "variable": row["variable"], - "value": value - }) + + historical_data.append( + { + "timestamp": row["timestamp"].isoformat(), + "variable": row["variable"], + "value": value, + } + ) print(f"🔍 DEBUG: Loaded {len(historical_data)} data points for response") print(f"🔍 DEBUG: Cached {len(all_data_for_cache)} total data points") - return jsonify({ - "data": historical_data, - "time_range": { - "start": start_time.isoformat(), - "end": end_time.isoformat(), - }, - "variables_found": list(set([item["variable"] for item in historical_data])), - "total_points": len(historical_data), - "cached": False # Indicate this was loaded fresh - }) + return jsonify( + { + "data": historical_data, + "time_range": { + "start": start_time.isoformat(), + "end": end_time.isoformat(), + }, + "variables_found": list( + set([item["variable"] for item in historical_data]) + ), + "total_points": len(historical_data), + "cached": False, # Indicate this was loaded fresh + } + ) except Exception as e: import traceback + traceback.print_exc() return jsonify({"error": f"Internal server error: {str(e)}"}), 500 @@ -2217,25 +2288,24 @@ def get_historical_data(): def get_cache_stats(): """Get cache statistics for monitoring""" global historical_cache - + try: if historical_cache is None: - return jsonify({ - "cache_initialized": False, - "stats": { - "entries": 0, - "total_size_mb": 0, - "max_entries": 0, - "buffer_percentage": 0 + return jsonify( + { + "cache_initialized": False, + "stats": { + "entries": 0, + "total_size_mb": 0, + "max_entries": 0, + "buffer_percentage": 0, + }, } - }) - + ) + stats = historical_cache.get_cache_stats() - return jsonify({ - "cache_initialized": True, - "stats": stats - }) - + return jsonify({"cache_initialized": True, "stats": stats}) + except Exception as e: return jsonify({"error": str(e)}), 500 @@ -2244,14 +2314,14 @@ def get_cache_stats(): def clear_cache(): """Clear the historical data cache""" global historical_cache - + try: if historical_cache is not None: historical_cache.clear_cache() return jsonify({"success": True, "message": "Cache cleared successfully"}) else: return jsonify({"success": False, "message": "Cache not initialized"}) - + except Exception as e: return jsonify({"error": str(e)}), 500 @@ -2262,16 +2332,16 @@ def get_historical_date_range(): try: import pandas as pd import glob - + # Get records directory records_dir = os.path.join(os.path.dirname(__file__), "records") - + if not os.path.exists(records_dir): - return jsonify({ - "success": False, - "error": "No records directory found" - }), 404 - + return ( + jsonify({"success": False, "error": "No records directory found"}), + 404, + ) + # Find all date folders (format: DD-MM-YYYY) date_folders = [] for item in os.listdir(records_dir): @@ -2283,72 +2353,79 @@ def get_historical_date_range(): date_folders.append((date_obj, folder_path)) except ValueError: continue - + if not date_folders: - return jsonify({ - "success": False, - "error": "No valid date folders found" - }), 404 - + return ( + jsonify({"success": False, "error": "No valid date folders found"}), + 404, + ) + # Sort by date date_folders.sort(key=lambda x: x[0]) - + # Get the earliest and latest dates earliest_date = date_folders[0][0] latest_date = date_folders[-1][0] - + # For more precise range, check actual CSV file timestamps min_timestamp = None max_timestamp = None - + # Check files more thoroughly to get precise timestamp range for date_obj, folder_path in date_folders: csv_files = glob.glob(os.path.join(folder_path, "*.csv")) - + for csv_file in csv_files: try: # Try to read timestamp range from CSV with better sampling # Read first and last few rows to get min/max more accurately - df_head = pd.read_csv(csv_file, nrows=100, encoding='utf-8-sig') - df_tail = pd.read_csv(csv_file, encoding='utf-8-sig').tail(100) - + df_head = pd.read_csv(csv_file, nrows=100, encoding="utf-8-sig") + df_tail = pd.read_csv(csv_file, encoding="utf-8-sig").tail(100) + # Combine head and tail for better range detection df_sample = pd.concat([df_head, df_tail]).drop_duplicates() - + # Find timestamp column timestamp_col = None for col in df_sample.columns: - if 'timestamp' in col.lower(): + if "timestamp" in col.lower(): timestamp_col = col break - + if timestamp_col: # Convert timestamp with multiple format attempts - df_sample[timestamp_col] = pd.to_datetime(df_sample[timestamp_col], - errors='coerce') + df_sample[timestamp_col] = pd.to_datetime( + df_sample[timestamp_col], errors="coerce" + ) df_sample = df_sample.dropna(subset=[timestamp_col]) - + if not df_sample.empty: file_min = df_sample[timestamp_col].min() file_max = df_sample[timestamp_col].max() - + # Convert to timezone-naive datetime if needed - if hasattr(file_min, 'tz_localize') and file_min.tz is not None: + if ( + hasattr(file_min, "tz_localize") + and file_min.tz is not None + ): file_min = file_min.tz_localize(None) - if hasattr(file_max, 'tz_localize') and file_max.tz is not None: + if ( + hasattr(file_max, "tz_localize") + and file_max.tz is not None + ): file_max = file_max.tz_localize(None) - + if min_timestamp is None or file_min < min_timestamp: min_timestamp = file_min if max_timestamp is None or file_max > max_timestamp: max_timestamp = file_max - + # print(f"🔍 DEBUG: File {csv_file} - Range: {file_min} to {file_max}") - + except Exception as e: # print(f"🔍 DEBUG: Error reading {csv_file}: {e}") continue - + # Use folder dates as fallback if we couldn't read CSV timestamps if min_timestamp is None: min_timestamp = earliest_date @@ -2356,30 +2433,34 @@ def get_historical_date_range(): if max_timestamp is None: max_timestamp = latest_date + timedelta(days=1) print(f"🔍 DEBUG: Using latest folder date as max: {latest_date}") - + print(f"🔍 DEBUG: Final timestamp range: {min_timestamp} to {max_timestamp}") - - return jsonify({ - "success": True, - "date_range": { - "min_date": min_timestamp.isoformat(), - "max_date": max_timestamp.isoformat(), - "folders_count": len(date_folders), - "earliest_folder": earliest_date.strftime("%d-%m-%Y"), - "latest_folder": latest_date.strftime("%d-%m-%Y") + + return jsonify( + { + "success": True, + "date_range": { + "min_date": min_timestamp.isoformat(), + "max_date": max_timestamp.isoformat(), + "folders_count": len(date_folders), + "earliest_folder": earliest_date.strftime("%d-%m-%Y"), + "latest_folder": latest_date.strftime("%d-%m-%Y"), + }, } - }) - + ) + except ImportError: - return jsonify({ - "success": False, - "error": "pandas is required for date range calculation" - }), 500 + return ( + jsonify( + { + "success": False, + "error": "pandas is required for date range calculation", + } + ), + 500, + ) except Exception as e: - return jsonify({ - "success": False, - "error": str(e) - }), 500 + return jsonify({"success": False, "error": str(e)}), 500 @app.route("/api/plots/historical/data-segments", methods=["GET"]) @@ -2387,17 +2468,17 @@ def get_historical_data_segments(): """Get data availability segments for visualization""" try: import glob - + records_dir = os.path.join(os.path.dirname(__file__), "records") - + if not os.path.exists(records_dir): - return jsonify({ - "success": False, - "error": "No records directory found" - }), 404 - + return ( + jsonify({"success": False, "error": "No records directory found"}), + 404, + ) + segments = [] - + # Find all date folders (format: DD-MM-YYYY) date_folders = [] for item in os.listdir(records_dir): @@ -2409,99 +2490,106 @@ def get_historical_data_segments(): date_folders.append((date_obj, folder_path)) except ValueError: continue - + # Sort by date date_folders.sort(key=lambda x: x[0]) - + # For each date folder, find file segments for date_obj, folder_path in date_folders: csv_files = glob.glob(os.path.join(folder_path, "*.csv")) - + # Group files by dataset name (prefix before _XX.csv) dataset_files = {} for csv_file in csv_files: filename = os.path.basename(csv_file) - if '_' in filename: + if "_" in filename: # Extract dataset name (e.g., "fast" from "fast_00.csv") - dataset_name = filename.split('_')[0] + dataset_name = filename.split("_")[0] if dataset_name not in dataset_files: dataset_files[dataset_name] = [] dataset_files[dataset_name].append(csv_file) - + # For each dataset, create segments based on file sequence for dataset_name, files in dataset_files.items(): # Sort files by sequence number files.sort() - + if not files: continue - + try: # Get time range from first and last file quickly # Read only first few lines of first file and last few lines of last file first_file = files[0] last_file = files[-1] - + # Quick read of timestamps from file headers/footers start_time = None end_time = None - + # Read first file's start time - with open(first_file, 'r', encoding='utf-8-sig') as f: + with open(first_file, "r", encoding="utf-8-sig") as f: lines = f.readlines() if len(lines) > 1: # Skip header first_data_line = lines[1].strip() - if first_data_line and ',' in first_data_line: - timestamp_str = first_data_line.split(',')[0] + if first_data_line and "," in first_data_line: + timestamp_str = first_data_line.split(",")[0] try: - start_time = datetime.fromisoformat(timestamp_str.replace('Z', '+00:00')) + start_time = datetime.fromisoformat( + timestamp_str.replace("Z", "+00:00") + ) if start_time.tzinfo: start_time = start_time.replace(tzinfo=None) except: continue - + # Read last file's end time - with open(last_file, 'r', encoding='utf-8-sig') as f: + with open(last_file, "r", encoding="utf-8-sig") as f: lines = f.readlines() # Find last non-empty line with data for line in reversed(lines): line = line.strip() - if line and ',' in line and not line.startswith('timestamp'): - timestamp_str = line.split(',')[0] + if ( + line + and "," in line + and not line.startswith("timestamp") + ): + timestamp_str = line.split(",")[0] try: - end_time = datetime.fromisoformat(timestamp_str.replace('Z', '+00:00')) + end_time = datetime.fromisoformat( + timestamp_str.replace("Z", "+00:00") + ) if end_time.tzinfo: end_time = end_time.replace(tzinfo=None) break except: continue - + if start_time and end_time: - segments.append({ - "dataset": dataset_name, - "start": start_time.isoformat(), - "end": end_time.isoformat(), - "files_count": len(files), - "date_folder": date_obj.strftime("%d-%m-%Y") - }) - + segments.append( + { + "dataset": dataset_name, + "start": start_time.isoformat(), + "end": end_time.isoformat(), + "files_count": len(files), + "date_folder": date_obj.strftime("%d-%m-%Y"), + } + ) + except Exception as e: # Skip problematic files, don't break the entire response - backend_logger.warning(f"Error processing dataset {dataset_name} in {folder_path}: {e}") + backend_logger.warning( + f"Error processing dataset {dataset_name} in {folder_path}: {e}" + ) continue - - return jsonify({ - "success": True, - "segments": segments, - "total_segments": len(segments) - }) - + + return jsonify( + {"success": True, "segments": segments, "total_segments": len(segments)} + ) + except Exception as e: backend_logger.error(f"Error getting data segments: {e}") - return jsonify({ - "success": False, - "error": str(e) - }), 500 + return jsonify({"success": False, "error": str(e)}), 500 @app.route("/api/plots/sessions/", methods=["GET"]) @@ -2570,11 +2658,13 @@ def get_priority_status(): try: priority_stats = streamer.data_streamer.get_streaming_stats() - return jsonify({ - "success": True, - "priority_protection": priority_stats, - "message": "Priority protection ensures CSV recording has maximum priority over API operations" - }) + return jsonify( + { + "success": True, + "priority_protection": priority_stats, + "message": "Priority protection ensures CSV recording has maximum priority over API operations", + } + ) except Exception as e: return jsonify({"success": False, "error": str(e)}), 500 @@ -2588,11 +2678,13 @@ def get_current_performance(): try: current_stats = streamer.data_streamer.performance_monitor.get_current_stats() - return jsonify({ - "success": True, - "current_performance": current_stats, - "message": "Current performance metrics for active recording operations" - }) + return jsonify( + { + "success": True, + "current_performance": current_stats, + "message": "Current performance metrics for active recording operations", + } + ) except Exception as e: return jsonify({"success": False, "error": str(e)}), 500 @@ -2606,17 +2698,21 @@ def get_historical_performance(): try: # Get query parameters - windows = int(request.args.get('windows', 6)) # Default: last minute (6 * 10s) + windows = int(request.args.get("windows", 6)) # Default: last minute (6 * 10s) windows = min(max(windows, 1), 60) # Limit between 1 and 60 windows - - historical_stats = streamer.data_streamer.performance_monitor.get_historical_stats(windows) - return jsonify({ - "success": True, - "historical_performance": historical_stats, - "windows_requested": windows, - "duration_minutes": windows * 10 / 60, - "message": f"Historical performance metrics for last {windows} windows ({windows*10} seconds)" - }) + + historical_stats = ( + streamer.data_streamer.performance_monitor.get_historical_stats(windows) + ) + return jsonify( + { + "success": True, + "historical_performance": historical_stats, + "windows_requested": windows, + "duration_minutes": windows * 10 / 60, + "message": f"Historical performance metrics for last {windows} windows ({windows*10} seconds)", + } + ) except Exception as e: return jsonify({"success": False, "error": str(e)}), 500 @@ -2695,6 +2791,74 @@ def get_events(): return jsonify({"success": False, "error": str(e)}), 500 +@app.route("/api/console-logs") +def get_console_logs(): + """Get recent console logs from the log files""" + try: + limit = request.args.get("limit", 1000, type=int) + limit = min(limit, 5000) # Maximum 5000 lines per request + + log_dir = ".logs" + if not os.path.exists(log_dir): + return jsonify( + {"success": True, "logs": [], "message": "No log directory found"} + ) + + # Get all log files sorted by modification time (newest first) + log_files = [] + for filename in os.listdir(log_dir): + if filename.startswith("backend_") and filename.endswith(".log"): + filepath = os.path.join(log_dir, filename) + log_files.append((filepath, os.path.getmtime(filepath))) + + log_files.sort(key=lambda x: x[1], reverse=True) + + logs = [] + lines_read = 0 + + # Read logs from newest to oldest files + for filepath, _ in log_files: + if lines_read >= limit: + break + + try: + with open(filepath, "r", encoding="utf-8") as f: + file_lines = f.readlines() + + # Take the last lines from the current file if we haven't reached the limit + remaining_lines = limit - lines_read + if len(file_lines) > remaining_lines: + file_lines = file_lines[-remaining_lines:] + + # Add lines in reverse order (newest first within each file) + for line in reversed(file_lines): + if lines_read >= limit: + break + line = line.strip() + if line: # Skip empty lines + logs.append(line) + lines_read += 1 + + except Exception as e: + backend_logger.error(f"Error reading log file {filepath}: {e}") + continue + + # Don't reverse - logs are already in newest-first order + + return jsonify( + { + "success": True, + "logs": logs, + "total_lines": lines_read, + "files_read": len([f for f, _ in log_files]), + } + ) + + except Exception as e: + backend_logger.error(f"Error getting console logs: {e}") + return jsonify({"success": False, "error": str(e)}), 500 + + @app.route("/api/stream/variables", methods=["GET"]) def stream_variables(): """Stream variable values in real-time using Server-Sent Events""" @@ -2936,9 +3100,9 @@ def graceful_shutdown(): # 🚀 PRESERVE auto-reconnect state: Don't clear reconnection data streamer.disconnect_plc(manual_disconnect=False) # Keep auto-reconnect state # 🔑 PRIORITY: Shutdown priority manager and performance monitor - if hasattr(streamer.data_streamer, 'priority_manager'): + if hasattr(streamer.data_streamer, "priority_manager"): streamer.data_streamer.priority_manager.shutdown() - if hasattr(streamer.data_streamer, 'performance_monitor'): + if hasattr(streamer.data_streamer, "performance_monitor"): streamer.data_streamer.performance_monitor.stop_monitoring() streamer.release_instance_lock() # 📝 Close rotating logger system @@ -2960,7 +3124,7 @@ def main(): # Setup signal handlers for graceful shutdown signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) - + max_retries = 3 retry_count = 0 @@ -2974,7 +3138,13 @@ def main(): global streamer # Start Flask application - app.run(debug=False, host="0.0.0.0", port=5050, use_reloader=False, threaded=True) + app.run( + debug=False, + host="0.0.0.0", + port=5050, + use_reloader=False, + threaded=True, + ) # If we reach here, the server stopped normally break diff --git a/system_state.json b/system_state.json index 1d5e0b2..826b30c 100644 --- a/system_state.json +++ b/system_state.json @@ -4,11 +4,11 @@ "should_stream": false, "active_datasets": [ "Fast", - "DAR", - "Test" + "Test", + "DAR" ] }, "auto_recovery_enabled": true, - "last_update": "2025-08-16T21:54:24.471700", + "last_update": "2025-08-16T23:53:59.480554", "plotjuggler_path": "C:\\Program Files\\PlotJuggler\\plotjuggler.exe" } \ No newline at end of file diff --git a/translation.json b/translation.json new file mode 100644 index 0000000..e69de29