From dba0ca25281c0680f0691bd1c873c8de22b584d4 Mon Sep 17 00:00:00 2001 From: Miguel Date: Thu, 28 Aug 2025 11:47:34 +0200 Subject: [PATCH] Enhance variable configuration and UI components - Updated plot_variables.json to include new variables with proper configurations. - Modified ConfigManager to ensure expanded and fallback variables retain their names. - Improved VariableSelectorWidget to handle undefined properties gracefully, displaying 'UNKNOWN' or 'N/A' where applicable. - Refactored main.py to utilize the proper expansion method for symbolic variables when retrieving dataset variables. - Updated system_state.json with the latest timestamp for last_update. --- application_events.json | 4481 ++++++++--------- config/data/plot_variables.json | 30 +- core/config_manager.py | 27 +- .../rjsf/VariableSelectorWidget.jsx | 6 +- main.py | 10 +- system_state.json | 2 +- 6 files changed, 2137 insertions(+), 2419 deletions(-) diff --git a/application_events.json b/application_events.json index 41340a2..1b3a8bf 100644 --- a/application_events.json +++ b/application_events.json @@ -1,2397 +1,5 @@ { "events": [ - { - "timestamp": "2025-08-27T13:56:47.005439", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.021104097366333, - "points_saved": 20, - "points_rate": 1.9957880694260268, - "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.028723204135894777, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:56:57.019315", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.013875961303711, - "points_saved": 20, - "points_rate": 1.9972286532492851, - "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.024221587181091308, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:57:07.033888", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.014573335647583, - "points_saved": 20, - "points_rate": 1.9970895743314978, - "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.025725579261779784, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:57:17.049143", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015254497528076, - "points_saved": 20, - "points_rate": 1.996953747399661, - "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.026339006423950196, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:57:27.078683", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.029540061950684, - "points_saved": 20, - "points_rate": 1.9941093885126895, - "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.027506673336029054, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:57:37.093286", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.014602422714233, - "points_saved": 20, - "points_rate": 1.997083773853845, - "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.025444185733795165, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:57:47.108416", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015130519866943, - "points_saved": 20, - "points_rate": 1.9969784677619669, - "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.0243044376373291, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:57:57.133115", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.024160623550415, - "points_saved": 20, - "points_rate": 1.9951795218656707, - "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.024517512321472167, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:58:07.147544", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.01438283920288, - "points_saved": 20, - "points_rate": 1.9971275635385983, - "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.023736071586608887, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:58:17.178413", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.030943393707275, - "points_saved": 20, - "points_rate": 1.9938304120574168, - "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.03028717041015625, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:58:27.194612", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.016709327697754, - "points_saved": 20, - "points_rate": 1.996663709178113, - "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.029086375236511232, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:58:37.210040", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015428066253662, - "points_saved": 20, - "points_rate": 1.9969191399206099, - "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.025285911560058594, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:58:47.225039", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.014999151229858, - "points_saved": 20, - "points_rate": 1.997004662506034, - "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.02554795742034912, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:58:57.247390", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.021734714508057, - "points_saved": 20, - "points_rate": 1.9956624845643556, - "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.024332153797149658, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:59:07.263175", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016401052474976, - "points_saved": 20, - "points_rate": 1.9967251605863119, - "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.025391173362731934, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:59:17.279076", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.0159010887146, - "points_saved": 20, - "points_rate": 1.9968248311212826, - "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.029484033584594727, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:59:27.294526", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.015449523925781, - "points_saved": 20, - "points_rate": 1.9969148616067858, - "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.02646416425704956, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:59:37.309678", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015151977539062, - "points_saved": 20, - "points_rate": 1.9969741891939246, - "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.027064502239227295, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:59:47.324791", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015113115310669, - "points_saved": 20, - "points_rate": 1.9969819381695122, - "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.029129648208618165, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T13:59:57.339992", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015201091766357, - "points_saved": 20, - "points_rate": 1.9969643960960795, - "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.02653287649154663, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:00:07.358429", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.017419338226318, - "points_saved": 20, - "points_rate": 1.9965221904687873, - "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.028737640380859374, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:00:17.375669", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.018257856369019, - "points_saved": 20, - "points_rate": 1.996355083562276, - "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.02790191173553467, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:00:27.391556", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.015378952026367, - "points_saved": 20, - "points_rate": 1.9969289325745871, - "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.02555577754974365, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:00:37.416445", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.024889469146729, - "points_saved": 20, - "points_rate": 1.9950344651233651, - "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.028536367416381835, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:00:48.827022", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 23 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 11.411084413528442, - "points_saved": 23, - "points_rate": 2.0155840730379917, - "variables_saved": 92, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.025070916051449982, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:00:58.841964", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.014942407608032, - "points_saved": 20, - "points_rate": 1.997015977326703, - "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.024640440940856934, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:01:08.857932", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015967607498169, - "points_saved": 20, - "points_rate": 1.9968115696607853, - "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.026328134536743163, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:01:18.873050", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.015117883682251, - "points_saved": 20, - "points_rate": 1.9969809873717248, - "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.024656879901885986, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:01:28.894512", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.021462678909302, - "points_saved": 20, - "points_rate": 1.9957166574187875, - "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.02650352716445923, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:01:38.914765", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.020252466201782, - "points_saved": 20, - "points_rate": 1.9959576934273675, - "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.025162339210510254, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:01:48.930510", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015744924545288, - "points_saved": 20, - "points_rate": 1.996855965349776, - "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.025660991668701172, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:01:58.946005", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015495538711548, - "points_saved": 20, - "points_rate": 1.9969056870622817, - "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.027606546878814697, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:02:08.961664", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.015147924423218, - "points_saved": 20, - "points_rate": 1.9969749973664837, - "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.028531742095947266, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:02:18.977513", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.016359806060791, - "points_saved": 20, - "points_rate": 1.9967333829100484, - "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.024178755283355714, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:02:28.994318", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016804456710815, - "points_saved": 20, - "points_rate": 1.9966447469782527, - "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.02420414686203003, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:02:39.015044", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.020726203918457, - "points_saved": 20, - "points_rate": 1.9958633329567768, - "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.02776545286178589, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:02:49.031416", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015865087509155, - "points_saved": 20, - "points_rate": 1.9968320085443363, - "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.023036086559295656, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:02:59.047156", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015740394592285, - "points_saved": 20, - "points_rate": 1.996856868494558, - "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.02540404796600342, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:03:09.064305", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.017655611038208, - "points_saved": 20, - "points_rate": 1.9964751012165454, - "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.028286099433898926, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:03:19.093431", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.029126167297363, - "points_saved": 20, - "points_rate": 1.994191683939058, - "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.02432166337966919, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:03:29.120310", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 21 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.026878833770752, - "points_saved": 21, - "points_rate": 2.09437057614295, - "variables_saved": 84, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.025248595646449497, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:03:39.135434", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 19 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015124082565308, - "points_saved": 19, - "points_rate": 1.897130763769157, - "variables_saved": 76, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.031084035572252776, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:03:49.153890", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 21 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.018455743789673, - "points_saved": 21, - "points_rate": 2.0961314335313266, - "variables_saved": 84, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.026339792069934663, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:03:59.186011", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.032121658325195, - "points_saved": 20, - "points_rate": 1.993596238279559, - "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.028376305103302003, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:04:09.202781", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.016769409179688, - "points_saved": 20, - "points_rate": 1.9966517330099824, - "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.02478766441345215, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:04:19.218591", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.015810489654541, - "points_saved": 20, - "points_rate": 1.9968428936088853, - "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.025968873500823976, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:04:29.248012", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.029421091079712, - "points_saved": 20, - "points_rate": 1.994133043011649, - "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.025960683822631836, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:04:39.267118", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.019105911254883, - "points_saved": 20, - "points_rate": 1.9961861045438356, - "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.027033650875091554, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:04:49.283059", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.01594090461731, - "points_saved": 20, - "points_rate": 1.9968168932366681, - "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.028374361991882324, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:04:59.299508", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015941858291626, - "points_saved": 20, - "points_rate": 1.9968167031084694, - "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.028056025505065918, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:05:09.321389", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.022388219833374, - "points_saved": 20, - "points_rate": 1.9955323582878042, - "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.023109078407287598, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:05:19.341608", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.01969313621521, - "points_saved": 20, - "points_rate": 1.9960691139044906, - "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.025216078758239745, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:05:29.358945", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.017320156097412, - "points_saved": 20, - "points_rate": 1.9965419581629584, - "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.026267945766448975, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:05:39.374227", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015824317932129, - "points_saved": 20, - "points_rate": 1.9968401366817512, - "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.025633883476257325, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:05:49.393449", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.019222021102905, - "points_saved": 20, - "points_rate": 1.9961629713240372, - "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.028391826152801513, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:05:59.415798", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.021840810775757, - "points_saved": 20, - "points_rate": 1.9956413574735146, - "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.025433313846588135, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:06:09.433617", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.017818689346313, - "points_saved": 20, - "points_rate": 1.9964426009495932, - "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.026223516464233397, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:06:19.450860", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.017751693725586, - "points_saved": 20, - "points_rate": 1.9964559525393897, - "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.025254976749420167, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:06:29.468207", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.017346858978271, - "points_saved": 20, - "points_rate": 1.9965366360529437, - "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.026182115077972412, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:06:39.485954", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.017746925354004, - "points_saved": 20, - "points_rate": 1.996456902837286, - "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.028033947944641112, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:06:49.501585", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015121936798096, - "points_saved": 20, - "points_rate": 1.9969801791943174, - "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.02716832160949707, - "csv_write_time_avg": 3.838539123535157e-06 - } - }, - { - "timestamp": "2025-08-27T14:06:59.536618", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.035542488098145, - "points_saved": 20, - "points_rate": 1.992916678268206, - "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.028007280826568604, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:07:09.555740", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.018564939498901, - "points_saved": 20, - "points_rate": 1.9962938924664335, - "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.025681781768798827, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:07:19.572501", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.017317771911621, - "points_saved": 20, - "points_rate": 1.9965424333527324, - "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.025381839275360106, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:07:29.591652", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.01863408088684, - "points_saved": 20, - "points_rate": 1.996280115485525, - "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.024657058715820312, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:07:39.606641", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.01550579071045, - "points_saved": 20, - "points_rate": 1.9969036430042642, - "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.029073095321655272, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:07:49.630674", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.024032831192017, - "points_saved": 20, - "points_rate": 1.995204957606038, - "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.02725496292114258, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:07:59.653475", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.022800922393799, - "points_saved": 20, - "points_rate": 1.995450189508832, - "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.02631688117980957, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:08:09.670024", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016549587249756, - "points_saved": 20, - "points_rate": 1.9966955512762954, - "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.025326800346374512, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:08:19.687419", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.016871929168701, - "points_saved": 20, - "points_rate": 1.9966312978167224, - "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.026478385925292967, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:08:29.703307", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016411066055298, - "points_saved": 20, - "points_rate": 1.996723164425447, - "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.023625600337982177, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:08:39.719741", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016433477401733, - "points_saved": 20, - "points_rate": 1.9967186968417832, - "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.030253803730010985, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:08:49.738273", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.018017292022705, - "points_saved": 20, - "points_rate": 1.9964030223750857, - "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.027418076992034912, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:08:59.756288", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.018024206161499, - "points_saved": 20, - "points_rate": 1.9964016445178054, - "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.025104820728302002, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:09:09.772623", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016841173171997, - "points_saved": 20, - "points_rate": 1.996637428330779, - "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.023850083351135254, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:09:19.788551", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.01592755317688, - "points_saved": 20, - "points_rate": 1.9968195550352543, - "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.026356923580169677, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:09:29.804634", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016082763671875, - "points_saved": 20, - "points_rate": 1.9967886120649467, - "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.027746212482452393, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:09:39.829243", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.024609327316284, - "points_saved": 20, - "points_rate": 1.995090217181985, - "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.02703680992126465, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:09:49.845155", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.01591181755066, - "points_saved": 20, - "points_rate": 1.9968226921641268, - "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.02495620250701904, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:09:59.863130", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.01741337776184, - "points_saved": 20, - "points_rate": 1.9965233784201224, - "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.02633258104324341, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:10:09.879803", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.01669454574585, - "points_saved": 20, - "points_rate": 1.9966666557176909, - "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.02307605743408203, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:10:19.897571", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.018308162689209, - "points_saved": 20, - "points_rate": 1.9963450589876257, - "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.02619529962539673, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:10:29.917262", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.019691467285156, - "points_saved": 20, - "points_rate": 1.9960694463797712, - "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.025498843193054198, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:10:39.932874", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015106678009033, - "points_saved": 20, - "points_rate": 1.9969832217479613, - "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.0290574312210083, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:10:49.949841", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.017471313476562, - "points_saved": 20, - "points_rate": 1.9965118315930572, - "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.02466146945953369, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:10:59.966801", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016960620880127, - "points_saved": 20, - "points_rate": 1.9966136193358346, - "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.02556014060974121, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:11:09.984109", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.016795873641968, - "points_saved": 20, - "points_rate": 1.996646457838646, - "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.024088728427886962, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:11:20.000311", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016155242919922, - "points_saved": 20, - "points_rate": 1.9967741628343187, - "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.024353623390197754, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:11:30.016474", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016722202301025, - "points_saved": 20, - "points_rate": 1.9966611428442762, - "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.02748662233352661, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:11:40.033833", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.017358541488647, - "points_saved": 20, - "points_rate": 1.9965343076387345, - "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.0254666805267334, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:11:50.050929", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 21 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016591548919678, - "points_saved": 21, - "points_rate": 2.0965215460208038, - "variables_saved": 84, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.027227606092180525, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:12:00.066418", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.015993595123291, - "points_saved": 20, - "points_rate": 1.9968063887079404, - "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.026085758209228517, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:12:10.082600", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016181707382202, - "points_saved": 20, - "points_rate": 1.996768887016042, - "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.02995798587799072, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:12:20.099405", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016291618347168, - "points_saved": 20, - "points_rate": 1.9967469760330607, - "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.02729356288909912, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:12:30.115152", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.016260147094727, - "points_saved": 20, - "points_rate": 1.9967532498445655, - "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.02628539800643921, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:12:40.132367", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.017215251922607, - "points_saved": 20, - "points_rate": 1.9965628667269972, - "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.02460993528366089, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:12:50.149091", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016724824905396, - "points_saved": 20, - "points_rate": 1.9966606200733774, - "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.026575648784637453, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:13:00.170355", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.020750999450684, - "points_saved": 20, - "points_rate": 1.9958583943555086, - "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.024937188625335692, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:13:10.187701", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.01734972000122, - "points_saved": 20, - "points_rate": 1.9965360658285536, - "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.031006360054016115, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:13:20.204659", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.01695966720581, - "points_saved": 20, - "points_rate": 1.996613809425362, - "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.02824826240539551, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:13:30.220892", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016739845275879, - "points_saved": 20, - "points_rate": 1.9966576260271403, - "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.028960752487182616, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:13:40.237555", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016663312911987, - "points_saved": 20, - "points_rate": 1.9966728814992698, - "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.024840009212493897, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:13:50.254907", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.017352104187012, - "points_saved": 20, - "points_rate": 1.9965355906418107, - "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.027096426486968993, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-27T14:14:00.271688", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.016781091690063, - "points_saved": 20, - "points_rate": 1.9966494043273073, - "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.025026535987854003, - "csv_write_time_avg": 0.0 - } - }, { "timestamp": "2025-08-27T14:14:10.289240", "level": "info", @@ -22295,8 +19903,2095 @@ "read_time_avg": 0.025055718421936036, "csv_write_time_avg": 0.0 } + }, + { + "timestamp": "2025-08-28T11:33:33.372908", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-28T11:33:33.430043", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 5, + "streaming_count": 4, + "prefix": "dar" + } + }, + { + "timestamp": "2025-08-28T11:33:33.460611", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-28T11:33:34.524972", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-28T11:33:34.580367", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 5, + "streaming_count": 4, + "prefix": "dar" + } + }, + { + "timestamp": "2025-08-28T11:33:34.607615", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-28T11:33:44.571308", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.05330491065979, + "points_saved": 20, + "points_rate": 1.8094135791650903, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026587748527526857, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:33:54.600105", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028796911239624, + "points_saved": 20, + "points_rate": 1.9942571553707802, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024851322174072266, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:34:04.641585", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 21 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.041480302810669, + "points_saved": 21, + "points_rate": 2.0913251200743757, + "variables_saved": 105, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025102887834821428, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:34:14.683930", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.04234528541565, + "points_saved": 20, + "points_rate": 1.9915666541605281, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025813543796539308, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:34:38.779501", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-28T11:34:38.836715", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 5, + "streaming_count": 4, + "prefix": "dar" + } + }, + { + "timestamp": "2025-08-28T11:34:38.867538", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-28T11:34:39.921694", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-28T11:34:39.970775", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 5, + "streaming_count": 4, + "prefix": "dar" + } + }, + { + "timestamp": "2025-08-28T11:34:39.998379", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-28T11:34:49.965979", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.050297737121582, + "points_saved": 20, + "points_rate": 1.8099059840544773, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024531733989715577, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:34:59.997955", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031975507736206, + "points_saved": 20, + "points_rate": 1.9936252819374314, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0238170862197876, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:35:04.042699", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'DAR_Brix' created and started", + "details": { + "session_id": "DAR_1756373704042_2", + "variables": [ + "HMI_Instrument.QTM306.PVFiltered", + "HMI_Instrument.QTM307.PVFiltered" + ], + "time_window": 60, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-28T11:35:10.027126", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 21 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029170989990234, + "points_saved": 21, + "points_rate": 2.09389191000526, + "variables_saved": 105, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02757338115147182, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:35:20.059899", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU", + "details": { + "duration": 10.032772541046143, + "points_saved": 20, + "points_rate": 1.9934669024116587, + "variables_saved": 100, + "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.023769295215606688, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:35:30.100655", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.040756702423096, + "points_saved": 20, + "points_rate": 1.991881746838212, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02984442710876465, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:35:40.130909", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030253887176514, + "points_saved": 20, + "points_rate": 1.9939674733029056, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028123116493225096, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:35:50.160629", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029719591140747, + "points_saved": 20, + "points_rate": 1.994073694509466, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02180706262588501, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:36:00.188328", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02769947052002, + "points_saved": 20, + "points_rate": 1.994475408721322, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024769437313079835, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:36:10.217239", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028911352157593, + "points_saved": 20, + "points_rate": 1.9942343987014357, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024850332736968996, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:36:20.246284", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02904486656189, + "points_saved": 20, + "points_rate": 1.9942078499102684, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028755903244018555, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:36:30.284115", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.037322521209717, + "points_saved": 20, + "points_rate": 1.9925632515781273, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02550164461135864, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:36:40.313363", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029756307601929, + "points_saved": 20, + "points_rate": 1.9940663946980695, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02613931894302368, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:36:50.345919", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03255558013916, + "points_saved": 20, + "points_rate": 1.993510012502974, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023859620094299316, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:37:00.374986", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029067039489746, + "points_saved": 20, + "points_rate": 1.9942034409830358, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.027230775356292723, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:37:10.414125", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.038630962371826, + "points_saved": 20, + "points_rate": 1.9923035396924884, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028196072578430174, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:37:20.444189", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030572414398193, + "points_saved": 20, + "points_rate": 1.9939041535946027, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025574612617492675, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:37:30.474272", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU", + "details": { + "duration": 10.029633522033691, + "points_saved": 20, + "points_rate": 1.9940908066145007, + "variables_saved": 100, + "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.025190091133117674, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:37:40.502556", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.028733968734741, + "points_saved": 20, + "points_rate": 1.9942696717602997, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02564680576324463, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:37:50.532186", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029629230499268, + "points_saved": 20, + "points_rate": 1.994091659857342, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025796997547149658, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:38:00.563050", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030356407165527, + "points_saved": 20, + "points_rate": 1.9939470930177832, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.021843528747558592, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:38:10.591666", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029124021530151, + "points_saved": 20, + "points_rate": 1.9941921106035525, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026372814178466798, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:38:20.620020", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.028353929519653, + "points_saved": 20, + "points_rate": 1.9943452475413357, + "variables_saved": 100, + "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.024402165412902833, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:38:30.649625", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.0296049118042, + "points_saved": 20, + "points_rate": 1.994096494913901, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026334893703460694, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:38:40.679725", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030100107192993, + "points_saved": 20, + "points_rate": 1.9939980445117578, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.027379381656646728, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:38:50.709077", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 21 points saved, 0 lost, 0.9% CPU", + "details": { + "duration": 10.029351234436035, + "points_saved": 21, + "points_rate": 2.093854279217579, + "variables_saved": 105, + "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.02336076327732631, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:39:00.737411", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028334856033325, + "points_saved": 20, + "points_rate": 1.9943490407051419, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02444404363632202, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:39:10.765357", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02794599533081, + "points_saved": 20, + "points_rate": 1.9944263769781323, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.030722618103027344, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:39:20.793434", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.028076648712158, + "points_saved": 20, + "points_rate": 1.994400392080018, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024748051166534425, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:39:30.821754", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028319835662842, + "points_saved": 20, + "points_rate": 1.9943520278317948, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.03250187635421753, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:39:40.850869", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.029114723205566, + "points_saved": 20, + "points_rate": 1.9941939594851377, + "variables_saved": 100, + "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.022691547870635986, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:39:50.882336", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03146767616272, + "points_saved": 20, + "points_rate": 1.9937262069363002, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024371254444122314, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:40:00.915797", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03346061706543, + "points_saved": 20, + "points_rate": 1.993330194168796, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02608722448348999, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:40:10.945510", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02971339225769, + "points_saved": 20, + "points_rate": 1.9940749269504296, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024936223030090333, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:40:20.980724", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.035213232040405, + "points_saved": 20, + "points_rate": 1.9929820660057374, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02791149616241455, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:40:31.013217", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.032493352890015, + "points_saved": 20, + "points_rate": 1.9935223773897335, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02767869234085083, + "csv_write_time_avg": 4.935264587402344e-06 + } + }, + { + "timestamp": "2025-08-28T11:40:41.048932", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.035715103149414, + "points_saved": 20, + "points_rate": 1.992882399952106, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02478899955749512, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:40:51.085054", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.035555124282837, + "points_saved": 20, + "points_rate": 1.9929141689039593, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028175580501556396, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:41:01.115586", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031099081039429, + "points_saved": 20, + "points_rate": 1.9937994668803118, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024589574337005614, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:41:11.149861", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.034274578094482, + "points_saved": 20, + "points_rate": 1.9931684990623426, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.022878360748291016, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:41:36.275072", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-28T11:41:36.339265", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 5, + "streaming_count": 4, + "prefix": "dar" + } + }, + { + "timestamp": "2025-08-28T11:41:36.374379", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-28T11:41:37.430975", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-28T11:41:37.501872", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 5, + "streaming_count": 4, + "prefix": "dar" + } + }, + { + "timestamp": "2025-08-28T11:41:37.538291", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-28T11:41:47.488379", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.062530517578125, + "points_saved": 20, + "points_rate": 1.807904617141659, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.030272746086120607, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:41:57.525104", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.036218166351318, + "points_saved": 20, + "points_rate": 1.9927825071653489, + "variables_saved": 100, + "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.02471696138381958, + "csv_write_time_avg": 5.161762237548828e-06 + } + }, + { + "timestamp": "2025-08-28T11:42:07.560517", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 21 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.035918951034546, + "points_saved": 21, + "points_rate": 2.09248401690562, + "variables_saved": 105, + "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.026660760243733723, + "csv_write_time_avg": 1.1387325468517484e-05 + } + }, + { + "timestamp": "2025-08-28T11:42:17.595300", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.034274339675903, + "points_saved": 20, + "points_rate": 1.9931685464208644, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0249661922454834, + "csv_write_time_avg": 1.0788440704345703e-05 + } + }, + { + "timestamp": "2025-08-28T11:42:27.628520", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.033728837966919, + "points_saved": 20, + "points_rate": 1.9932769086126203, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02343226671218872, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:42:37.671864", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.043344497680664, + "points_saved": 20, + "points_rate": 1.9913685132097831, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026372647285461424, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:42:47.704001", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03213620185852, + "points_saved": 20, + "points_rate": 1.9935933481739279, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02840700149536133, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:42:57.743786", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.039785861968994, + "points_saved": 20, + "points_rate": 1.992074360446331, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024693286418914794, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:43:07.775130", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.031343698501587, + "points_saved": 20, + "points_rate": 1.9937508474550087, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02475273609161377, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:43:17.804674", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02954387664795, + "points_saved": 20, + "points_rate": 1.9941086300610864, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023361611366271972, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:43:27.834490", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029816389083862, + "points_saved": 20, + "points_rate": 1.9940544496674308, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028212642669677733, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:43:37.863026", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02853536605835, + "points_saved": 20, + "points_rate": 1.9943091657920602, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.026638269424438477, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:43:47.893147", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029614448547363, + "points_saved": 20, + "points_rate": 1.9940945988104952, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.022437942028045655, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:43:57.923172", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030456781387329, + "points_saved": 20, + "points_rate": 1.9939271397003884, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023342883586883544, + "csv_write_time_avg": 2.9206275939941406e-06 + } + }, + { + "timestamp": "2025-08-28T11:44:07.960230", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.036494255065918, + "points_saved": 20, + "points_rate": 1.9927276887450023, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02336353063583374, + "csv_write_time_avg": 1.6689300537109375e-05 + } + }, + { + "timestamp": "2025-08-28T11:44:17.992125", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.032444715499878, + "points_saved": 20, + "points_rate": 1.9935320420057234, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025166285037994385, + "csv_write_time_avg": 5.209445953369141e-06 + } + }, + { + "timestamp": "2025-08-28T11:44:28.021713", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.029677152633667, + "points_saved": 20, + "points_rate": 1.9940821320203963, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02351400852203369, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:44:47.075785", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-28T11:44:47.137570", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 5, + "streaming_count": 4, + "prefix": "dar" + } + }, + { + "timestamp": "2025-08-28T11:44:47.184500", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-28T11:44:48.263964", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-28T11:44:48.315808", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 5, + "streaming_count": 4, + "prefix": "dar" + } + }, + { + "timestamp": "2025-08-28T11:44:48.350237", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-28T11:44:58.308846", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.053984642028809, + "points_saved": 20, + "points_rate": 1.8093023147469538, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02687157392501831, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:45:08.344552", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 21 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.035706281661987, + "points_saved": 21, + "points_rate": 2.0925283593017077, + "variables_saved": 105, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025235789162772044, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:45:18.371814", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027262449264526, + "points_saved": 20, + "points_rate": 1.9945623345549262, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0248296856880188, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:45:28.399483", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027669191360474, + "points_saved": 20, + "points_rate": 1.9944814311616277, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02909252643585205, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:45:38.426081", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.026597261428833, + "points_saved": 20, + "points_rate": 1.9946946584697982, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02520465850830078, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:45:48.454113", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.028031826019287, + "points_saved": 20, + "points_rate": 1.9944093065308082, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.022002780437469484, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:45:58.481206", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027093410491943, + "points_saved": 20, + "points_rate": 1.994595959290936, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025601422786712645, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:46:08.512400", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03119421005249, + "points_saved": 20, + "points_rate": 1.99378055904426, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.02338963747024536, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:46:18.539835", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027434825897217, + "points_saved": 20, + "points_rate": 1.9945280470282665, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.023752331733703613, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:46:28.569282", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.029447317123413, + "points_saved": 20, + "points_rate": 1.9941278285448218, + "variables_saved": 100, + "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.025089740753173828, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:46:38.605877", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03659462928772, + "points_saved": 20, + "points_rate": 1.992707759825044, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.028610849380493165, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:46:48.633826", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02794861793518, + "points_saved": 20, + "points_rate": 1.9944258553768028, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025719118118286134, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:46:58.663226", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02940058708191, + "points_saved": 20, + "points_rate": 1.9941371197956181, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.021583831310272215, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:47:05.669646", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'CTS306 Conductivimeter' created and started", + "details": { + "session_id": "CTS306_1756374425668_2", + "variables": [ + "CTS306_PEW", + "HMI_Instrument.CTS306.PVFiltered", + "AUX Blink_2.0S" + ], + "time_window": 60, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-28T11:47:08.700320", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.037094116210938, + "points_saved": 20, + "points_rate": 1.9926085945231844, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.024063658714294434, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:47:15.826474", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'CTS306 Conductivimeter' created and started", + "details": { + "session_id": "CTS306_1756374435825_3", + "variables": [ + "CTS306_PEW", + "HMI_Instrument.CTS306.PVFiltered", + "AUX Blink_2.0S" + ], + "time_window": 60, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-28T11:47:18.688433", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'CTS306 Conductivimeter' created and started", + "details": { + "session_id": "CTS306_1756374438688_4", + "variables": [ + "CTS306_PEW", + "HMI_Instrument.CTS306.PVFiltered", + "AUX Blink_2.0S" + ], + "time_window": 60, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-28T11:47:18.729670", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU", + "details": { + "duration": 10.02935004234314, + "points_saved": 20, + "points_rate": 1.9941471696133397, + "variables_saved": 100, + "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.0249284029006958, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-28T11:47:28.771992", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.042321920394897, + "points_saved": 20, + "points_rate": 1.9915712878494871, + "variables_saved": 100, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.025986552238464355, + "csv_write_time_avg": 0.0 + } } ], - "last_updated": "2025-08-28T11:32:22.613789", + "last_updated": "2025-08-28T11:47:28.771992", "total_entries": 1000 } \ No newline at end of file diff --git a/config/data/plot_variables.json b/config/data/plot_variables.json index a4ea62c..23ab4d6 100644 --- a/config/data/plot_variables.json +++ b/config/data/plot_variables.json @@ -58,18 +58,25 @@ "plot_id": "DAR", "variables": [ { - "color": "#3498db", - "enabled": true, - "line_width": 2, "variable_name": "HMI_Instrument.QTM306.PVFiltered", - "y_axis": "left" + "color": "#3498db", + "line_width": 2, + "y_axis": "left", + "enabled": true }, { - "color": "#e30d4d", - "enabled": true, - "line_width": 2, "variable_name": "HMI_Instrument.QTM307.PVFiltered", - "y_axis": "left" + "color": "#e30d4d", + "line_width": 2, + "y_axis": "left", + "enabled": true + }, + { + "variable_name": "AUX Blink_2.0S", + "color": "#3498db", + "line_width": 2, + "y_axis": "left", + "enabled": true } ] }, @@ -89,6 +96,13 @@ "line_width": 2, "y_axis": "left", "enabled": true + }, + { + "variable_name": "AUX Blink_2.0S", + "color": "#a0db33", + "line_width": 2, + "y_axis": "left", + "enabled": true } ] } diff --git a/core/config_manager.py b/core/config_manager.py index 6a3f6c8..f048ca4 100644 --- a/core/config_manager.py +++ b/core/config_manager.py @@ -626,12 +626,15 @@ class ConfigManager: # Expand symbolic variable for PLC communication expanded_var = self._expand_symbolic_variable(var_config) if expanded_var: + # Ensure the expanded variable has the proper name + expanded_var["name"] = var_name expanded_variables[var_name] = expanded_var else: - # If expansion fails, keep the original symbolic config for counting + # If expansion fails, keep original symbolic config # but mark it as non-functional for PLC communication fallback_var = var_config.copy() fallback_var["_expansion_failed"] = True + fallback_var["name"] = var_name # Ensure fallback has name expanded_variables[var_name] = fallback_var if self.logger: @@ -641,8 +644,10 @@ class ConfigManager: f"variable '{var_name}' in dataset '{dataset_id}'" ) else: - # Keep manual variables as they are - expanded_variables[var_name] = var_config + # Keep manual variables as they are, ensure they have name + manual_var = var_config.copy() + manual_var["name"] = var_name + expanded_variables[var_name] = manual_var return expanded_variables @@ -867,14 +872,14 @@ class ConfigManager: # Keep the configType as "symbol" for reference but make it functional expanded_var["configType"] = "symbol" - if self.logger: - symbol_name = var_config.get("symbol") - var_name = expanded_var.get("name", symbol_name) - area = expanded_var.get("area", "unknown") - offset = expanded_var.get("offset", "unknown") - self.logger.info( - f"Expanded symbolic variable '{symbol_name}' -> {var_name} ({area}:{offset})" - ) + # if self.logger: + # symbol_name = var_config.get("symbol") + # var_name = expanded_var.get("name", symbol_name) + # area = expanded_var.get("area", "unknown") + # offset = expanded_var.get("offset", "unknown") + # self.logger.info( + # f"Expanded symbolic variable '{symbol_name}' -> {var_name} ({area}:{offset})" + # ) return expanded_var diff --git a/frontend/src/components/rjsf/VariableSelectorWidget.jsx b/frontend/src/components/rjsf/VariableSelectorWidget.jsx index dba95ac..c7f7d3e 100644 --- a/frontend/src/components/rjsf/VariableSelectorWidget.jsx +++ b/frontend/src/components/rjsf/VariableSelectorWidget.jsx @@ -312,10 +312,10 @@ export function VariableSelectorWidget(props) { 📊 {selectedVariable.dataset} - {selectedVariable.type.toUpperCase()} + {selectedVariable.type?.toUpperCase() || 'UNKNOWN'} - {selectedVariable.address} + {selectedVariable.address || 'N/A'} {selectedVariable.streaming && ( @@ -324,7 +324,7 @@ export function VariableSelectorWidget(props) { )} - PLC Address: {selectedVariable.area}{selectedVariable.db ? `${selectedVariable.db}.` : ''}{selectedVariable.offset} + PLC Address: {selectedVariable.area || ''}{selectedVariable.db ? `${selectedVariable.db}.` : ''}{selectedVariable.offset || ''} {selectedVariable.streaming ? ' • Real-time streaming enabled' : ' • Static logging only'} diff --git a/main.py b/main.py index 109bc65..755ff2f 100644 --- a/main.py +++ b/main.py @@ -453,12 +453,16 @@ def get_expanded_dataset_variables(): hasattr(streamer.config_manager, "datasets") and streamer.config_manager.datasets ): - for dataset_id, dataset_config in streamer.config_manager.datasets.items(): - if "variables" in dataset_config and dataset_config["variables"]: + for dataset_id in streamer.config_manager.datasets.keys(): + # Use proper expansion method for symbolic variables + expanded_vars = streamer.config_manager.get_expanded_dataset_variables( + dataset_id + ) + if expanded_vars: expanded_data["variables"].append( { "dataset_id": dataset_id, - "variables": dataset_config["variables"], + "variables": expanded_vars, } ) diff --git a/system_state.json b/system_state.json index ca1dcc1..7c68642 100644 --- a/system_state.json +++ b/system_state.json @@ -7,6 +7,6 @@ ] }, "auto_recovery_enabled": true, - "last_update": "2025-08-28T11:31:29.749311", + "last_update": "2025-08-28T11:46:10.725708", "plotjuggler_path": "C:\\Program Files\\PlotJuggler\\plotjuggler.exe" } \ No newline at end of file