From 9dae98bfdc0e892d185fd83c812e0f47b62495cb Mon Sep 17 00:00:00 2001 From: Miguel Date: Fri, 22 Aug 2025 16:50:53 +0200 Subject: [PATCH] Update plot definitions and frontend configurations for time window adjustments - Changed the default time window in plot_definitions.json from 37 to 20 seconds. - Updated the PlotRealtimeSession component to reflect the new default time window of 10 seconds instead of 60 seconds in multiple instances. - Modified the time window input field to have a placeholder of 10 and adjusted the parsing logic to handle empty values. - Updated system_state.json to reflect the latest timestamp and reordered active datasets. - Added application_events.json to log significant application events, including application startup and CSV recording status. - Created a new system_state.json file to track the last state of the application with relevant flags and timestamps. --- application_events.json | 3169 +++++++++-------- config/data/plot_definitions.json | 2 +- frontend/application_events.json | 82 + .../src/components/PlotRealtimeSession.jsx | 16 +- frontend/system_state.json | 9 + system_state.json | 4 +- 6 files changed, 1872 insertions(+), 1410 deletions(-) create mode 100644 frontend/application_events.json create mode 100644 frontend/system_state.json diff --git a/application_events.json b/application_events.json index aafd6d1..4ad484d 100644 --- a/application_events.json +++ b/application_events.json @@ -1,1403 +1,5 @@ { "events": [ - { - "timestamp": "2025-08-19T17:04:11.225703", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 36.380890130996704, - "points_saved": 40, - "points_rate": 1.0994783210628427, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.06310558915138245, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:04:21.254688", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028985261917114, - "points_saved": 40, - "points_rate": 3.9884394039236732, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.06262046098709106, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:04:31.286077", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 41 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.031389236450195, - "points_saved": 41, - "points_rate": 4.087170683300956, - "variables_saved": 123, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.059240376077047206, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:04:40.557235", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_1_1755615880557_2", - "variables": [ - "UR29_Brix", - "UR29_ma", - "AUX Blink_2.0S" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-19T17:04:41.310026", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.023443698883057, - "points_saved": 40, - "points_rate": 3.990644453308729, - "variables_saved": 120, - "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.06087278723716736, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:04:51.335229", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.025708198547363, - "points_saved": 40, - "points_rate": 3.9897430892508567, - "variables_saved": 120, - "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.06208416819572449, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:05:01.363592", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.028362274169922, - "points_saved": 40, - "points_rate": 3.9886871760734155, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05595792531967163, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:05:11.389268", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.025676250457764, - "points_saved": 40, - "points_rate": 3.9897558030734968, - "variables_saved": 120, - "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.06137528419494629, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:05:21.415702", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.026434421539307, - "points_saved": 40, - "points_rate": 3.989454108837527, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.058309274911880496, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:05:31.442913", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.027210712432861, - "points_saved": 41, - "points_rate": 4.088873882859926, - "variables_saved": 123, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05976524585630835, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:05:35.269294", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-19T17:05:38.253214", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", - "details": { - "recording_protection": false, - "performance_monitoring": false - } - }, - { - "timestamp": "2025-08-19T17:05:38.282119", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-19T17:05:38.307039", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: test", - "details": { - "dataset_id": "Test" - } - }, - { - "timestamp": "2025-08-19T17:05:38.810047", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-19T17:05:38.837486", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-19T17:05:38.864581", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))", - "details": {} - }, - { - "timestamp": "2025-08-19T17:05:48.893938", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-19T17:05:48.997625", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-19T17:05:49.034963", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 3, - "streaming_count": 1, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-19T17:05:49.069101", - "level": "info", - "event_type": "csv_recording_started", - "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3, - "priority": "CRITICAL", - "recording_protection": true, - "performance_monitoring": true, - "async_csv_buffering": true, - "csv_flush_interval": 5.0 - } - }, - { - "timestamp": "2025-08-19T17:05:58.997216", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 11.107863664627075, - "points_saved": 40, - "points_rate": 3.6010524802694293, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05864734649658203, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:06:09.037703", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.040487289428711, - "points_saved": 40, - "points_rate": 3.9838703886528144, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.059162062406539914, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:06:19.071796", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 41 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.034092664718628, - "points_saved": 41, - "points_rate": 4.086069500251093, - "variables_saved": 123, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.058728834477866566, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:06:29.105896", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.03357481956482, - "points_saved": 40, - "points_rate": 3.98661501202967, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05819299817085266, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:06:39.141630", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.03572678565979, - "points_saved": 40, - "points_rate": 3.985760160106853, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.06037740111351013, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:06:49.179671", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU", - "details": { - "duration": 10.038573265075684, - "points_saved": 40, - "points_rate": 3.984629981150855, - "variables_saved": 120, - "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.056579184532165525, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:06:59.218369", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.038698434829712, - "points_saved": 41, - "points_rate": 4.084194805349334, - "variables_saved": 123, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05648649029615449, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:07:09.262386", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.044016599655151, - "points_saved": 40, - "points_rate": 3.982470518952881, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.058295661211013795, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:07:19.301092", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.03808879852295, - "points_saved": 40, - "points_rate": 3.9848222906621213, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.060368078947067264, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:07:29.333903", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.033428430557251, - "points_saved": 40, - "points_rate": 3.986673177253971, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.060312652587890626, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:07:39.370431", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.036527872085571, - "points_saved": 40, - "points_rate": 3.9854420283384395, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05742114782333374, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:07:49.403909", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.033478260040283, - "points_saved": 40, - "points_rate": 3.9866533781515767, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.059398114681243896, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:07:59.436797", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.032887935638428, - "points_saved": 40, - "points_rate": 3.986887948574964, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.059367066621780394, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:08:09.469255", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.032458305358887, - "points_saved": 40, - "points_rate": 3.9870586831777617, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05884680151939392, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:08:19.502397", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.032626867294312, - "points_saved": 40, - "points_rate": 3.9869916951060254, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.06226896643638611, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:08:29.537827", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03594446182251, - "points_saved": 40, - "points_rate": 3.985673710348141, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.06075837016105652, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:08:39.570346", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.031997680664062, - "points_saved": 40, - "points_rate": 3.9872417511715597, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05981950163841247, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:08:49.604179", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.03435468673706, - "points_saved": 40, - "points_rate": 3.9863051734527706, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05941340923309326, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:08:59.637397", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.033217668533325, - "points_saved": 40, - "points_rate": 3.9867569230008817, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05796359777450562, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:09:09.670367", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.032970190048218, - "points_saved": 40, - "points_rate": 3.9868552624302938, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.055437564849853516, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:09:19.703554", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.033186912536621, - "points_saved": 41, - "points_rate": 4.086438372713845, - "variables_saved": 123, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05833255953905059, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:09:29.737748", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.033685445785522, - "points_saved": 40, - "points_rate": 3.98657105767665, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.0609347403049469, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:09:39.770361", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.033121824264526, - "points_saved": 40, - "points_rate": 3.986795007637833, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.059988266229629515, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:09:49.802630", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.032268762588501, - "points_saved": 41, - "points_rate": 4.086812362213997, - "variables_saved": 123, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.06060303129800936, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:09:59.836994", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", - "details": { - "duration": 10.034364461898804, - "points_saved": 40, - "points_rate": 3.9863012901198522, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05667123198509216, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:10:09.872509", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.035515069961548, - "points_saved": 40, - "points_rate": 3.9858442462737753, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.059979593753814696, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:10:19.907823", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.035313367843628, - "points_saved": 40, - "points_rate": 3.9859243586924618, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.05823066830635071, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:10:29.941853", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.034029960632324, - "points_saved": 40, - "points_rate": 3.9864341801785175, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.056695681810379026, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:10:39.974863", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.033009767532349, - "points_saved": 40, - "points_rate": 3.98683953537485, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.060896027088165286, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:10:50.007469", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", - "details": { - "duration": 10.032606601715088, - "points_saved": 40, - "points_rate": 3.9869997487155477, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.2, - "cpu_max": 0.2, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.062062686681747435, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-19T17:11:00.042300", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", - "details": { - "duration": 10.034831285476685, - "points_saved": 40, - "points_rate": 3.986115846102128, - "variables_saved": 120, - "udp_points_sent": 0, - "points_lost": 0, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.0, - "delay_max": 0.0, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.06090276837348938, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-20T00:10:07.052406", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-20T00:21:05.552017", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-20T00:21:05.595655", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", - "details": { - "recording_protection": false, - "performance_monitoring": false - } - }, - { - "timestamp": "2025-08-20T00:21:05.636006", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-20T00:21:05.680502", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-20T00:21:05.720826", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-20T00:21:05.762870", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: test", - "details": { - "dataset_id": "Test" - } - }, - { - "timestamp": "2025-08-20T00:21:05.802769", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))", - "details": {} - }, - { - "timestamp": "2025-08-20T00:22:02.542982", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-20T00:27:06.258209", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-20T00:27:56.310155", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-20T00:27:56.333116", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", - "details": { - "recording_protection": false, - "performance_monitoring": false - } - }, - { - "timestamp": "2025-08-20T00:27:56.358390", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-20T00:27:56.382426", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-20T00:27:56.410437", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-20T00:27:56.450344", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: test", - "details": { - "dataset_id": "Test" - } - }, - { - "timestamp": "2025-08-20T00:27:56.479293", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))", - "details": {} - }, - { - "timestamp": "2025-08-21T16:23:14.167775", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-21T16:24:00.203504", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-21T16:24:00.232338", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 3, - "streaming_count": 1, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-21T16:24:00.265229", - "level": "info", - "event_type": "csv_recording_started", - "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3, - "priority": "CRITICAL", - "recording_protection": true, - "performance_monitoring": true, - "async_csv_buffering": true, - "csv_flush_interval": 5.0 - } - }, - { - "timestamp": "2025-08-21T16:24:00.297123", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 3 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "symbols_path": "C:/Users/migue/Downloads/symSAE452.asc", - "auto_started_recording": true, - "recording_datasets": 3, - "dataset_names": [ - "DAR", - "test", - "Fast" - ] - } - }, - { - "timestamp": "2025-08-21T16:24:08.172317", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_1_1755786248171_2", - "variables": [ - "UR29_Brix", - "UR29_ma", - "AUX Blink_2.0S" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-21T16:24:10.202824", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 27 points saved, 8 lost, 0.0% CPU", - "details": { - "duration": 57.04428052902222, - "points_saved": 27, - "points_rate": 0.4733165139362798, - "variables_saved": 81, - "udp_points_sent": 0, - "points_lost": 8, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 1.3207858562469483, - "delay_max": 3.054250717163086, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.5367946536452682, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-21T16:24:20.227939", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 30 points saved, 7 lost, 0.6% CPU", - "details": { - "duration": 10.02461290359497, - "points_saved": 30, - "points_rate": 2.9926342581509124, - "variables_saved": 90, - "udp_points_sent": 0, - "points_lost": 7, - "cpu_average": 0.6, - "cpu_max": 0.6, - "delay_average": 0.7358365058898926, - "delay_max": 1.2274413108825684, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.44961455663045247, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-21T16:24:30.255957", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 24 points saved, 13 lost, 0.3% CPU", - "details": { - "duration": 10.028520584106445, - "points_saved": 24, - "points_rate": 2.393174526463659, - "variables_saved": 72, - "udp_points_sent": 0, - "points_lost": 13, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.7990097045898438, - "delay_max": 1.795875072479248, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.6981984078884125, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-21T16:24:40.293249", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 35 points saved, 4 lost, 0.3% CPU", - "details": { - "duration": 10.037291765213013, - "points_saved": 35, - "points_rate": 3.48699637498853, - "variables_saved": 105, - "udp_points_sent": 0, - "points_lost": 4, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.647857666015625, - "delay_max": 0.9299421310424805, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.3182672773088728, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-21T16:24:50.318663", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 34 points saved, 3 lost, 0.0% CPU", - "details": { - "duration": 10.02491044998169, - "points_saved": 34, - "points_rate": 3.3915514926182806, - "variables_saved": 102, - "udp_points_sent": 0, - "points_lost": 3, - "cpu_average": 0.0, - "cpu_max": 0.0, - "delay_average": 0.5467542012532552, - "delay_max": 0.723393440246582, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.2756483414593865, - "csv_write_time_avg": 0.0 - } - }, - { - "timestamp": "2025-08-21T16:25:00.345375", - "level": "info", - "event_type": "performance_report", - "message": "Performance report: 29 points saved, 12 lost, 0.3% CPU", - "details": { - "duration": 10.026712894439697, - "points_saved": 29, - "points_rate": 2.8922738992638273, - "variables_saved": 87, - "udp_points_sent": 0, - "points_lost": 12, - "cpu_average": 0.3, - "cpu_max": 0.3, - "delay_average": 0.9935148159662882, - "delay_max": 2.031874895095825, - "read_errors": 0, - "csv_errors": 0, - "udp_errors": 0, - "read_time_avg": 0.5027022279542068, - "csv_write_time_avg": 0.0 - } - }, { "timestamp": "2025-08-21T16:25:10.369524", "level": "info", @@ -18670,8 +17272,1777 @@ "read_time_avg": 0.09133223207985483, "csv_write_time_avg": 0.0 } + }, + { + "timestamp": "2025-08-22T16:39:16.628262", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-22T16:39:16.745464", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 3, + "streaming_count": 3, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-22T16:39:16.769638", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: Fast", + "details": { + "dataset_id": "Fast", + "variables_count": 3, + "streaming_count": 1, + "prefix": "fast" + } + }, + { + "timestamp": "2025-08-22T16:39:16.794958", + "level": "info", + "event_type": "csv_recording_started", + "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 2 datasets activated", + "details": { + "activated_datasets": 2, + "total_datasets": 3, + "priority": "CRITICAL", + "recording_protection": true, + "performance_monitoring": true, + "async_csv_buffering": true, + "csv_flush_interval": 5.0 + } + }, + { + "timestamp": "2025-08-22T16:39:23.944630", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755873563944_2", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_2.0S" + ], + "time_window": 37, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-22T16:39:26.745720", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 11.12306833267212, + "points_saved": 40, + "points_rate": 3.5961300248877204, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08915330171585083, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:39:36.776037", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 3.7% CPU", + "details": { + "duration": 10.030317783355713, + "points_saved": 40, + "points_rate": 3.987909542245602, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 3.7, + "cpu_max": 3.7, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0888875424861908, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:39:46.800423", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.024385690689087, + "points_saved": 40, + "points_rate": 3.99026945233692, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08667289614677429, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:39:56.824063", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023640394210815, + "points_saved": 41, + "points_rate": 4.090330297930448, + "variables_saved": 123, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.10054734276562202, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:40:06.868219", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 1.9% CPU", + "details": { + "duration": 10.04415512084961, + "points_saved": 40, + "points_rate": 3.9824155958093668, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.9, + "cpu_max": 1.9, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08800853490829467, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:40:16.889853", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 1.2% CPU", + "details": { + "duration": 10.021074771881104, + "points_saved": 40, + "points_rate": 3.991587819725589, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.2, + "cpu_max": 1.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08664995431900024, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:40:26.910907", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.021613836288452, + "points_saved": 40, + "points_rate": 3.9913731115001907, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08674564361572265, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:40:36.933505", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.022598028182983, + "points_saved": 40, + "points_rate": 3.990981169505376, + "variables_saved": 120, + "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.10782245993614196, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:40:46.954853", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.021347522735596, + "points_saved": 40, + "points_rate": 3.991479180744041, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.09389015436172485, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:40:56.987394", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.031953811645508, + "points_saved": 40, + "points_rate": 3.9872591870953733, + "variables_saved": 120, + "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.09027647972106934, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:41:06.079241", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755873666079_3", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_2.0S" + ], + "time_window": 37, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-22T16:41:07.009884", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 39 points saved, 1 lost, 0.3% CPU", + "details": { + "duration": 10.021501779556274, + "points_saved": 39, + "points_rate": 3.8916322980213867, + "variables_saved": 117, + "udp_points_sent": 0, + "points_lost": 1, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.10717403888702393, + "delay_max": 0.19316530227661133, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.12797266397720727, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:41:17.030965", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 41 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.022656440734863, + "points_saved": 41, + "points_rate": 4.0907318576105824, + "variables_saved": 123, + "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.08549273886331697, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:41:27.052061", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.021096467971802, + "points_saved": 40, + "points_rate": 3.9915791777719223, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.10780357122421265, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:41:37.073385", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.021323680877686, + "points_saved": 40, + "points_rate": 3.9914886769226405, + "variables_saved": 120, + "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.08112252354621888, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:41:47.111537", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.038037300109863, + "points_saved": 40, + "points_rate": 3.9848427341032306, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08082646727561951, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:41:53.816004", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755873713815_4", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_2.0S" + ], + "time_window": 37, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-22T16:41:57.134338", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022916078567505, + "points_saved": 40, + "points_rate": 3.9908545264121256, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08261553645133972, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:42:07.155495", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.021157026290894, + "points_saved": 40, + "points_rate": 3.9915550564728655, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.09789015054702759, + "csv_write_time_avg": 1.418590545654297e-06 + } + }, + { + "timestamp": "2025-08-22T16:42:17.176619", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 38 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.021123170852661, + "points_saved": 38, + "points_rate": 3.791990114493994, + "variables_saved": 114, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08207892116747405, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:42:27.210043", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 42 points saved, 1 lost, 0.8% CPU", + "details": { + "duration": 10.032320737838745, + "points_saved": 42, + "points_rate": 4.186469023223038, + "variables_saved": 126, + "udp_points_sent": 0, + "points_lost": 1, + "cpu_average": 0.8, + "cpu_max": 0.8, + "delay_average": 0.1552293300628662, + "delay_max": 0.1552293300628662, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.10394164494105748, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:42:37.243585", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.034645318984985, + "points_saved": 40, + "points_rate": 3.986189718566559, + "variables_saved": 120, + "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.08089105486869812, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:42:47.264361", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.020270347595215, + "points_saved": 40, + "points_rate": 3.9919082631936855, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08475947976112366, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:42:57.288260", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023881673812866, + "points_saved": 40, + "points_rate": 3.9904700894962652, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08460388779640197, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:43:07.309951", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.022214412689209, + "points_saved": 40, + "points_rate": 3.9911339303772695, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0857789695262909, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:43:17.331305", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.021353721618652, + "points_saved": 40, + "points_rate": 3.9914767117450065, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08168315887451172, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:43:27.352320", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 1.2% CPU", + "details": { + "duration": 10.021015167236328, + "points_saved": 40, + "points_rate": 3.9916115615491585, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 1.2, + "cpu_max": 1.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08091703057289124, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:43:37.374784", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.8% CPU", + "details": { + "duration": 10.02246356010437, + "points_saved": 40, + "points_rate": 3.991034715179693, + "variables_saved": 120, + "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.08165710568428039, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:43:47.396123", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.021339178085327, + "points_saved": 40, + "points_rate": 3.9914825044014113, + "variables_saved": 120, + "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.08391368985176087, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:43:57.418250", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022127389907837, + "points_saved": 40, + "points_rate": 3.9911685856517374, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08418758511543274, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:44:07.442847", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024596929550171, + "points_saved": 40, + "points_rate": 3.990185369158269, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.07986853718757629, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:44:17.469799", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.026952505111694, + "points_saved": 40, + "points_rate": 3.989247977349866, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08162503242492676, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:44:27.494798", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.024998426437378, + "points_saved": 40, + "points_rate": 3.9900255639456446, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.11237412095069885, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:44:37.519727", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024929523468018, + "points_saved": 40, + "points_rate": 3.9900529880396034, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08189893364906312, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:44:47.542224", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02194881439209, + "points_saved": 40, + "points_rate": 3.9912397020585177, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08435654640197754, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:44:57.573070", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 41 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.031393766403198, + "points_saved": 41, + "points_rate": 4.0871688376261135, + "variables_saved": 123, + "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.0935648476205221, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:45:07.599713", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.0266432762146, + "points_saved": 40, + "points_rate": 3.989371008629457, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08138891458511352, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:45:17.630339", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.030109643936157, + "points_saved": 40, + "points_rate": 3.987992297191144, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08157998323440552, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:45:27.659969", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.03014588356018, + "points_saved": 40, + "points_rate": 3.9879778882938917, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.10538259148597717, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:45:37.681632", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 41 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.021663188934326, + "points_saved": 41, + "points_rate": 4.091137291988738, + "variables_saved": 123, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.09552263050544553, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:45:47.702978", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 38 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.0213463306427, + "points_saved": 38, + "points_rate": 3.791905672774303, + "variables_saved": 114, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08230609015414589, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:45:57.725486", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 42 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022507190704346, + "points_saved": 42, + "points_rate": 4.190568208217807, + "variables_saved": 126, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.13419802415938603, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:46:07.746798", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.021312713623047, + "points_saved": 40, + "points_rate": 3.9914930451799697, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08153613805770873, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:46:17.770223", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023425102233887, + "points_saved": 40, + "points_rate": 3.990651857226462, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08263019323349, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:46:27.793419", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023195266723633, + "points_saved": 40, + "points_rate": 3.990743364323894, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08417327404022217, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:46:37.815773", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022354125976562, + "points_saved": 40, + "points_rate": 3.9910782933049136, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08200984001159668, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:46:47.837589", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02181601524353, + "points_saved": 40, + "points_rate": 3.991292590001514, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08145138025283813, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:46:57.863446", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025856733322144, + "points_saved": 40, + "points_rate": 3.989683980527587, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.07949092984199524, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:47:07.885821", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022374868392944, + "points_saved": 40, + "points_rate": 3.991070033325731, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08081402182579041, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:47:17.909020", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.023199081420898, + "points_saved": 40, + "points_rate": 3.9907418454996466, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08053280115127563, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:47:27.936453", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027433156967163, + "points_saved": 40, + "points_rate": 3.989056757980739, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08384393453598023, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:47:37.961760", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024799585342407, + "points_saved": 40, + "points_rate": 3.990104705782381, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08521166443824768, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:47:47.988515", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.027263164520264, + "points_saved": 40, + "points_rate": 3.9891243845611912, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08062501549720764, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:47:58.010278", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.021252870559692, + "points_saved": 40, + "points_rate": 3.991516880839469, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08132204413414001, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:48:08.035293", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.025524377822876, + "points_saved": 40, + "points_rate": 3.9898162422788226, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08286989331245423, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:48:18.057462", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.0221688747406, + "points_saved": 40, + "points_rate": 3.991152064980077, + "variables_saved": 120, + "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.08307150602340699, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:48:28.080015", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.021540641784668, + "points_saved": 40, + "points_rate": 3.991402263362639, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08375198245048524, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:48:38.102875", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.02387285232544, + "points_saved": 40, + "points_rate": 3.9904736013007582, + "variables_saved": 120, + "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.0835750162601471, + "csv_write_time_avg": 1.5735626220703124e-06 + } + }, + { + "timestamp": "2025-08-22T16:48:48.125860", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.022984743118286, + "points_saved": 40, + "points_rate": 3.990827186229504, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08455362915992737, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:48:58.147532", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.021671772003174, + "points_saved": 40, + "points_rate": 3.9913500372008923, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08288549780845642, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:49:08.169704", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022172689437866, + "points_saved": 40, + "points_rate": 3.9911505458447216, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0854853093624115, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:49:18.191759", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.021503925323486, + "points_saved": 40, + "points_rate": 3.9914168869328495, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08497641682624817, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:49:28.213302", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022094249725342, + "points_saved": 40, + "points_rate": 3.9911817832980576, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08597745299339295, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:49:38.235252", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.021949529647827, + "points_saved": 40, + "points_rate": 3.9912394172080417, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08286442160606385, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:49:48.260453", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.025201082229614, + "points_saved": 40, + "points_rate": 3.989944907030629, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08451112508773803, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:49:58.282702", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022249221801758, + "points_saved": 40, + "points_rate": 3.991120068435992, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08589690327644348, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:50:08.304866", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022164106369019, + "points_saved": 40, + "points_rate": 3.991153963900897, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0847047209739685, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:50:14.241399", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755874214241_5", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_2.0S" + ], + "time_window": 37, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-22T16:50:18.341477", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.036086320877075, + "points_saved": 40, + "points_rate": 3.985617373257538, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.3, + "cpu_max": 0.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08685020804405212, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:50:23.133351", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755874223133_6", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_2.0S" + ], + "time_window": 10, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-22T16:50:25.702261", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755874225701_7", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_2.0S" + ], + "time_window": 10, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-22T16:50:28.367040", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.026087760925293, + "points_saved": 40, + "points_rate": 3.989592047647153, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.0845306396484375, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:50:38.082979", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755874238082_8", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_2.0S" + ], + "time_window": 20, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-22T16:50:38.391116", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 41 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.024075746536255, + "points_saved": 41, + "points_rate": 4.090152652145236, + "variables_saved": 123, + "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.08384918585056211, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-22T16:50:39.569558", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1_1755874239568_9", + "variables": [ + "UR29_Brix", + "UR29_ma", + "AUX Blink_2.0S" + ], + "time_window": 20, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-22T16:50:48.414173", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023056983947754, + "points_saved": 40, + "points_rate": 3.9907984224834077, + "variables_saved": 120, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.08363530635833741, + "csv_write_time_avg": 0.0 + } } ], - "last_updated": "2025-08-22T16:23:24.804715", + "last_updated": "2025-08-22T16:50:48.414173", "total_entries": 1000 } \ No newline at end of file diff --git a/config/data/plot_definitions.json b/config/data/plot_definitions.json index ded7b82..1012ef8 100644 --- a/config/data/plot_definitions.json +++ b/config/data/plot_definitions.json @@ -8,7 +8,7 @@ "point_radius": 2.5, "stacked": true, "stepped": true, - "time_window": 37, + "time_window": 20, "trigger_enabled": false, "trigger_on_true": true, "trigger_variable": null, diff --git a/frontend/application_events.json b/frontend/application_events.json new file mode 100644 index 0000000..b5eee0b --- /dev/null +++ b/frontend/application_events.json @@ -0,0 +1,82 @@ +{ + "events": [ + { + "timestamp": "2025-08-22T16:33:02.020381", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-22T16:36:41.330445", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-22T16:36:41.331526", + "level": "info", + "event_type": "csv_recording_stopped", + "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", + "details": { + "recording_protection": false, + "performance_monitoring": false + } + }, + { + "timestamp": "2025-08-22T16:36:41.331526", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-22T16:36:41.332612", + "level": "info", + "event_type": "plc_disconnection", + "message": "Disconnected from PLC 192.168.1.100 (application shutdown (will auto-reconnect on restart))", + "details": {} + }, + { + "timestamp": "2025-08-22T16:36:59.890526", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-22T16:38:28.043351", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-22T16:38:28.044362", + "level": "info", + "event_type": "csv_recording_stopped", + "message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)", + "details": { + "recording_protection": false, + "performance_monitoring": false + } + }, + { + "timestamp": "2025-08-22T16:38:28.045373", + "level": "info", + "event_type": "udp_streaming_stopped", + "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", + "details": {} + }, + { + "timestamp": "2025-08-22T16:38:28.045373", + "level": "info", + "event_type": "plc_disconnection", + "message": "Disconnected from PLC 192.168.1.100 (application shutdown (will auto-reconnect on restart))", + "details": {} + } + ], + "last_updated": "2025-08-22T16:38:28.045373", + "total_entries": 10 +} \ No newline at end of file diff --git a/frontend/src/components/PlotRealtimeSession.jsx b/frontend/src/components/PlotRealtimeSession.jsx index c468335..3ad8855 100644 --- a/frontend/src/components/PlotRealtimeSession.jsx +++ b/frontend/src/components/PlotRealtimeSession.jsx @@ -72,7 +72,7 @@ export default function PlotRealtimeSession({ const [isRefreshing, setIsRefreshing] = useState(false) const { isOpen: isFullscreen, onOpen: openFullscreen, onClose: closeFullscreen } = useDisclosure() const [localConfig, setLocalConfig] = useState({ - time_window: plotDefinition.time_window || 60, + time_window: plotDefinition.time_window || 10, y_min: plotDefinition.y_min, y_max: plotDefinition.y_max, trigger_enabled: plotDefinition.trigger_enabled || false, @@ -118,7 +118,7 @@ export default function PlotRealtimeSession({ useEffect(() => { if (!applyingChangesRef.current) { setLocalConfig({ - time_window: plotDefinition.time_window || 60, + time_window: plotDefinition.time_window || 10, y_min: plotDefinition.y_min, y_max: plotDefinition.y_max, trigger_enabled: plotDefinition.trigger_enabled || false, @@ -216,7 +216,7 @@ export default function PlotRealtimeSession({ browser_tab_id: browserTabId, // Include unique tab identifier name: plotDefinition.name, variables: variableNames, - time_window: plotDefinition.time_window || 60, + time_window: plotDefinition.time_window || 10, trigger_enabled: plotDefinition.trigger_enabled || false, trigger_variable: plotDefinition.trigger_variable, trigger_on_true: plotDefinition.trigger_on_true || true, @@ -253,7 +253,7 @@ export default function PlotRealtimeSession({ browser_tab_id: browserTabId, // Include unique tab identifier name: plotDefinition.name, variables: plotVariables.map(v => v.variable_name), // Simplified format - time_window: localConfig.time_window, + time_window: localConfig.time_window || 10, trigger_enabled: localConfig.trigger_enabled, trigger_variable: localConfig.trigger_variable, trigger_on_true: localConfig.trigger_on_true, @@ -401,7 +401,7 @@ export default function PlotRealtimeSession({ const resetConfigChanges = () => { setLocalConfig({ - time_window: plotDefinition.time_window || 60, + time_window: plotDefinition.time_window || 10, y_min: plotDefinition.y_min, y_max: plotDefinition.y_max, trigger_enabled: plotDefinition.trigger_enabled || false, @@ -567,16 +567,16 @@ export default function PlotRealtimeSession({ Time Window (seconds) setLocalConfig(prev => ({ ...prev, - time_window: parseInt(valueString) || 60 + time_window: valueString === '' ? '' : (parseInt(valueString) || 10) }))} min={10} max={3600} size="sm" > - + diff --git a/frontend/system_state.json b/frontend/system_state.json new file mode 100644 index 0000000..5f5b7a2 --- /dev/null +++ b/frontend/system_state.json @@ -0,0 +1,9 @@ +{ + "last_state": { + "should_connect": false, + "should_stream": false, + "active_datasets": [] + }, + "auto_recovery_enabled": true, + "last_update": "2025-08-22T16:38:28.045373" +} \ No newline at end of file diff --git a/system_state.json b/system_state.json index 6cf8e6c..809c114 100644 --- a/system_state.json +++ b/system_state.json @@ -3,12 +3,12 @@ "should_connect": true, "should_stream": false, "active_datasets": [ - "DAR", "Fast", + "DAR", "Test" ] }, "auto_recovery_enabled": true, - "last_update": "2025-08-22T16:17:26.680235", + "last_update": "2025-08-22T16:39:17.693082", "plotjuggler_path": "C:\\Program Files\\PlotJuggler\\plotjuggler.exe" } \ No newline at end of file