diff --git a/application_events.json b/application_events.json
index 4e71aa7..0801e8a 100644
--- a/application_events.json
+++ b/application_events.json
@@ -1,3289 +1,5 @@
{
"events": [
- {
- "timestamp": "2025-08-14T18:03:33.802690",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 0,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:03:33.805885",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:03:33.910511",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:03:33.956537",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:24:21.506809",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:24:21.601310",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:24:21.603320",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 0,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:24:21.605320",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:24:21.714107",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:24:21.729128",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:24:48.803867",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T18:25:31.712223",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:26:00.483746",
- "level": "info",
- "event_type": "udp_streaming_stopped",
- "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:26:01.456601",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:26:34.336239",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:26:34.402768",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:26:34.404771",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:26:34.407771",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:26:34.409771",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:26:34.484523",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:26:34.560526",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:28:20.485556",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T18:28:50.653912",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:28:50.749709",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:28:50.752286",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:28:50.754865",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:28:50.756936",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:28:50.843310",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:28:50.905478",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:29:00.028112",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:29:00.109128",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:29:00.118401",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:29:00.121047",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:29:00.124385",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:29:00.219781",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:29:00.281539",
- "level": "error",
- "event_type": "csv_cleanup_failed",
- "message": "CSV cleanup failed: 'max_hours'",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:31:19.295897",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:31:19.392123",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:31:19.393970",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:31:19.396043",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:31:19.398654",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:32:08.915551",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:32:09.011725",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:32:09.014725",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:32:09.016724",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:32:09.018778",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:32:34.760007",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:32:34.856710",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:32:34.858709",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:32:34.860700",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:32:34.863727",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:43:38.226776",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:43:38.387187",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:43:38.390197",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:43:38.393188",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:43:38.396188",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:45:55.386410",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:45:55.480823",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:45:55.484826",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:45:55.486826",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:45:55.488826",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:46:16.497318",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T18:46:16.610938",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T18:46:16.613936",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T18:46:16.616946",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:46:16.620459",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T18:46:27.723966",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T21:40:27.128935",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T21:40:34.404349",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T21:40:43.787236",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T21:40:53.670324",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T21:55:42.281211",
- "level": "info",
- "event_type": "csv_recording_stopped",
- "message": "CSV recording stopped (dataset threads continue for UDP streaming)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T21:55:42.285178",
- "level": "info",
- "event_type": "udp_streaming_stopped",
- "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T21:55:42.289219",
- "level": "info",
- "event_type": "dataset_deactivated",
- "message": "Dataset deactivated: test",
- "details": {
- "dataset_id": "Test"
- }
- },
- {
- "timestamp": "2025-08-14T21:55:42.327691",
- "level": "info",
- "event_type": "dataset_deactivated",
- "message": "Dataset deactivated: Fast",
- "details": {
- "dataset_id": "Fast"
- }
- },
- {
- "timestamp": "2025-08-14T21:55:42.481025",
- "level": "info",
- "event_type": "dataset_deactivated",
- "message": "Dataset deactivated: DAR",
- "details": {
- "dataset_id": "DAR"
- }
- },
- {
- "timestamp": "2025-08-14T21:55:42.485065",
- "level": "info",
- "event_type": "plc_disconnection",
- "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T21:56:24.835314",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T21:56:24.838909",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 1,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T21:56:24.842990",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T21:56:24.845281",
- "level": "info",
- "event_type": "plc_connection",
- "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 2 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": 2,
- "dataset_names": [
- "Fast",
- "DAR"
- ]
- }
- },
- {
- "timestamp": "2025-08-14T21:56:57.393755",
- "level": "info",
- "event_type": "csv_recording_stopped",
- "message": "CSV recording stopped (dataset threads continue for UDP streaming)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T21:56:57.396262",
- "level": "info",
- "event_type": "udp_streaming_stopped",
- "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T21:56:57.883359",
- "level": "info",
- "event_type": "dataset_deactivated",
- "message": "Dataset deactivated: Fast",
- "details": {
- "dataset_id": "Fast"
- }
- },
- {
- "timestamp": "2025-08-14T21:56:58.057431",
- "level": "info",
- "event_type": "dataset_deactivated",
- "message": "Dataset deactivated: DAR",
- "details": {
- "dataset_id": "DAR"
- }
- },
- {
- "timestamp": "2025-08-14T21:56:58.061430",
- "level": "info",
- "event_type": "plc_disconnection",
- "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T21:57:06.030039",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T21:57:10.291305",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T21:57:10.295814",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T21:57:10.299816",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T21:57:10.302320",
- "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": [
- "Fast",
- "DAR",
- "test"
- ]
- }
- },
- {
- "timestamp": "2025-08-14T21:57:10.484412",
- "level": "info",
- "event_type": "csv_file_renamed",
- "message": "CSV file renamed due to header mismatch for dataset 'Fast': fast_21.csv -> fast_to_21_57_10.csv",
- "details": {
- "dataset_id": "Fast",
- "original_file": "records\\14-08-2025\\fast_21.csv",
- "renamed_file": "records\\14-08-2025\\fast_to_21_57_10.csv",
- "expected_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S"
- ],
- "existing_headers": [
- "timestamp",
- "AUX Blink_1.0S"
- ],
- "reason": "header_mismatch"
- }
- },
- {
- "timestamp": "2025-08-14T22:28:56.805851",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T22:28:56.932394",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T22:28:56.935393",
- "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-14T22:28:56.938395",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:28:57.166532",
- "level": "info",
- "event_type": "csv_file_renamed",
- "message": "CSV file renamed due to header mismatch for dataset 'Fast': fast_22.csv -> fast_to_22_28_57.csv",
- "details": {
- "dataset_id": "Fast",
- "original_file": "records\\14-08-2025\\fast_22.csv",
- "renamed_file": "records\\14-08-2025\\fast_to_22_28_57.csv",
- "expected_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S",
- "AUX Blink_2.0S"
- ],
- "existing_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S"
- ],
- "reason": "header_mismatch"
- }
- },
- {
- "timestamp": "2025-08-14T22:29:09.720553",
- "level": "info",
- "event_type": "config_reload",
- "message": "Dataset configuration reloaded from files",
- "details": {
- "datasets_count": 3,
- "active_datasets_count": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:29:18.107433",
- "level": "info",
- "event_type": "config_reload",
- "message": "Dataset configuration reloaded from files",
- "details": {
- "datasets_count": 3,
- "active_datasets_count": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:29:34.913083",
- "level": "info",
- "event_type": "csv_recording_stopped",
- "message": "CSV recording stopped (dataset threads continue for UDP streaming)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T22:29:34.916673",
- "level": "info",
- "event_type": "udp_streaming_stopped",
- "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T22:29:35.040978",
- "level": "info",
- "event_type": "dataset_deactivated",
- "message": "Dataset deactivated: Fast",
- "details": {
- "dataset_id": "Fast"
- }
- },
- {
- "timestamp": "2025-08-14T22:29:35.416658",
- "level": "info",
- "event_type": "dataset_deactivated",
- "message": "Dataset deactivated: DAR",
- "details": {
- "dataset_id": "DAR"
- }
- },
- {
- "timestamp": "2025-08-14T22:29:35.419648",
- "level": "info",
- "event_type": "dataset_deactivated",
- "message": "Dataset deactivated: test",
- "details": {
- "dataset_id": "Test"
- }
- },
- {
- "timestamp": "2025-08-14T22:29:35.422649",
- "level": "info",
- "event_type": "plc_disconnection",
- "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T22:29:37.405052",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T22:29:37.409057",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T22:29:37.411052",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:29:37.414066",
- "level": "info",
- "event_type": "plc_connection",
- "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 2 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": 2,
- "dataset_names": [
- "Fast",
- "DAR"
- ]
- }
- },
- {
- "timestamp": "2025-08-14T22:29:37.623310",
- "level": "info",
- "event_type": "csv_file_renamed",
- "message": "CSV file renamed due to header mismatch for dataset 'Fast': fast_22.csv -> fast_to_22_29_37.csv",
- "details": {
- "dataset_id": "Fast",
- "original_file": "records\\14-08-2025\\fast_22.csv",
- "renamed_file": "records\\14-08-2025\\fast_to_22_29_37.csv",
- "expected_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S"
- ],
- "existing_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S",
- "AUX Blink_2.0S"
- ],
- "reason": "header_mismatch"
- }
- },
- {
- "timestamp": "2025-08-14T22:30:22.434058",
- "level": "info",
- "event_type": "config_reload",
- "message": "Dataset configuration reloaded from files",
- "details": {
- "datasets_count": 3,
- "active_datasets_count": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:32:00.333252",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:33:00.673187",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T22:33:00.754407",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T22:33:00.757714",
- "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-14T22:33:00.760854",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:33:00.764562",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:33:01.026299",
- "level": "info",
- "event_type": "csv_file_renamed",
- "message": "CSV file renamed due to header mismatch for dataset 'Fast': fast_22.csv -> fast_to_22_33_01.csv",
- "details": {
- "dataset_id": "Fast",
- "original_file": "records\\14-08-2025\\fast_22.csv",
- "renamed_file": "records\\14-08-2025\\fast_to_22_33_01.csv",
- "expected_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S",
- "AUX Blink_2.0S"
- ],
- "existing_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S"
- ],
- "reason": "header_mismatch"
- }
- },
- {
- "timestamp": "2025-08-14T22:33:16.675301",
- "level": "warning",
- "event_type": "csv_headers_mismatch_after_config_reload",
- "message": "CSV header mismatches detected and resolved for 1 datasets after configuration reload",
- "details": {
- "mismatched_datasets": 1,
- "total_validated": 2,
- "details": [
- {
- "dataset_id": "Fast",
- "dataset_name": "Fast",
- "original_file": "records\\14-08-2025\\fast_22.csv",
- "renamed_file": "records\\14-08-2025\\fast_to_22_33_16.csv",
- "expected_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S"
- ],
- "existing_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S",
- "AUX Blink_2.0S"
- ]
- }
- ]
- }
- },
- {
- "timestamp": "2025-08-14T22:33:16.680664",
- "level": "info",
- "event_type": "config_reload",
- "message": "Dataset configuration reloaded from files with CSV header validation",
- "details": {
- "datasets_count": 3,
- "active_datasets_count": 3,
- "csv_recording_active": true
- }
- },
- {
- "timestamp": "2025-08-14T22:40:58.407368",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T22:40:58.488687",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T22:40:58.493692",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T22:40:58.500690",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:40:58.508089",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:41:08.736742",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T22:42:07.195383",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T22:42:09.975760",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T22:51:29.299710",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T22:51:29.367770",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T22:51:29.372770",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T22:51:29.375778",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:51:29.380769",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T22:52:10.248646",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T22:55:17.545033",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T22:57:05.817266",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:12:13.491544",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T23:12:13.601841",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T23:12:13.607414",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T23:12:13.611549",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:12:13.619569",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:16:13.052239",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:17:26.110874",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:17:38.598859",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T23:17:38.710314",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T23:17:38.714802",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T23:17:38.719873",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:17:38.744433",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:17:48.288119",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:22:37.889079",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T23:22:37.970126",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T23:22:37.975125",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T23:22:37.980125",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:22:37.985255",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:23:30.022619",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:27:17.599611",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T23:27:17.681121",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T23:27:17.687121",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T23:27:17.690131",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:27:17.695121",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:29:18.561423",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:40:06.297388",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T23:40:06.391029",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T23:40:06.397029",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T23:40:06.402029",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:40:06.406252",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:40:13.597479",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:44:33.374514",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:45:00.606119",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:45:41.422368",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T23:45:41.502849",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T23:45:41.511998",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T23:45:41.519961",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:45:41.528200",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:46:40.168598",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:54:52.569817",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T23:54:52.682252",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T23:54:52.687255",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T23:54:52.693251",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:54:52.699707",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:56:13.944096",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T23:56:14.040062",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T23:56:14.044062",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T23:56:14.050062",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:56:14.057751",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:58:19.006981",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-14T23:58:19.101016",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-14T23:58:19.105015",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-14T23:58:19.110016",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:58:19.114363",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-14T23:58:37.746893",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-14T23:59:26.324851",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:00:19.893542",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:00:20.005085",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:00:20.010478",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:00:20.016566",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:00:20.023040",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:01:25.659194",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:03:13.854041",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:03:13.931884",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:03:13.937884",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:03:13.943885",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:03:13.948883",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:03:24.533830",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:04:52.352107",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:04:52.462786",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:04:52.471573",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:04:52.478150",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:04:52.487150",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:06:14.970380",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:06:15.097520",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:06:15.104549",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:06:15.108765",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:06:15.114560",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:06:15.165489",
- "level": "info",
- "event_type": "csv_file_renamed",
- "message": "CSV file renamed due to header mismatch for dataset 'DAR': gateway_phoenix_00.csv -> gateway_phoenix_to_00_06_15.csv",
- "details": {
- "dataset_id": "DAR",
- "original_file": "records\\15-08-2025\\gateway_phoenix_00.csv",
- "renamed_file": "records\\15-08-2025\\gateway_phoenix_to_00_06_15.csv",
- "expected_headers": [
- "timestamp",
- "UR29_Brix",
- "UR29_ma"
- ],
- "existing_headers": [
- "timestamp",
- "UR29_Brix",
- "UR29_ma"
- ],
- "reason": "header_mismatch"
- }
- },
- {
- "timestamp": "2025-08-15T00:07:46.886130",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:07:46.982186",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:07:46.989188",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:07:46.993194",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:07:46.998626",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:07:47.184577",
- "level": "info",
- "event_type": "csv_file_renamed",
- "message": "CSV file renamed due to header mismatch for dataset 'Fast': fast_00.csv -> fast_to_00_07_47.csv",
- "details": {
- "dataset_id": "Fast",
- "original_file": "records\\15-08-2025\\fast_00.csv",
- "renamed_file": "records\\15-08-2025\\fast_to_00_07_47.csv",
- "expected_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S"
- ],
- "existing_headers": [
- "timestamp",
- "AUX Blink_1.0S",
- "AUX Blink_1.6S"
- ],
- "reason": "header_mismatch"
- }
- },
- {
- "timestamp": "2025-08-15T00:07:54.500883",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:07:54.612462",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:07:54.616465",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:07:54.623465",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:07:54.628465",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:08:39.174859",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:09:52.235300",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:09:52.335402",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:09:52.341893",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:09:52.350973",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:09:52.357430",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:10:34.939883",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:10:35.050386",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:10:35.056405",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:10:35.061392",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:10:35.069127",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:10:58.429356",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:13:34.473694",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:13:34.554942",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:13:34.560722",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:13:34.567569",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:13:34.575126",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:13:46.516969",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:14:46.450129",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:14:46.499303",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:14:46.505470",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:14:46.510912",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:14:46.518450",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:14:57.791078",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:15:20.096118",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:17:13.533612",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:17:13.644933",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:17:13.653665",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:17:13.661665",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:17:13.668666",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:17:19.296417",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:22:03.893270",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:22:03.973434",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:22:03.978435",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:22:03.984513",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:22:03.990721",
- "level": "info",
- "event_type": "udp_streaming_started",
- "message": "UDP streaming to PlotJuggler started",
- "details": {
- "udp_host": "127.0.0.1",
- "udp_port": 9870,
- "datasets_available": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:22:53.358065",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:23:20.844836",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:23:59.638322",
- "level": "info",
- "event_type": "udp_streaming_stopped",
- "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:24:35.808418",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:26:15.271771",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:26:15.365923",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:26:15.372925",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:26:15.377433",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:26:31.108086",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:27:24.396654",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 20,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:27:40.211134",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 500,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:28:49.611975",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 500,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:29:11.885234",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 500,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:29:47.127915",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 500,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:33:00.587011",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 500,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:34:00.990295",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:34:01.069801",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:34:01.075470",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
- {
- "timestamp": "2025-08-15T00:34:01.083475",
- "level": "info",
- "event_type": "csv_recording_started",
- "message": "CSV recording started: 2 datasets activated",
- "details": {
- "activated_datasets": 2,
- "total_datasets": 3
- }
- },
- {
- "timestamp": "2025-08-15T00:35:06.741557",
- "level": "info",
- "event_type": "plot_session_created",
- "message": "Plot session 'UR29' created and started",
- "details": {
- "session_id": "plot_1",
- "variables": [
- "UR29_Brix",
- "UR29_ma",
- "AUX Blink_1.0S"
- ],
- "time_window": 500,
- "trigger_variable": null,
- "auto_started": true
- }
- },
- {
- "timestamp": "2025-08-15T00:35:28.675944",
- "level": "info",
- "event_type": "application_started",
- "message": "Application initialization completed successfully",
- "details": {}
- },
- {
- "timestamp": "2025-08-15T00:35:28.758707",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: DAR",
- "details": {
- "dataset_id": "DAR",
- "variables_count": 2,
- "streaming_count": 2,
- "prefix": "gateway_phoenix"
- }
- },
- {
- "timestamp": "2025-08-15T00:35:28.764039",
- "level": "info",
- "event_type": "dataset_activated",
- "message": "Dataset activated: Fast",
- "details": {
- "dataset_id": "Fast",
- "variables_count": 2,
- "streaming_count": 1,
- "prefix": "fast"
- }
- },
{
"timestamp": "2025-08-15T00:35:28.768130",
"level": "info",
@@ -14287,8 +11003,6426 @@
"read_time_avg": 0.10199150545843716,
"csv_write_time_avg": 1.904060100686961e-05
}
+ },
+ {
+ "timestamp": "2025-08-16T18:34:32.968819",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.043951272964478,
+ "points_saved": 31,
+ "points_rate": 3.0864347264849217,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0429351560531124,
+ "csv_write_time_avg": 6.452683479555191e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:34:42.986745",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.018931150436401,
+ "points_saved": 30,
+ "points_rate": 2.9943313862071275,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03495910962422689,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:34:53.004818",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.018072843551636,
+ "points_saved": 30,
+ "points_rate": 2.994587928087406,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03503986994425456,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:35:03.022794",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.01797604560852,
+ "points_saved": 30,
+ "points_rate": 2.9946168630689427,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04281324545542399,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:35:13.041730",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.018935918807983,
+ "points_saved": 30,
+ "points_rate": 2.994329961097235,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.6,
+ "cpu_max": 0.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03814603487650554,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:35:23.063669",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02193832397461,
+ "points_saved": 30,
+ "points_rate": 2.99343290990263,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04150373140970866,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:35:33.081826",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.018157958984375,
+ "points_saved": 29,
+ "points_rate": 2.8947437361967863,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.08620176644160829,
+ "csv_write_time_avg": 5.220544749292834e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:35:43.126078",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.044251441955566,
+ "points_saved": 30,
+ "points_rate": 2.9867830543038605,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.13235967953999836,
+ "csv_write_time_avg": 6.588300069173177e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:35:53.162655",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.036577701568604,
+ "points_saved": 30,
+ "points_rate": 2.9890666810970177,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.1144386370976766,
+ "csv_write_time_avg": 6.564458211263021e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:36:03.210961",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.04830527305603,
+ "points_saved": 29,
+ "points_rate": 2.8860588140929475,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.09946414520000589,
+ "csv_write_time_avg": 1.2274446158573546e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:36:13.254712",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.043240308761597,
+ "points_saved": 30,
+ "points_rate": 2.987083757602452,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03963555494944255,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:36:23.272971",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.018769979476929,
+ "points_saved": 30,
+ "points_rate": 2.9943795557193016,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.043033536275227866,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:36:33.293711",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.020740032196045,
+ "points_saved": 30,
+ "points_rate": 2.9937908681007364,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.6,
+ "cpu_max": 0.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036345442136128746,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:36:43.311444",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.017732620239258,
+ "points_saved": 30,
+ "points_rate": 2.9946896306046047,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03540658156077067,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:36:53.329571",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.018127202987671,
+ "points_saved": 30,
+ "points_rate": 2.994571679131126,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.032773065567016604,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:37:03.350581",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02100944519043,
+ "points_saved": 30,
+ "points_rate": 2.9937103805843095,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.043904654184977215,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:37:13.370459",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019877910614014,
+ "points_saved": 30,
+ "points_rate": 2.9940484572392974,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03875761826833089,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:37:23.390930",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020472049713135,
+ "points_saved": 30,
+ "points_rate": 2.9938709325434263,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03074795405069987,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:37:33.409733",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.018802404403687,
+ "points_saved": 30,
+ "points_rate": 2.9943698646869943,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04058655897776286,
+ "csv_write_time_avg": 1.708666483561198e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:37:43.428250",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.018517255783081,
+ "points_saved": 30,
+ "points_rate": 2.9944550909150576,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03772562344868978,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:37:53.449522",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021271705627441,
+ "points_saved": 30,
+ "points_rate": 2.9936320340614566,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03675090471903483,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:38:03.467858",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.018335819244385,
+ "points_saved": 30,
+ "points_rate": 2.994509321834921,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.040726105372111,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:38:13.486386",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.018528461456299,
+ "points_saved": 30,
+ "points_rate": 2.994451741632242,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03310688336690267,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:38:23.505944",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.01955795288086,
+ "points_saved": 30,
+ "points_rate": 2.994144067141634,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03642265796661377,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:38:33.525492",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019547700881958,
+ "points_saved": 30,
+ "points_rate": 2.994147130749154,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033480532964070636,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:38:43.544947",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.018949270248413,
+ "points_saved": 30,
+ "points_rate": 2.994325970796753,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.040233278274536134,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:38:53.588170",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.043729305267334,
+ "points_saved": 30,
+ "points_rate": 2.9869383262118383,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.037836742401123044,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:39:03.607834",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.01866340637207,
+ "points_saved": 30,
+ "points_rate": 2.9944114083041655,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03644898732503255,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:39:13.630424",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.023590564727783,
+ "points_saved": 30,
+ "points_rate": 2.992939486731193,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03657260735829671,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:39:23.652500",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022075891494751,
+ "points_saved": 30,
+ "points_rate": 2.993391820696503,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04137861728668213,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:39:33.682424",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.029923677444458,
+ "points_saved": 30,
+ "points_rate": 2.991049679417277,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0539078156153361,
+ "csv_write_time_avg": 5.316734313964844e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:39:43.701668",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019243717193604,
+ "points_saved": 30,
+ "points_rate": 2.9942379731234863,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04460628032684326,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:39:53.724194",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022526264190674,
+ "points_saved": 30,
+ "points_rate": 2.9932573095055415,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04598451455434163,
+ "csv_write_time_avg": 2.312660217285156e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:40:03.743245",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.01905083656311,
+ "points_saved": 30,
+ "points_rate": 2.9942956163591106,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.038534808158874514,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:40:13.767760",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.02451491355896,
+ "points_saved": 30,
+ "points_rate": 2.992663511271014,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033528621991475424,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:40:23.796043",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02828311920166,
+ "points_saved": 30,
+ "points_rate": 2.991538994601926,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03602211475372315,
+ "csv_write_time_avg": 6.246566772460937e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:40:33.817235",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.0211923122406,
+ "points_saved": 30,
+ "points_rate": 2.9936557512578474,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03512619336446126,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:40:43.837641",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.020405769348145,
+ "points_saved": 30,
+ "points_rate": 2.99389073561954,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03333298365275065,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:40:53.864960",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.02630352973938,
+ "points_saved": 30,
+ "points_rate": 2.992129642895402,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.038695693016052246,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:41:03.888778",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.024833679199219,
+ "points_saved": 30,
+ "points_rate": 2.992568351757073,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03576229413350423,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:41:13.907179",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.018401384353638,
+ "points_saved": 30,
+ "points_rate": 2.994489724363896,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036200483640034996,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:41:23.929127",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.021947860717773,
+ "points_saved": 30,
+ "points_rate": 2.993430061394412,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034483909606933594,
+ "csv_write_time_avg": 3.332297007242839e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:41:33.948694",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019566297531128,
+ "points_saved": 31,
+ "points_rate": 3.0939462926293086,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036834001541137695,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:41:43.967867",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019173622131348,
+ "points_saved": 29,
+ "points_rate": 2.894450290385418,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03802465570384059,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:41:53.987546",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019679307937622,
+ "points_saved": 31,
+ "points_rate": 3.093911396489676,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.037705559884348226,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:42:04.017110",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.029563665390015,
+ "points_saved": 30,
+ "points_rate": 2.991157043403982,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.6,
+ "cpu_max": 0.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03261450926462809,
+ "csv_write_time_avg": 0.0001861572265625
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:42:14.051628",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.034517526626587,
+ "points_saved": 30,
+ "points_rate": 2.9896803628470443,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03505815664927165,
+ "csv_write_time_avg": 2.3523966471354168e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:42:24.074615",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.022987127304077,
+ "points_saved": 30,
+ "points_rate": 2.9931196776932527,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03995765844980876,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:42:34.105791",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.031176567077637,
+ "points_saved": 30,
+ "points_rate": 2.9906760986004497,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03671567440032959,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:42:44.125526",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.019734621047974,
+ "points_saved": 30,
+ "points_rate": 2.9940912743318018,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.6,
+ "cpu_max": 0.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03370640277862549,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:42:54.147451",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.02192497253418,
+ "points_saved": 30,
+ "points_rate": 2.9934368978232424,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.8,
+ "cpu_max": 0.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03480325539906819,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:43:04.168635",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.020179986953735,
+ "points_saved": 30,
+ "points_rate": 2.9939581962659325,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.8,
+ "cpu_max": 0.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033075324694315594,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:43:14.211417",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.043785810470581,
+ "points_saved": 30,
+ "points_rate": 2.9869215220345695,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03348086675008138,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:43:24.264286",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.05286955833435,
+ "points_saved": 30,
+ "points_rate": 2.9842225471958344,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.8,
+ "cpu_max": 0.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03486417929331462,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:43:34.294862",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.03057599067688,
+ "points_saved": 30,
+ "points_rate": 2.990855164038845,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.037721689542134604,
+ "csv_write_time_avg": 8.074442545572917e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:43:44.317575",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.022712707519531,
+ "points_saved": 30,
+ "points_rate": 2.9932016286860668,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03777104218800863,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:43:54.338864",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.021288871765137,
+ "points_saved": 30,
+ "points_rate": 2.9936269060684046,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.6,
+ "cpu_max": 0.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03858914375305176,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:44:04.367668",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.028803825378418,
+ "points_saved": 30,
+ "points_rate": 2.991383670710899,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033110372225443524,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:44:14.387856",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.020187616348267,
+ "points_saved": 30,
+ "points_rate": 2.9939559166590866,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03545501232147217,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:44:24.413348",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.025492906570435,
+ "points_saved": 30,
+ "points_rate": 2.9923715751011923,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.038822444279988606,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:44:34.434651",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.021303176879883,
+ "points_saved": 30,
+ "points_rate": 2.9936226327542816,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03907454013824463,
+ "csv_write_time_avg": 2.1378199259440104e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:44:44.456535",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.021883726119995,
+ "points_saved": 30,
+ "points_rate": 2.9934492177165377,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.038679075241088864,
+ "csv_write_time_avg": 3.41494878133138e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:44:54.487457",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.030921697616577,
+ "points_saved": 30,
+ "points_rate": 2.9907520868324817,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03588964939117432,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:45:04.512931",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.025474309921265,
+ "points_saved": 30,
+ "points_rate": 2.992377125769684,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03285581270853678,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:45:14.533861",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02092957496643,
+ "points_saved": 30,
+ "points_rate": 2.993734241476345,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034104410807291666,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:45:24.552954",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.01909351348877,
+ "points_saved": 30,
+ "points_rate": 2.994282861978562,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04114320278167725,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:45:34.574416",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021461963653564,
+ "points_saved": 30,
+ "points_rate": 2.9935751997867963,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03865260283152262,
+ "csv_write_time_avg": 2.1139780680338543e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:45:44.602132",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.027715682983398,
+ "points_saved": 30,
+ "points_rate": 2.991708276183848,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035773030916849774,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:45:54.648955",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.046823501586914,
+ "points_saved": 30,
+ "points_rate": 2.9860184161950736,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04938198725382487,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:46:04.675742",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.026786804199219,
+ "points_saved": 30,
+ "points_rate": 2.991985427219416,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.05026083787282308,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:46:14.699188",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.023446083068848,
+ "points_saved": 30,
+ "points_rate": 2.99298262806787,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04142306645711263,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:46:24.728657",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02946925163269,
+ "points_saved": 30,
+ "points_rate": 2.9911852010629896,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034744095802307126,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:46:34.763352",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.034694910049438,
+ "points_saved": 30,
+ "points_rate": 2.989627514231242,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03623064359029134,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:46:44.798418",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.035065650939941,
+ "points_saved": 30,
+ "points_rate": 2.9895170638161224,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03550455570220947,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:46:54.833445",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.035026550292969,
+ "points_saved": 30,
+ "points_rate": 2.989528712220912,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03584007422129313,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:47:04.863273",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.029828548431396,
+ "points_saved": 30,
+ "points_rate": 2.9910780483572488,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.6,
+ "cpu_max": 0.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033046849568684894,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:47:14.888002",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.02372694015503,
+ "points_saved": 30,
+ "points_rate": 2.9928987670065177,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.8,
+ "cpu_max": 0.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.052537735303243,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:47:24.929998",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.04299807548523,
+ "points_saved": 30,
+ "points_rate": 2.987155804921385,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.6,
+ "cpu_max": 0.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03631941477457682,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:47:34.952176",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 1 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.022178173065186,
+ "points_saved": 29,
+ "points_rate": 2.893582562515014,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 1,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.41257500648498535,
+ "delay_max": 0.41257500648498535,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.11003260776914399,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:47:44.972177",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.020000696182251,
+ "points_saved": 30,
+ "points_rate": 2.9940117680261626,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0358401616414388,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:47:54.991660",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019483089447021,
+ "points_saved": 31,
+ "points_rate": 3.0939719867036475,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03440387787357453,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:48:05.013586",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.021925926208496,
+ "points_saved": 30,
+ "points_rate": 2.9934366129714176,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03831257820129395,
+ "csv_write_time_avg": 2.288818359375e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:48:15.034004",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.02041745185852,
+ "points_saved": 29,
+ "points_rate": 2.894091003625929,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03531730586084826,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:48:25.054188",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.01968002319336,
+ "points_saved": 30,
+ "points_rate": 2.994107589319877,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.029297367731730143,
+ "csv_write_time_avg": 3.455479939778646e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:48:35.073444",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019760131835938,
+ "points_saved": 31,
+ "points_rate": 3.093886439606795,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.029540261914653164,
+ "csv_write_time_avg": 2.6841317453692036e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:48:45.093224",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019780158996582,
+ "points_saved": 29,
+ "points_rate": 2.894275077877973,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03299535554030846,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:48:55.114322",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021098613739014,
+ "points_saved": 30,
+ "points_rate": 2.9936837423064313,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034754101435343424,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:49:05.134332",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020009517669678,
+ "points_saved": 30,
+ "points_rate": 2.9940091321367333,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034403173128763835,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:49:15.157282",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022950410842896,
+ "points_saved": 30,
+ "points_rate": 2.9931306422054926,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.038344653447469075,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:49:25.181671",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.024388790130615,
+ "points_saved": 30,
+ "points_rate": 2.9927011639389045,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03300506273905436,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:49:35.206930",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.025259256362915,
+ "points_saved": 30,
+ "points_rate": 2.99244131576541,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.031709758440653484,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:49:45.227900",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020969867706299,
+ "points_saved": 30,
+ "points_rate": 2.9937222041429714,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03466165860493978,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:49:55.248124",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020223617553711,
+ "points_saved": 30,
+ "points_rate": 2.9939451598111195,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03512241045633952,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:50:05.270903",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02277946472168,
+ "points_saved": 30,
+ "points_rate": 2.993181692323414,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.029123560587565104,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:50:15.291526",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020622253417969,
+ "points_saved": 30,
+ "points_rate": 2.993826056038306,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03510467211405436,
+ "csv_write_time_avg": 2.3365020751953127e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:50:25.312097",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020571231842041,
+ "points_saved": 30,
+ "points_rate": 2.9938412996526567,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.039731621742248535,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:50:35.333477",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021379947662354,
+ "points_saved": 30,
+ "points_rate": 2.993599699510243,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.032850217819213864,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:50:45.353137",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019142866134644,
+ "points_saved": 30,
+ "points_rate": 2.99426811263486,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03189492225646973,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:50:55.374469",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021849870681763,
+ "points_saved": 30,
+ "points_rate": 2.9934593300746752,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03440151214599609,
+ "csv_write_time_avg": 1.6768773396809896e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:51:05.394087",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019617795944214,
+ "points_saved": 30,
+ "points_rate": 2.9941261843484224,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.032616837819417314,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:51:15.416248",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02014970779419,
+ "points_saved": 30,
+ "points_rate": 2.9939672434898306,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03851320743560791,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:51:25.437974",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.023736476898193,
+ "points_saved": 30,
+ "points_rate": 2.992895919514774,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03566768169403076,
+ "csv_write_time_avg": 2.368291219075521e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:51:35.464980",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.027006149291992,
+ "points_saved": 30,
+ "points_rate": 2.9919199762451827,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03494581381479899,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:51:45.485106",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020126104354858,
+ "points_saved": 30,
+ "points_rate": 2.993974296088117,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03350958029429118,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:51:55.505125",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020019769668579,
+ "points_saved": 30,
+ "points_rate": 2.9940060688116064,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034443116188049315,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:52:05.524794",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019668579101562,
+ "points_saved": 30,
+ "points_rate": 2.9941110090779093,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03295203049977621,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:52:15.545170",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020376205444336,
+ "points_saved": 30,
+ "points_rate": 2.9938995687307832,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033940331141153975,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:52:25.564830",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019659519195557,
+ "points_saved": 30,
+ "points_rate": 2.9941137163918916,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.037054944038391116,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:52:35.584368",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019538640975952,
+ "points_saved": 30,
+ "points_rate": 2.99414983812846,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03233649730682373,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:52:45.610525",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.026156425476074,
+ "points_saved": 30,
+ "points_rate": 2.992173543569614,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03598020076751709,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:52:55.629308",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.018783569335938,
+ "points_saved": 30,
+ "points_rate": 2.9943754940290073,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03388658364613851,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:53:05.649137",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.01982855796814,
+ "points_saved": 30,
+ "points_rate": 2.9940632044190902,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03389056523640951,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:53:15.668682",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019544839859009,
+ "points_saved": 30,
+ "points_rate": 2.9941479857105113,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03094977537790934,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:53:25.688836",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020153760910034,
+ "points_saved": 30,
+ "points_rate": 2.9939660324409423,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03297783533732097,
+ "csv_write_time_avg": 1.970926920572917e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:53:35.712949",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.024113416671753,
+ "points_saved": 30,
+ "points_rate": 2.9927833767428305,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03977081775665283,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:53:45.734533",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021584272384644,
+ "points_saved": 30,
+ "points_rate": 2.993538664606916,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03817342122395833,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:53:55.754872",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020339012145996,
+ "points_saved": 30,
+ "points_rate": 2.9939106814286394,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04898201624552409,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:54:05.774858",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019985675811768,
+ "points_saved": 30,
+ "points_rate": 2.9940162561728965,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.048808534940083824,
+ "csv_write_time_avg": 3.910064697265625e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:54:15.794000",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019142389297485,
+ "points_saved": 30,
+ "points_rate": 2.994268255139901,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.047912915547688804,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:54:25.813871",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019870519638062,
+ "points_saved": 30,
+ "points_rate": 2.9940506657448966,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04157432715098063,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:54:35.834033",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020162343978882,
+ "points_saved": 30,
+ "points_rate": 2.99396346787006,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036922852198282875,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:54:45.854550",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020516872406006,
+ "points_saved": 30,
+ "points_rate": 2.9938575406836034,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03728023370107015,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:54:55.876560",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.022009372711182,
+ "points_saved": 30,
+ "points_rate": 2.9934116886466566,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03241578737894694,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:55:05.895902",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.01934266090393,
+ "points_saved": 30,
+ "points_rate": 2.9942084042161548,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03446401755015056,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:55:15.916486",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.020583152770996,
+ "points_saved": 30,
+ "points_rate": 2.9938377380466212,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033979241053263345,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:55:25.936216",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019730567932129,
+ "points_saved": 30,
+ "points_rate": 2.994092485482012,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033030064900716145,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:55:35.957144",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020928382873535,
+ "points_saved": 30,
+ "points_rate": 2.993734597611943,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03712433179219564,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:55:45.986469",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.029324293136597,
+ "points_saved": 30,
+ "points_rate": 2.9912284340561217,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03613278071085612,
+ "csv_write_time_avg": 2.0742416381835936e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:55:56.008570",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022101879119873,
+ "points_saved": 30,
+ "points_rate": 2.993384058737443,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03555033206939697,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:56:06.030073",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02150297164917,
+ "points_saved": 31,
+ "points_rate": 3.093348381744634,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03062953487519295,
+ "csv_write_time_avg": 3.219419910061744e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:56:16.050557",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020483255386353,
+ "points_saved": 30,
+ "points_rate": 2.993867584567239,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.031682276725769044,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:56:26.070889",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 28 points saved, 1 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020332336425781,
+ "points_saved": 28,
+ "points_rate": 2.7943184976225552,
+ "variables_saved": 56,
+ "udp_points_sent": 0,
+ "points_lost": 1,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.4320363998413086,
+ "delay_max": 0.4320363998413086,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.10605038915361677,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:56:36.097110",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02622103691101,
+ "points_saved": 31,
+ "points_rate": 3.09189273664276,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.043794616576164,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:56:46.117953",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020843267440796,
+ "points_saved": 30,
+ "points_rate": 2.993760025912634,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03613253434499105,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:56:56.139877",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021923780441284,
+ "points_saved": 30,
+ "points_rate": 2.9934372538880996,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03974302609761556,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:57:06.160715",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020838022232056,
+ "points_saved": 30,
+ "points_rate": 2.993761592936891,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03577961921691895,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:57:16.181474",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020759344100952,
+ "points_saved": 30,
+ "points_rate": 2.9937850984975984,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033437617619832355,
+ "csv_write_time_avg": 5.690256754557292e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:57:26.206479",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.024627447128296,
+ "points_saved": 30,
+ "points_rate": 2.9926299164956944,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03578271865844727,
+ "csv_write_time_avg": 2.6543935139973957e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:57:36.227130",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02102780342102,
+ "points_saved": 30,
+ "points_rate": 2.9937048961942283,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03529698848724365,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:57:46.248541",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021411180496216,
+ "points_saved": 30,
+ "points_rate": 2.9935903696264194,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03299981753031413,
+ "csv_write_time_avg": 2.193450927734375e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:57:56.269261",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.0207200050354,
+ "points_saved": 30,
+ "points_rate": 2.9937968514163686,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.043124961853027347,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:58:06.290143",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.020881652832031,
+ "points_saved": 30,
+ "points_rate": 2.9937485581941394,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03852230707804362,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:58:16.310985",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020842790603638,
+ "points_saved": 30,
+ "points_rate": 2.9937601683693167,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03576955000559489,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:58:26.331742",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 2.8% CPU",
+ "details": {
+ "duration": 10.020756483078003,
+ "points_saved": 30,
+ "points_rate": 2.9937859532522157,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 2.8,
+ "cpu_max": 2.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03851509094238281,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:58:36.352594",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.020852088928223,
+ "points_saved": 30,
+ "points_rate": 2.993757390466447,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04075197378794352,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:58:46.374483",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021888732910156,
+ "points_saved": 30,
+ "points_rate": 2.9934477222327533,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03648757139841716,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:58:56.430723",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.047770738601685,
+ "points_saved": 30,
+ "points_rate": 2.9857369142336743,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03797228336334228,
+ "csv_write_time_avg": 0.0005204041798909505
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:59:06.588973",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 6.1% CPU",
+ "details": {
+ "duration": 10.166719436645508,
+ "points_saved": 31,
+ "points_rate": 3.049164501211848,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 6.1,
+ "cpu_max": 6.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03940090825480799,
+ "csv_write_time_avg": 0.00020283268344017767
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:59:16.609731",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 2.7% CPU",
+ "details": {
+ "duration": 10.020758152008057,
+ "points_saved": 30,
+ "points_rate": 2.9937854546452964,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 2.7,
+ "cpu_max": 2.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03148477872212728,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:59:26.634341",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.024610042572021,
+ "points_saved": 30,
+ "points_rate": 2.9926351122485038,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034551318486531576,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:59:36.654175",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 2.7% CPU",
+ "details": {
+ "duration": 10.019834280014038,
+ "points_saved": 30,
+ "points_rate": 2.994061494593698,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 2.7,
+ "cpu_max": 2.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03190950552622477,
+ "csv_write_time_avg": 4.172325134277344e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:59:46.675148",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02097225189209,
+ "points_saved": 30,
+ "points_rate": 2.9937214918777575,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0309370756149292,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T18:59:56.695162",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020014524459839,
+ "points_saved": 30,
+ "points_rate": 2.9940076360934462,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03550891081492106,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:00:06.714877",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.019715309143066,
+ "points_saved": 30,
+ "points_rate": 2.9940970451151214,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03322467803955078,
+ "csv_write_time_avg": 0.00016694068908691407
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:00:16.736236",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020806789398193,
+ "points_saved": 30,
+ "points_rate": 2.9937709238880226,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03781743049621582,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:00:26.756561",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02087688446045,
+ "points_saved": 30,
+ "points_rate": 2.993749982750664,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0328164021174113,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:00:36.777152",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020590543746948,
+ "points_saved": 30,
+ "points_rate": 2.993835529855135,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03114332358042399,
+ "csv_write_time_avg": 1.700719197591146e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:00:46.814337",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.037185668945312,
+ "points_saved": 30,
+ "points_rate": 2.988885628849022,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.032117398579915364,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:00:56.834361",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020024061203003,
+ "points_saved": 30,
+ "points_rate": 2.9940047864913213,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033533056577046715,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:01:06.854522",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020160913467407,
+ "points_saved": 30,
+ "points_rate": 2.993963895298235,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034093403816223146,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:01:16.877161",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022639274597168,
+ "points_saved": 30,
+ "points_rate": 2.9932235589917275,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03848221302032471,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:01:26.897689",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020527601242065,
+ "points_saved": 29,
+ "points_rate": 2.8940591906962454,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.031914702777204845,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:01:36.918657",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020967721939087,
+ "points_saved": 31,
+ "points_rate": 3.0935136066880182,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.037901286155946796,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:01:46.939202",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020545244216919,
+ "points_saved": 30,
+ "points_rate": 2.993849063983187,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03715606530507406,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:01:56.960640",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.021437644958496,
+ "points_saved": 30,
+ "points_rate": 2.993582464197855,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04491612911224365,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:02:06.981696",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.021056175231934,
+ "points_saved": 30,
+ "points_rate": 2.9936964203581726,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04442189534505208,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:02:17.002084",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020388126373291,
+ "points_saved": 30,
+ "points_rate": 2.9938960069861076,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0393158753712972,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:02:27.022752",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020668029785156,
+ "points_saved": 30,
+ "points_rate": 2.993812379656609,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03751126130421956,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:02:37.043657",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.020905256271362,
+ "points_saved": 30,
+ "points_rate": 2.9937415066593074,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.031386192639668783,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:02:47.064678",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.021021127700806,
+ "points_saved": 30,
+ "points_rate": 2.993706890515569,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033611567815144856,
+ "csv_write_time_avg": 2.312660217285156e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:02:57.087754",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.023075580596924,
+ "points_saved": 29,
+ "points_rate": 2.8933234880658163,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03861010485681994,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:03:07.110321",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.0225670337677,
+ "points_saved": 31,
+ "points_rate": 3.093019971386156,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03432297706604004,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:03:17.130788",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020466804504395,
+ "points_saved": 29,
+ "points_rate": 2.8940767496943294,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033310997075047984,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:03:27.155338",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.024550199508667,
+ "points_saved": 30,
+ "points_rate": 2.992652977234868,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03500888347625732,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:03:37.177008",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021669864654541,
+ "points_saved": 30,
+ "points_rate": 2.993513097633269,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034986408551534016,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:03:47.197954",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020946502685547,
+ "points_saved": 30,
+ "points_rate": 2.9937291843600002,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03249054749806722,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:03:57.217783",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.01982831954956,
+ "points_saved": 30,
+ "points_rate": 2.9940632756618575,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.030095895131429035,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:04:07.240073",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022290468215942,
+ "points_saved": 30,
+ "points_rate": 2.9933277323322547,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03070220152537028,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:04:17.261239",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021165370941162,
+ "points_saved": 30,
+ "points_rate": 2.993663799521001,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03193457921346029,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:04:27.281917",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020678997039795,
+ "points_saved": 30,
+ "points_rate": 2.9938091030420484,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03259256680806478,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:04:37.303157",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021239280700684,
+ "points_saved": 30,
+ "points_rate": 2.9936417203184877,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03485626379648844,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:04:47.334407",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.031249523162842,
+ "points_saved": 30,
+ "points_rate": 2.990654347768735,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03610609372456868,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:04:57.354676",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020270109176636,
+ "points_saved": 30,
+ "points_rate": 2.993931268631749,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03593323230743408,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:05:07.378536",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02385950088501,
+ "points_saved": 30,
+ "points_rate": 2.9928591873570545,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03813507556915283,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:05:17.400752",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.022215604782104,
+ "points_saved": 30,
+ "points_rate": 2.9933500917387454,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.039050356547037764,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:05:27.422296",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 3.3% CPU",
+ "details": {
+ "duration": 10.021544218063354,
+ "points_saved": 30,
+ "points_rate": 2.9935506292459833,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 3.3,
+ "cpu_max": 3.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03380410671234131,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:05:37.446453",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 3.1% CPU",
+ "details": {
+ "duration": 10.024157047271729,
+ "points_saved": 30,
+ "points_rate": 2.9927703505169134,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 3.1,
+ "cpu_max": 3.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03564720153808594,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:05:47.468626",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022172927856445,
+ "points_saved": 30,
+ "points_rate": 2.9933628381741,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03933227062225342,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:05:57.490174",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 3.6% CPU",
+ "details": {
+ "duration": 10.0215482711792,
+ "points_saved": 30,
+ "points_rate": 2.9935494185341094,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 3.6,
+ "cpu_max": 3.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03921828269958496,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:06:07.512057",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.0218825340271,
+ "points_saved": 30,
+ "points_rate": 2.993449573784326,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03546323776245117,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:06:17.533416",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02135968208313,
+ "points_saved": 30,
+ "points_rate": 2.993605753282765,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.037067755063374834,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:06:27.553955",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020539045333862,
+ "points_saved": 30,
+ "points_rate": 2.9938509160312807,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033951155344645184,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:06:37.574347",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020391941070557,
+ "points_saved": 30,
+ "points_rate": 2.993894867229601,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03655114968617757,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:06:47.595688",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.021340131759644,
+ "points_saved": 30,
+ "points_rate": 2.9936115934159306,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03788173198699951,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:06:57.617216",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021528959274292,
+ "points_saved": 30,
+ "points_rate": 2.9935551872288806,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03531761964162191,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:07:07.636853",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.019636154174805,
+ "points_saved": 30,
+ "points_rate": 2.994120698434756,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035181252161661784,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:07:17.658034",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021181344985962,
+ "points_saved": 30,
+ "points_rate": 2.9936590275367405,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0345853328704834,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:07:23.379972",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-16T19:07:25.402770",
+ "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-16T19:07:25.422494",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-16T19:07:25.710292",
+ "level": "info",
+ "event_type": "dataset_deactivated",
+ "message": "Dataset deactivated: DAR",
+ "details": {
+ "dataset_id": "DAR"
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:07:25.810714",
+ "level": "info",
+ "event_type": "dataset_deactivated",
+ "message": "Dataset deactivated: Fast",
+ "details": {
+ "dataset_id": "Fast"
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:07:25.831696",
+ "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-16T19:07:30.852044",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-16T19:07:30.931530",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 2,
+ "streaming_count": 2,
+ "prefix": "gateway_phoenix"
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:07:30.953384",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: Fast",
+ "details": {
+ "dataset_id": "Fast",
+ "variables_count": 2,
+ "streaming_count": 2,
+ "prefix": "fast"
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:07:30.974385",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY and performance monitoring: 2 datasets activated",
+ "details": {
+ "activated_datasets": 2,
+ "total_datasets": 3,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:07:40.932301",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 11.087032079696655,
+ "points_saved": 30,
+ "points_rate": 2.705863912393479,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04784541130065918,
+ "csv_write_time_avg": 0.0005331118901570638
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:07:50.953612",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 1.7% CPU",
+ "details": {
+ "duration": 10.021310806274414,
+ "points_saved": 30,
+ "points_rate": 2.9936203536584043,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.7,
+ "cpu_max": 1.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.11101617018381754,
+ "csv_write_time_avg": 0.0006835699081420898
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:08:01.006526",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 9.5% CPU",
+ "details": {
+ "duration": 10.052913904190063,
+ "points_saved": 30,
+ "points_rate": 2.984209383062156,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 9.5,
+ "cpu_max": 9.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.10393648942311605,
+ "csv_write_time_avg": 1.4011065165201823e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:08:11.047034",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.040508031845093,
+ "points_saved": 29,
+ "points_rate": 2.888300064899288,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.09678150867593699,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:08:21.098417",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.05138373374939,
+ "points_saved": 30,
+ "points_rate": 2.984663683595068,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.11185428301493326,
+ "csv_write_time_avg": 0.0007519006729125976
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:08:31.158087",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 9.3% CPU",
+ "details": {
+ "duration": 10.059126138687134,
+ "points_saved": 30,
+ "points_rate": 2.9823664189497325,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 9.3,
+ "cpu_max": 9.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.12682891686757405,
+ "csv_write_time_avg": 4.315376281738282e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:08:41.208175",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.050631046295166,
+ "points_saved": 30,
+ "points_rate": 2.984887203779957,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.052538673082987465,
+ "csv_write_time_avg": 6.818771362304688e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:08:51.229607",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.021431922912598,
+ "points_saved": 30,
+ "points_rate": 2.993584173476169,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03783650398254394,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:09:01.252257",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.022650480270386,
+ "points_saved": 30,
+ "points_rate": 2.9932202124632683,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04180251757303874,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:09:11.273289",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021031618118286,
+ "points_saved": 30,
+ "points_rate": 2.9937037565832263,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036138145128885905,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:09:21.294974",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.021685123443604,
+ "points_saved": 30,
+ "points_rate": 2.993508539778542,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03387622038523356,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:09:31.315806",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020832061767578,
+ "points_saved": 30,
+ "points_rate": 2.9937633736482647,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03420941034952799,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:09:41.336960",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021154165267944,
+ "points_saved": 30,
+ "points_rate": 2.993667147041427,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0346364418665568,
+ "csv_write_time_avg": 2.4239222208658853e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:09:51.358176",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.021215677261353,
+ "points_saved": 30,
+ "points_rate": 2.9936487713832487,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.032182741165161136,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:10:01.379125",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020949840545654,
+ "points_saved": 30,
+ "points_rate": 2.9937281871841463,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03955988089243571,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:10:11.402968",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.023842334747314,
+ "points_saved": 30,
+ "points_rate": 2.992864312720283,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03396910826365153,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:10:21.426892",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.023923635482788,
+ "points_saved": 30,
+ "points_rate": 2.992840038585858,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04043682416280111,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:10:31.447439",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.020547151565552,
+ "points_saved": 30,
+ "points_rate": 2.9938484941226964,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03308540185292562,
+ "csv_write_time_avg": 3.997484842936198e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:10:41.469666",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02222752571106,
+ "points_saved": 30,
+ "points_rate": 2.9933465313013388,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035635002454121906,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:10:51.492104",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022438049316406,
+ "points_saved": 30,
+ "points_rate": 2.9932836553722764,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035645023981730146,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:11:01.512698",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.020593881607056,
+ "points_saved": 29,
+ "points_rate": 2.8940400481881534,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.09928355545833192,
+ "csv_write_time_avg": 1.5595863605367725e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:11:11.562105",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.0494065284729,
+ "points_saved": 30,
+ "points_rate": 2.985250911583808,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.11558911800384522,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:11:21.608925",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.046819925308228,
+ "points_saved": 29,
+ "points_rate": 2.886485496465222,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.11980490848935883,
+ "csv_write_time_avg": 1.0375318856074891e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:11:31.641962",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.033037185668945,
+ "points_saved": 30,
+ "points_rate": 2.9901214801487623,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.1062915007273356,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:11:41.672410",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 4.2% CPU",
+ "details": {
+ "duration": 10.030447959899902,
+ "points_saved": 30,
+ "points_rate": 2.9908933399520254,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 4.2,
+ "cpu_max": 4.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.10167043209075928,
+ "csv_write_time_avg": 1.5958150227864584e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:11:51.702622",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.03021240234375,
+ "points_saved": 29,
+ "points_rate": 2.891264794474701,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.12335007766197467,
+ "csv_write_time_avg": 5.186837295006062e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:12:01.812010",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 3.6% CPU",
+ "details": {
+ "duration": 10.062845230102539,
+ "points_saved": 30,
+ "points_rate": 2.9812641766819965,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 3.6,
+ "cpu_max": 3.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.13734569549560546,
+ "csv_write_time_avg": 0.006834896405537924
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:12:12.022833",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 27.9% CPU",
+ "details": {
+ "duration": 10.257365465164185,
+ "points_saved": 30,
+ "points_rate": 2.924727611771782,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 27.9,
+ "cpu_max": 27.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.10403913656870524,
+ "csv_write_time_avg": 7.255872090657552e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:12:22.072160",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.049326658248901,
+ "points_saved": 30,
+ "points_rate": 2.9852746378161332,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.1097390333811442,
+ "csv_write_time_avg": 4.177093505859375e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:12:32.128849",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 4.8% CPU",
+ "details": {
+ "duration": 10.056689500808716,
+ "points_saved": 29,
+ "points_rate": 2.8836527166984665,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 4.8,
+ "cpu_max": 4.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.12073146063705971,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:12:42.180414",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.051565170288086,
+ "points_saved": 30,
+ "points_rate": 2.9846098086971042,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.052029935518900554,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:12:52.210836",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 6.7% CPU",
+ "details": {
+ "duration": 10.03042197227478,
+ "points_saved": 30,
+ "points_rate": 2.9909010889993852,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 6.7,
+ "cpu_max": 6.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035839176177978514,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:13:02.233078",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022242069244385,
+ "points_saved": 30,
+ "points_rate": 2.993342187579173,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04259144465128581,
+ "csv_write_time_avg": 3.0835469563802084e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:13:12.255831",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 2.8% CPU",
+ "details": {
+ "duration": 10.022752523422241,
+ "points_saved": 30,
+ "points_rate": 2.9931897380378083,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 2.8,
+ "cpu_max": 2.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03979020913441976,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:13:22.277177",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.0213463306427,
+ "points_saved": 30,
+ "points_rate": 2.9936097416639234,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036008230845133465,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:13:32.298639",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.021461963653564,
+ "points_saved": 30,
+ "points_rate": 2.9935751997867963,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0313589334487915,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:13:42.320854",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.022215366363525,
+ "points_saved": 30,
+ "points_rate": 2.9933501629475803,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036451681454976397,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:13:52.343029",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.022174596786499,
+ "points_saved": 30,
+ "points_rate": 2.993362339708108,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036104957262674965,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:14:02.364890",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021860837936401,
+ "points_saved": 30,
+ "points_rate": 2.9934560542328676,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03544267813364665,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:14:12.387828",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.022937774658203,
+ "points_saved": 30,
+ "points_rate": 2.993134415725039,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.6,
+ "cpu_max": 0.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034711662928263345,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:14:22.419569",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.031741857528687,
+ "points_saved": 30,
+ "points_rate": 2.990507573466457,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03802084922790527,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:14:32.445012",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.025442838668823,
+ "points_saved": 30,
+ "points_rate": 2.992386519255582,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035738531748453775,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:14:42.467801",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.022788763046265,
+ "points_saved": 30,
+ "points_rate": 2.9931789154939734,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03576900164286296,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:14:52.489778",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 1.6% CPU",
+ "details": {
+ "duration": 10.021976947784424,
+ "points_saved": 30,
+ "points_rate": 2.99342137347783,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.6,
+ "cpu_max": 1.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03509997526804606,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:15:02.516858",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.027080297470093,
+ "points_saved": 30,
+ "points_rate": 2.991897851617806,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034346755345662436,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:15:12.542578",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.02571988105774,
+ "points_saved": 30,
+ "points_rate": 2.992303830140018,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03341960112253825,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:15:22.564223",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021644592285156,
+ "points_saved": 30,
+ "points_rate": 2.9935206466106914,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03856631914774577,
+ "csv_write_time_avg": 1.8676122029622395e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:15:32.587374",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02315068244934,
+ "points_saved": 30,
+ "points_rate": 2.9930708367509995,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.07393383979797363,
+ "csv_write_time_avg": 0.0034141381581624347
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:15:42.627091",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 11.4% CPU",
+ "details": {
+ "duration": 10.039717197418213,
+ "points_saved": 30,
+ "points_rate": 2.9881319772348487,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 11.4,
+ "cpu_max": 11.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.13204529285430908,
+ "csv_write_time_avg": 0.002132876714070638
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:15:52.709882",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 29 points saved, 0 lost, 12.8% CPU",
+ "details": {
+ "duration": 10.051823854446411,
+ "points_saved": 29,
+ "points_rate": 2.8850485663029093,
+ "variables_saved": 58,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 12.8,
+ "cpu_max": 12.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.12764191627502441,
+ "csv_write_time_avg": 0.0047072213271568564
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:16:03.272298",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 18.6% CPU",
+ "details": {
+ "duration": 10.545773983001709,
+ "points_saved": 31,
+ "points_rate": 2.939566128571274,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 18.6,
+ "cpu_max": 18.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.12527349687391712,
+ "csv_write_time_avg": 0.006640495792511971
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:16:13.714731",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 31 points saved, 0 lost, 28.5% CPU",
+ "details": {
+ "duration": 10.490042686462402,
+ "points_saved": 31,
+ "points_rate": 2.955183398825067,
+ "variables_saved": 62,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 28.5,
+ "cpu_max": 28.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.17165814676592428,
+ "csv_write_time_avg": 0.010614848905994047
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:16:23.764646",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 14.0% CPU",
+ "details": {
+ "duration": 10.047585248947144,
+ "points_saved": 30,
+ "points_rate": 2.985792034274465,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 14.0,
+ "cpu_max": 14.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.10109870433807373,
+ "csv_write_time_avg": 6.14325205485026e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:16:33.819746",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.057429313659668,
+ "points_saved": 30,
+ "points_rate": 2.98286958470143,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0682836373647054,
+ "csv_write_time_avg": 1.8437703450520833e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:16:43.841807",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.022061109542847,
+ "points_saved": 30,
+ "points_rate": 2.993396235773745,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03508152961730957,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:16:53.865649",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.023842096328735,
+ "points_saved": 30,
+ "points_rate": 2.9928643839060074,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03584434191385905,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:17:03.889184",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.023535013198853,
+ "points_saved": 30,
+ "points_rate": 2.992956073929648,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.6,
+ "cpu_max": 0.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03705562750498454,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:17:13.911783",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.022598505020142,
+ "points_saved": 30,
+ "points_rate": 2.993235734722241,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03309902350107829,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:17:23.933307",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021524906158447,
+ "points_saved": 30,
+ "points_rate": 2.9935563979454205,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0322664737701416,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:17:33.955695",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.022387981414795,
+ "points_saved": 30,
+ "points_rate": 2.9932986086380877,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0366328239440918,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:17:43.979073",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.023377418518066,
+ "points_saved": 30,
+ "points_rate": 2.993003131317331,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034492087364196775,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:17:54.003532",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02445936203003,
+ "points_saved": 30,
+ "points_rate": 2.9926800954106287,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03611936569213867,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:18:04.028119",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02458667755127,
+ "points_saved": 30,
+ "points_rate": 2.992642087397081,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03341340223948161,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:18:14.051374",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.022731304168701,
+ "points_saved": 30,
+ "points_rate": 2.9931960749583557,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.039432740211486815,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:18:24.093772",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.042921304702759,
+ "points_saved": 30,
+ "points_rate": 2.9871786395410687,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.5,
+ "cpu_max": 0.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036375999450683594,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:18:34.116268",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.022496461868286,
+ "points_saved": 30,
+ "points_rate": 2.993266210084321,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03750355243682861,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:18:44.145632",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.028759002685547,
+ "points_saved": 30,
+ "points_rate": 2.991397040448022,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035286386807759605,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:18:54.182567",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.037540197372437,
+ "points_saved": 30,
+ "points_rate": 2.9887800606619948,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0366624116897583,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:19:04.206788",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.024221181869507,
+ "points_saved": 30,
+ "points_rate": 2.99275120288248,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034904193878173825,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:19:14.228686",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.021897315979004,
+ "points_saved": 30,
+ "points_rate": 2.9934451585497417,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.039334623018900554,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:19:24.252233",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.023547649383545,
+ "points_saved": 30,
+ "points_rate": 2.992952300859768,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.2,
+ "cpu_max": 0.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.038429967562357586,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:19:34.277448",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.025214433670044,
+ "points_saved": 30,
+ "points_rate": 2.992454694958336,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03453621069590251,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:19:44.300623",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.023175477981567,
+ "points_saved": 30,
+ "points_rate": 2.993063432432423,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035415784517923994,
+ "csv_write_time_avg": 1.8517176310221354e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:19:54.324301",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.023677349090576,
+ "points_saved": 30,
+ "points_rate": 2.9929135740509274,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.041378331184387204,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:20:04.362004",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.0377037525177,
+ "points_saved": 30,
+ "points_rate": 2.9887313612413866,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.04175265630086263,
+ "csv_write_time_avg": 6.663004557291666e-05
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:20:14.394759",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 4.2% CPU",
+ "details": {
+ "duration": 10.03275465965271,
+ "points_saved": 30,
+ "points_rate": 2.99020568305599,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 4.2,
+ "cpu_max": 4.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.038167627652486165,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:20:24.420594",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.024834394454956,
+ "points_saved": 30,
+ "points_rate": 2.9925681382421563,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0391517957051595,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-16T19:20:34.470446",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 30 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.050852537155151,
+ "points_saved": 30,
+ "points_rate": 2.9848214257545327,
+ "variables_saved": 60,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.8,
+ "cpu_max": 0.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.06537377039591472,
+ "csv_write_time_avg": 0.0
+ }
}
],
- "last_updated": "2025-08-16T18:34:22.923863",
+ "last_updated": "2025-08-16T19:20:34.470446",
"total_entries": 1000
}
\ No newline at end of file
diff --git a/frontend/src/components/ChartjsHistoricalPlot.jsx b/frontend/src/components/ChartjsHistoricalPlot.jsx
index 98c50cc..6db0b53 100644
--- a/frontend/src/components/ChartjsHistoricalPlot.jsx
+++ b/frontend/src/components/ChartjsHistoricalPlot.jsx
@@ -461,12 +461,6 @@ const ChartjsHistoricalPlot = ({
console.log('📊 Zoom/Pan events setup for historical chart');
};
- const resetZoom = useCallback(() => {
- if (chartRef.current && window.Chart.registry.plugins.get('zoom')) {
- chartRef.current.resetZoom();
- }
- }, []);
-
const toggleZoom = useCallback(() => {
setIsZoomEnabled(!isZoomEnabled);
}, [isZoomEnabled]);
@@ -523,17 +517,6 @@ const ChartjsHistoricalPlot = ({
/>
- {isZoomEnabled && (
-
- )}
-
{dataPointsCount.toLocaleString()} data points
{(() => {
diff --git a/frontend/src/components/DataAvailabilityBar.jsx b/frontend/src/components/DataAvailabilityBar.jsx
new file mode 100644
index 0000000..49bdf41
--- /dev/null
+++ b/frontend/src/components/DataAvailabilityBar.jsx
@@ -0,0 +1,107 @@
+import { useMemo } from 'react'
+import { Box, Tooltip, useColorModeValue } from '@chakra-ui/react'
+
+/**
+ * DataAvailabilityBar - Shows data availability segments on a timeline
+ * Used under time selectors to visualize where data exists
+ */
+export default function DataAvailabilityBar({
+ segments = [],
+ minDate,
+ maxDate,
+ height = '8px',
+ showTooltips = true
+}) {
+ // Color mode
+ const bgColor = useColorModeValue('gray.100', 'gray.600')
+ const segmentColor = useColorModeValue('blue.400', 'blue.300')
+ const borderColor = useColorModeValue('gray.300', 'gray.500')
+
+ // Convert segments to visual blocks
+ const visualSegments = useMemo(() => {
+ if (!segments || segments.length === 0 || !minDate || !maxDate) {
+ return []
+ }
+
+ const totalRange = maxDate.getTime() - minDate.getTime()
+ if (totalRange <= 0) return []
+
+ return segments.map((segment, index) => {
+ try {
+ const startTime = new Date(segment.start).getTime()
+ const endTime = new Date(segment.end).getTime()
+
+ // Calculate positions as percentages
+ const leftPercent = Math.max(0, ((startTime - minDate.getTime()) / totalRange) * 100)
+ const rightPercent = Math.min(100, ((endTime - minDate.getTime()) / totalRange) * 100)
+ const widthPercent = Math.max(0.1, rightPercent - leftPercent) // Minimum 0.1% width for visibility
+
+ return {
+ id: `${segment.dataset}-${index}`,
+ dataset: segment.dataset,
+ left: leftPercent,
+ width: widthPercent,
+ start: segment.start,
+ end: segment.end,
+ filesCount: segment.files_count || 0,
+ dateFolder: segment.date_folder || ''
+ }
+ } catch (error) {
+ console.warn('Error processing segment:', segment, error)
+ return null
+ }
+ }).filter(Boolean)
+ }, [segments, minDate, maxDate])
+
+ if (!visualSegments.length) {
+ return (
+
+ {/* Empty state - no data available */}
+
+ )
+ }
+
+ return (
+
+ {visualSegments.map((segment) => (
+
+
+
+ ))}
+
+ )
+}
diff --git a/frontend/src/components/PlotHistoricalSession.jsx b/frontend/src/components/PlotHistoricalSession.jsx
index d752a3b..f61c606 100644
--- a/frontend/src/components/PlotHistoricalSession.jsx
+++ b/frontend/src/components/PlotHistoricalSession.jsx
@@ -48,6 +48,7 @@ import {
import { SettingsIcon, RepeatIcon, ViewIcon, DeleteIcon, TimeIcon, CalendarIcon } from '@chakra-ui/icons'
import ChartjsHistoricalPlot from './ChartjsHistoricalPlot.jsx'
import TimePointSelector from './TimePointSelector.jsx'
+import DataAvailabilityBar from './DataAvailabilityBar.jsx'
import * as api from '../services/api'
/**
@@ -78,6 +79,7 @@ export default function PlotHistoricalSession({
})
const [timeRangeSeconds, setTimeRangeSeconds] = useState(1000) // 500 seg atrás + 500 seg adelante
const [dateRange, setDateRange] = useState(null) // Min/max dates disponibles del backend
+ const [dataSegments, setDataSegments] = useState([]) // Data availability segments
// Debounced state updates for pan/zoom with 1s cooldown
const pendingUpdatesRef = useRef({ centralTime: null, rangeSeconds: null })
@@ -173,6 +175,7 @@ export default function PlotHistoricalSession({
// Load date range from backend on mount
useEffect(() => {
loadDateRange()
+ loadDataSegments()
}, [])
// Load historical data when derived time range changes
@@ -216,6 +219,18 @@ export default function PlotHistoricalSession({
}
}
+ const loadDataSegments = async () => {
+ try {
+ const response = await api.getHistoricalDataSegments()
+ if (response.success) {
+ setDataSegments(response.segments || [])
+ }
+ } catch (error) {
+ console.error('Error loading data segments:', error)
+ // Non-critical error, don't set error state
+ }
+ }
+
// Function to check if a range is contained within another range
const isRangeContained = (newRange, existingRange) => {
if (!existingRange || !newRange) return false
@@ -428,7 +443,7 @@ export default function PlotHistoricalSession({
const formatCentralTimeInfo = () => {
const halfRange = timeRangeSeconds / 2
return {
- central: centralTime.toLocaleString('es-ES', {
+ central: centralTime.toLocaleString('en-US', {
day: '2-digit',
month: '2-digit',
year: 'numeric',
@@ -437,7 +452,7 @@ export default function PlotHistoricalSession({
hour12: false
}),
range: `±${halfRange}s (${timeRangeSeconds}s total)`,
- start: derivedTimeRange.start.toLocaleString('es-ES', {
+ start: derivedTimeRange.start.toLocaleString('en-US', {
day: '2-digit',
month: '2-digit',
year: 'numeric',
@@ -445,7 +460,7 @@ export default function PlotHistoricalSession({
minute: '2-digit',
hour12: false
}),
- end: derivedTimeRange.end.toLocaleString('es-ES', {
+ end: derivedTimeRange.end.toLocaleString('en-US', {
day: '2-digit',
month: '2-digit',
year: 'numeric',
@@ -483,7 +498,7 @@ export default function PlotHistoricalSession({
- Centro: {formatCentralTimeInfo().central}
+ Center: {formatCentralTimeInfo().central}
@@ -572,13 +587,14 @@ export default function PlotHistoricalSession({
maxDate={dateRange.maxDate}
initial={centralTime}
stepMinutes={1}
+ dataSegments={dataSegments}
onTimeChange={handleTimePointChange}
/>
- Rango: {timeRangeSeconds}s
- Desde: {formatCentralTimeInfo().start}
- Hasta: {formatCentralTimeInfo().end}
+ Range: {timeRangeSeconds}s
+ From: {formatCentralTimeInfo().start}
+ To: {formatCentralTimeInfo().end}
diff --git a/frontend/src/components/TimePointSelector.jsx b/frontend/src/components/TimePointSelector.jsx
index 9b3cc54..7e11b8d 100644
--- a/frontend/src/components/TimePointSelector.jsx
+++ b/frontend/src/components/TimePointSelector.jsx
@@ -3,12 +3,14 @@ import { Box, Flex, Text, Slider, SliderTrack, SliderFilledTrack, SliderThumb, B
import { CheckIcon } from "@chakra-ui/icons";
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
+import DataAvailabilityBar from "./DataAvailabilityBar.jsx";
export default function TimePointSelector({
minDate,
maxDate,
initial,
stepMinutes = 5,
+ dataSegments = [],
onTimeChange,
}) {
// Color mode values
@@ -134,7 +136,7 @@ export default function TimePointSelector({
- Seleccionar fecha y hora
+ Select Date and Time
@@ -196,7 +198,7 @@ export default function TimePointSelector({
- Navegar con slider
+ Navigate with slider
{hasPendingChanges && (
-
-
-
-
-
-
+
+ {/* Slider with integrated data availability */}
+
+ {/* Data availability bar positioned above slider track */}
+
+
+
+
+
+
+
+
+
+
+
+
- {new Date(sliderValue).toLocaleString('es-ES', {
+ {new Date(sliderValue).toLocaleString('en-US', {
day: '2-digit',
month: '2-digit',
year: 'numeric',
@@ -235,7 +260,7 @@ export default function TimePointSelector({
{hasPendingChanges && (
- Cambios pendientes
+ Pending changes
)}
@@ -243,21 +268,21 @@ export default function TimePointSelector({
- Rango: {minDate.toLocaleString('es-ES', {
+ Range: {minDate.toLocaleString('en-US', {
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
hour12: false
- })} → {maxDate.toLocaleString('es-ES', {
+ })} → {maxDate.toLocaleString('en-US', {
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
hour12: false
- })} | Paso: {stepMinutes} min
+ })} | Step: {stepMinutes} min
);
diff --git a/frontend/src/services/api.js b/frontend/src/services/api.js
index 2eb56b2..acbca09 100644
--- a/frontend/src/services/api.js
+++ b/frontend/src/services/api.js
@@ -237,6 +237,14 @@ export async function getHistoricalDateRange() {
return toJsonOrThrow(res)
}
+// Get data availability segments for visualization
+export async function getHistoricalDataSegments() {
+ const res = await fetch(`${BASE_URL}/api/plots/historical/data-segments`, {
+ headers: { 'Accept': 'application/json' }
+ })
+ return toJsonOrThrow(res)
+}
+
// Plot session status and control (aliases for existing functions)
export async function getPlotSession(sessionId) {
// Use existing getPlotConfig to get session info
diff --git a/main.py b/main.py
index 8e5752d..ab95c9b 100644
--- a/main.py
+++ b/main.py
@@ -2382,6 +2382,128 @@ def get_historical_date_range():
}), 500
+@app.route("/api/plots/historical/data-segments", methods=["GET"])
+def get_historical_data_segments():
+ """Get data availability segments for visualization"""
+ try:
+ import glob
+
+ records_dir = os.path.join(os.path.dirname(__file__), "records")
+
+ if not os.path.exists(records_dir):
+ return jsonify({
+ "success": False,
+ "error": "No records directory found"
+ }), 404
+
+ segments = []
+
+ # Find all date folders (format: DD-MM-YYYY)
+ date_folders = []
+ for item in os.listdir(records_dir):
+ folder_path = os.path.join(records_dir, item)
+ if os.path.isdir(folder_path):
+ try:
+ # Try to parse the folder name as a date
+ date_obj = datetime.strptime(item, "%d-%m-%Y")
+ date_folders.append((date_obj, folder_path))
+ except ValueError:
+ continue
+
+ # Sort by date
+ date_folders.sort(key=lambda x: x[0])
+
+ # For each date folder, find file segments
+ for date_obj, folder_path in date_folders:
+ csv_files = glob.glob(os.path.join(folder_path, "*.csv"))
+
+ # Group files by dataset name (prefix before _XX.csv)
+ dataset_files = {}
+ for csv_file in csv_files:
+ filename = os.path.basename(csv_file)
+ if '_' in filename:
+ # Extract dataset name (e.g., "fast" from "fast_00.csv")
+ dataset_name = filename.split('_')[0]
+ if dataset_name not in dataset_files:
+ dataset_files[dataset_name] = []
+ dataset_files[dataset_name].append(csv_file)
+
+ # For each dataset, create segments based on file sequence
+ for dataset_name, files in dataset_files.items():
+ # Sort files by sequence number
+ files.sort()
+
+ if not files:
+ continue
+
+ try:
+ # Get time range from first and last file quickly
+ # Read only first few lines of first file and last few lines of last file
+ first_file = files[0]
+ last_file = files[-1]
+
+ # Quick read of timestamps from file headers/footers
+ start_time = None
+ end_time = None
+
+ # Read first file's start time
+ with open(first_file, 'r', encoding='utf-8-sig') as f:
+ lines = f.readlines()
+ if len(lines) > 1: # Skip header
+ first_data_line = lines[1].strip()
+ if first_data_line and ',' in first_data_line:
+ timestamp_str = first_data_line.split(',')[0]
+ try:
+ start_time = datetime.fromisoformat(timestamp_str.replace('Z', '+00:00'))
+ if start_time.tzinfo:
+ start_time = start_time.replace(tzinfo=None)
+ except:
+ continue
+
+ # Read last file's end time
+ with open(last_file, 'r', encoding='utf-8-sig') as f:
+ lines = f.readlines()
+ # Find last non-empty line with data
+ for line in reversed(lines):
+ line = line.strip()
+ if line and ',' in line and not line.startswith('timestamp'):
+ timestamp_str = line.split(',')[0]
+ try:
+ end_time = datetime.fromisoformat(timestamp_str.replace('Z', '+00:00'))
+ if end_time.tzinfo:
+ end_time = end_time.replace(tzinfo=None)
+ break
+ except:
+ continue
+
+ if start_time and end_time:
+ segments.append({
+ "dataset": dataset_name,
+ "start": start_time.isoformat(),
+ "end": end_time.isoformat(),
+ "files_count": len(files),
+ "date_folder": date_obj.strftime("%d-%m-%Y")
+ })
+
+ except Exception as e:
+ # Skip problematic files, don't break the entire response
+ backend_logger.warning(f"Error processing dataset {dataset_name} in {folder_path}: {e}")
+ continue
+
+ return jsonify({
+ "success": True,
+ "segments": segments,
+ "total_segments": len(segments)
+ })
+
+ except Exception as e:
+ backend_logger.error(f"Error getting data segments: {e}")
+ return jsonify({
+ "success": False,
+ "error": str(e)
+ }), 500
+
+
@app.route("/api/plots/sessions/", methods=["GET"])
def get_plot_sessions(plot_id):
"""Get all session IDs for a specific plot ID"""
diff --git a/system_state.json b/system_state.json
index 6a4f67a..c519ed0 100644
--- a/system_state.json
+++ b/system_state.json
@@ -4,10 +4,11 @@
"should_stream": false,
"active_datasets": [
"DAR",
- "Fast"
+ "Fast",
+ "Test"
]
},
"auto_recovery_enabled": true,
- "last_update": "2025-08-16T18:34:19.713675",
+ "last_update": "2025-08-16T19:07:34.585967",
"plotjuggler_path": "C:\\Program Files\\PlotJuggler\\plotjuggler.exe"
}
\ No newline at end of file