diff --git a/application_events.json b/application_events.json index 0801e8a..571e8d3 100644 --- a/application_events.json +++ b/application_events.json @@ -1,1999 +1,5 @@ { "events": [ - { - "timestamp": "2025-08-15T00:35:28.768130", - "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:39.619619", - "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:40:08.431291", - "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:40:14.468124", - "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:40:41.861858", - "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:40:45.084903", - "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:40:49.549459", - "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:41:19.890329", - "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": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:41:32.191310", - "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": 3600, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:46:30.290892", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-15T00:46:30.340169", - "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:46:30.349167", - "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:46:30.355834", - "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:49:03.086267", - "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": 3600, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:50:02.569962", - "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": 3600, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:51:48.111341", - "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": 3600, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:51:59.105937", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:53:37.664354", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:55:29.278884", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Clock' created and started", - "details": { - "session_id": "Clock", - "variables": [ - "AUX Blink_1.0S", - "AUX Blink_1.6S" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:56:04.171748", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Clock' created and started", - "details": { - "session_id": "Clock", - "variables": [ - "AUX Blink_1.0S", - "AUX Blink_1.6S" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:56:33.247778", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-15T00:56:33.360494", - "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:56:33.369004", - "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:56:33.375426", - "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:56:43.455835", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Clock' created and started", - "details": { - "session_id": "Clock", - "variables": [ - "AUX Blink_1.0S", - "AUX Blink_1.6S" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:56:50.145968", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:57:04.660061", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Clock' created and started", - "details": { - "session_id": "Clock", - "variables": [ - "AUX Blink_1.0S", - "AUX Blink_1.6S" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T00:57:09.226184", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Clock' created and started", - "details": { - "session_id": "Clock", - "variables": [ - "AUX Blink_1.0S", - "AUX Blink_1.6S" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T10:44:49.036843", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 2 datasets after PLC reconnection", - "details": { - "resumed_datasets": 2, - "total_attempted": 2 - } - }, - { - "timestamp": "2025-08-15T10:45:35.434594", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 2 datasets after PLC reconnection", - "details": { - "resumed_datasets": 2, - "total_attempted": 2 - } - }, - { - "timestamp": "2025-08-15T10:47:54.448887", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:28:23.240762", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-15T12:28:23.289837", - "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-15T12:28:23.295328", - "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-15T12:28:23.301476", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-15T12:41:55.431336", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-15T12:41:55.480843", - "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-15T12:41:55.485842", - "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-15T12:41:55.491843", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-15T12:42:07.211229", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:42:56.588149", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:45:49.570168", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:46:29.778925", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:46:35.075022", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:46:39.772740", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:46:49.071513", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:47:32.138946", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:47:45.348792", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:48:18.922640", - "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": 360, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:48:27.911473", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:49:04.282695", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T12:53:56.468489", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:03:20.814101", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-15T13:03:20.862979", - "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-15T13:03:20.869820", - "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-15T13:03:20.874914", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-15T13:03:30.694319", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:03:56.979859", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:04:03.835222", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:04:09.295076", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:04:11.007047", - "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": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:04:44.329049", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:06:24.612602", - "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", - "AUX Blink_1.6S" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:06:48.036346", - "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", - "AUX Blink_1.6S" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:06:54.887448", - "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", - "AUX Blink_1.6S" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:14:31.424812", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-15T13:14:31.473155", - "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-15T13:14:31.480168", - "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-15T13:14:31.487149", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-15T13:14:39.254547", - "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", - "AUX Blink_1.6S" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:14:59.673582", - "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", - "AUX Blink_1.6S" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:15:06.665880", - "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", - "AUX Blink_1.6S" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:15:29.776996", - "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", - "AUX Blink_1.6S" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:17:30.394540", - "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", - "AUX Blink_1.6S" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:17:36.212527", - "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", - "AUX Blink_1.6S" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:17:58.978488", - "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", - "AUX Blink_1.6S" - ], - "time_window": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:18:03.031314", - "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", - "AUX Blink_1.6S" - ], - "time_window": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:20:54.142912", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-15T13:20:54.207454", - "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-15T13:20:54.216389", - "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-15T13:20:54.226392", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-15T13:21:00.678436", - "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", - "AUX Blink_1.6S" - ], - "time_window": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:21:08.721840", - "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", - "AUX Blink_1.6S" - ], - "time_window": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T13:21:11.289241", - "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", - "AUX Blink_1.6S" - ], - "time_window": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T14:56:09.985830", - "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", - "AUX Blink_1.6S" - ], - "time_window": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T14:56:18.219453", - "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", - "AUX Blink_1.6S" - ], - "time_window": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T14:56:21.037864", - "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", - "AUX Blink_1.6S" - ], - "time_window": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T14:58:34.874001", - "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", - "AUX Blink_1.6S" - ], - "time_window": 100, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T14:59:59.138084", - "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", - "AUX Blink_1.6S" - ], - "time_window": 3600, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:00:07.615193", - "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", - "AUX Blink_1.6S" - ], - "time_window": 3600, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:00:30.893455", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:00:38.278238", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:01:32.643536", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:03:00.348122", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:04:31.666815", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:04:49.237503", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:05:38.716154", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:08:19.565944", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-15T15:08:19.660559", - "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-15T15:08:19.672556", - "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-15T15:08:19.680317", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-15T15:08:34.489474", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:08:41.168670", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:08:46.141122", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:08:49.523888", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:09:02.390524", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:09:11.497406", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:09:53.182024", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:09:58.404845", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:10:05.667707", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:10:12.834883", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:10:22.809370", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:13:06.842781", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:13:14.103363", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:18:52.838437", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-15T15:18:52.889546", - "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-15T15:18:52.896544", - "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-15T15:18:52.905110", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-15T15:19:01.374281", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:19:06.187319", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:19:10.659288", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:19:59.587418", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:20:04.064134", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:20:14.895606", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:48:00.666925", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:48:45.628577", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:48:55.687372", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:49:22.566965", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:49:32.233072", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-15T15:49:39.683760", - "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", - "AUX Blink_1.6S" - ], - "time_window": 36, - "trigger_variable": null, - "auto_started": true - } - }, { "timestamp": "2025-08-15T15:51:11.724780", "level": "info", @@ -17421,8 +15427,2998 @@ "read_time_avg": 0.06537377039591472, "csv_write_time_avg": 0.0 } + }, + { + "timestamp": "2025-08-16T19:20:44.495121", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 3.9% CPU", + "details": { + "duration": 10.024675369262695, + "points_saved": 30, + "points_rate": 2.9926156104750223, + "variables_saved": 60, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 3.9, + "cpu_max": 3.9, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.04325772921244304, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:20:54.527788", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.032666683197021, + "points_saved": 30, + "points_rate": 2.990231904170085, + "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.04506815274556478, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:21:04.552489", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02470088005066, + "points_saved": 30, + "points_rate": 2.9926079948879627, + "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.05033230781555176, + "csv_write_time_avg": 1.986821492513021e-06 + } + }, + { + "timestamp": "2025-08-16T19:21:14.575738", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.023249387741089, + "points_saved": 30, + "points_rate": 2.9930413620847776, + "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.05330721537272135, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:21:24.599393", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 5.3% CPU", + "details": { + "duration": 10.02365493774414, + "points_saved": 30, + "points_rate": 2.992920265744065, + "variables_saved": 60, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 5.3, + "cpu_max": 5.3, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.048331443468729654, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:21:34.622651", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 3.6% CPU", + "details": { + "duration": 10.023257493972778, + "points_saved": 30, + "points_rate": 2.9930389414858105, + "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.03462903499603272, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:21:44.645146", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.022495031356812, + "points_saved": 30, + "points_rate": 2.993266637313434, + "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.03439292112986247, + "csv_write_time_avg": 1.931190490722656e-06 + } + }, + { + "timestamp": "2025-08-16T19:21:54.672059", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.026913166046143, + "points_saved": 30, + "points_rate": 2.991947721417212, + "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.040618181228637695, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:22:04.698231", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.026172399520874, + "points_saved": 30, + "points_rate": 2.992168776335187, + "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.04397321542104085, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:22:14.724596", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.02636456489563, + "points_saved": 30, + "points_rate": 2.9921114284070804, + "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.03760386308034261, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:22:24.749187", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024591207504272, + "points_saved": 30, + "points_rate": 2.992640735069816, + "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.040171209971110025, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:22:34.777090", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027902841567993, + "points_saved": 30, + "points_rate": 2.9916524395951476, + "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.03336513837178548, + "csv_write_time_avg": 2.9166539510091144e-06 + } + }, + { + "timestamp": "2025-08-16T19:22:44.803379", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.026288986206055, + "points_saved": 30, + "points_rate": 2.992133983099164, + "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.0324705441792806, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:22:54.826923", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023544311523438, + "points_saved": 30, + "points_rate": 2.992953297518812, + "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.03127067089080811, + "csv_write_time_avg": 1.7642974853515626e-06 + } + }, + { + "timestamp": "2025-08-16T19:23:04.854089", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02716588973999, + "points_saved": 30, + "points_rate": 2.9918723126638045, + "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.035390464464823405, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:23:14.881740", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.027650594711304, + "points_saved": 30, + "points_rate": 2.991727695001892, + "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.033542784055074056, + "csv_write_time_avg": 1.8755594889322916e-06 + } + }, + { + "timestamp": "2025-08-16T19:23:24.907228", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.02548861503601, + "points_saved": 30, + "points_rate": 2.9923728560228624, + "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.03177390098571777, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:23:34.929821", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.022592782974243, + "points_saved": 30, + "points_rate": 2.993237443604626, + "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.03484539190928141, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:23:44.954194", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.024373531341553, + "points_saved": 30, + "points_rate": 2.9927057193353734, + "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.03187788327534993, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:23:54.977094", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022899150848389, + "points_saved": 30, + "points_rate": 2.9931459499381123, + "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.030983575185139976, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:24:05.011083", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.033989667892456, + "points_saved": 30, + "points_rate": 2.9898376411524863, + "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.03021556536356608, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:24:15.043760", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.032528400421143, + "points_saved": 30, + "points_rate": 2.9902731198588652, + "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.033985010782877606, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:24:25.068271", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024659633636475, + "points_saved": 30, + "points_rate": 2.9926203079592653, + "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.03383328119913737, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:24:35.092011", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023739576339722, + "points_saved": 30, + "points_rate": 2.9928949940811242, + "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.029539879163106283, + "csv_write_time_avg": 3.0597050984700522e-06 + } + }, + { + "timestamp": "2025-08-16T19:24:45.114645", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022634267807007, + "points_saved": 30, + "points_rate": 2.9932250542515426, + "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.03426570892333984, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:24:55.140920", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.026274681091309, + "points_saved": 30, + "points_rate": 2.992138252164328, + "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.033507561683654784, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:25:05.165425", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024504661560059, + "points_saved": 30, + "points_rate": 2.992666571849473, + "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.03217641512552897, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:25:15.191228", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.025802850723267, + "points_saved": 30, + "points_rate": 2.992279066991207, + "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.033665068944295246, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:25:25.213918", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022690296173096, + "points_saved": 30, + "points_rate": 2.9932083216673595, + "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.03660753568013509, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:25:35.237679", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023760795593262, + "points_saved": 30, + "points_rate": 2.9928886584353527, + "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.03092637062072754, + "csv_write_time_avg": 3.401438395182292e-06 + } + }, + { + "timestamp": "2025-08-16T19:25:45.260625", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022946119308472, + "points_saved": 31, + "points_rate": 3.0929029879030048, + "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.034011786983859156, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:25:55.283251", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022626399993896, + "points_saved": 30, + "points_rate": 2.993227403948557, + "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.032841912905375165, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:26:05.314709", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.031458377838135, + "points_saved": 30, + "points_rate": 2.9905920824311147, + "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.03321727911631266, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:26:15.360665", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.021437883377075, + "points_saved": 29, + "points_rate": 2.893796313212035, + "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.03322646535676101, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:26:25.412856", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.076708793640137, + "points_saved": 31, + "points_rate": 3.0764012967771275, + "variables_saved": 62, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.5, + "cpu_max": 0.5, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.033642784241707094, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:26:35.434538", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.021681308746338, + "points_saved": 30, + "points_rate": 2.9935096792409226, + "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.03313464323679606, + "csv_write_time_avg": 1.6848246256510416e-06 + } + }, + { + "timestamp": "2025-08-16T19:26:45.456330", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.021792888641357, + "points_saved": 30, + "points_rate": 2.9934763503246837, + "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.03058334191640218, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:26:55.479319", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02298903465271, + "points_saved": 30, + "points_rate": 2.9931191081103963, + "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.03526283899943034, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:27:05.510920", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.03160047531128, + "points_saved": 30, + "points_rate": 2.9905497207382656, + "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.03224333922068278, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:27:15.533994", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023074388504028, + "points_saved": 30, + "points_rate": 2.993093619499474, + "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.03435858885447184, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:27:25.558108", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024113893508911, + "points_saved": 30, + "points_rate": 2.9927832343790928, + "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.034750088055928545, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:27:35.580880", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022771835327148, + "points_saved": 30, + "points_rate": 2.993183970751419, + "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.03114007314046224, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:27:45.605966", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.025086164474487, + "points_saved": 30, + "points_rate": 2.9924929828842615, + "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.033729418118794756, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:27:55.629413", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023447275161743, + "points_saved": 30, + "points_rate": 2.992982272111159, + "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.03919668992360433, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:28:05.659152", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029738903045654, + "points_saved": 30, + "points_rate": 2.9911047824874215, + "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.04158167044321696, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:28:15.687258", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.028105974197388, + "points_saved": 30, + "points_rate": 2.9915918396944434, + "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.042470693588256836, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:28:25.713289", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.026030778884888, + "points_saved": 30, + "points_rate": 2.9922110415999192, + "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.03430751164754232, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:28:35.737214", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023925542831421, + "points_saved": 30, + "points_rate": 2.9928394691094256, + "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.03558572133382162, + "csv_write_time_avg": 1.9391377766927082e-06 + } + }, + { + "timestamp": "2025-08-16T19:28:45.760091", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022876501083374, + "points_saved": 30, + "points_rate": 2.9931527138698453, + "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.036923853556315105, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:28:55.782684", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022592782974243, + "points_saved": 30, + "points_rate": 2.993237443604626, + "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.032613333066304526, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:29:05.807184", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024499893188477, + "points_saved": 30, + "points_rate": 2.9926679953764705, + "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.03085487683614095, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:29:15.830726", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023542404174805, + "points_saved": 30, + "points_rate": 2.992953867038563, + "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.029432121912638345, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:29:25.854331", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.023605346679688, + "points_saved": 30, + "points_rate": 2.992935073001201, + "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.03109721342722575, + "csv_write_time_avg": 2.3285547892252606e-06 + } + }, + { + "timestamp": "2025-08-16T19:29:35.877333", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023001432418823, + "points_saved": 30, + "points_rate": 2.9931154058271128, + "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.03108168443044027, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:29:45.915695", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.5% CPU", + "details": { + "duration": 10.0383620262146, + "points_saved": 30, + "points_rate": 2.988535372768659, + "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.032892314592997234, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:29:55.941914", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02621865272522, + "points_saved": 30, + "points_rate": 2.9921549727868464, + "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.03391534487406413, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:30:05.965205", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023291110992432, + "points_saved": 30, + "points_rate": 2.9930289031612913, + "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.03275345166524251, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:30:15.988529", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.023324012756348, + "points_saved": 30, + "points_rate": 2.9930190784833464, + "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.03364638487497965, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:30:26.011923", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02339482307434, + "points_saved": 30, + "points_rate": 2.99299793428655, + "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.02883956432342529, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:30:36.034674", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02275013923645, + "points_saved": 30, + "points_rate": 2.993190450050015, + "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.03071264425913493, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:30:46.058399", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023725271224976, + "points_saved": 30, + "points_rate": 2.9928992653181297, + "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.03435606956481933, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:30:56.081926", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.023526906967163, + "points_saved": 30, + "points_rate": 2.9929584943945797, + "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.03494441509246826, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:31:06.105181", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.023255586624146, + "points_saved": 30, + "points_rate": 2.9930395110381562, + "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.02991515795389811, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:31:16.129185", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024003744125366, + "points_saved": 30, + "points_rate": 2.992816120762295, + "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.033982499440511064, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:31:26.152155", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022969961166382, + "points_saved": 30, + "points_rate": 2.9931248039487164, + "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.033867835998535156, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:31:36.176422", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024267196655273, + "points_saved": 30, + "points_rate": 2.9927374651395855, + "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.030101641019185384, + "csv_write_time_avg": 3.258387247721354e-06 + } + }, + { + "timestamp": "2025-08-16T19:31:46.201088", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02466607093811, + "points_saved": 30, + "points_rate": 2.9926183862593834, + "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.029866345723470054, + "csv_write_time_avg": 2.09808349609375e-06 + } + }, + { + "timestamp": "2025-08-16T19:31:56.224337", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023247957229614, + "points_saved": 30, + "points_rate": 2.9930417892497077, + "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.03746697902679443, + "csv_write_time_avg": 3.48965326944987e-05 + } + }, + { + "timestamp": "2025-08-16T19:32:06.249316", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.6% CPU", + "details": { + "duration": 10.024979829788208, + "points_saved": 30, + "points_rate": 2.9925247241753095, + "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.03504591782887777, + "csv_write_time_avg": 2.384185791015625e-06 + } + }, + { + "timestamp": "2025-08-16T19:32:16.279144", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.029828071594238, + "points_saved": 30, + "points_rate": 2.9910781905588046, + "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.03551757335662842, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:32:26.303844", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024700164794922, + "points_saved": 30, + "points_rate": 2.9926082084085674, + "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.030524579683939616, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:32:36.337260", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.033415794372559, + "points_saved": 30, + "points_rate": 2.990008648582679, + "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.029169178009033202, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:32:46.361795", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024534702301025, + "points_saved": 30, + "points_rate": 2.992657603660529, + "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.03185376326243083, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:32:56.386584", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024789094924927, + "points_saved": 30, + "points_rate": 2.9925816609137015, + "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.037179907162984215, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:33:06.410223", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02363920211792, + "points_saved": 30, + "points_rate": 2.9929249641847866, + "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.037447206179300946, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:33:16.433512", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02328896522522, + "points_saved": 30, + "points_rate": 2.993029543903398, + "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.031141225496927896, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:33:26.463750", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030237913131714, + "points_saved": 30, + "points_rate": 2.990955973309828, + "variables_saved": 60, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.2, + "cpu_max": 0.2, + "delay_average": 0.058762550354003906, + "delay_max": 0.058762550354003906, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.05849409103393555, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:33:36.487198", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02344822883606, + "points_saved": 30, + "points_rate": 2.992981987345851, + "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.032648468017578126, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:33:46.509129", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.021930694580078, + "points_saved": 30, + "points_rate": 2.9934351887131077, + "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.03170192241668701, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:33:56.532232", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023102760314941, + "points_saved": 30, + "points_rate": 2.9930851471243773, + "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.032052199045817055, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:34:06.559611", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.027379035949707, + "points_saved": 30, + "points_rate": 2.991808716160559, + "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.032180587450663246, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:34:16.585780", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.026168823242188, + "points_saved": 30, + "points_rate": 2.992169843625157, + "variables_saved": 60, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.039354952176411946, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:34:26.608744", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022964239120483, + "points_saved": 30, + "points_rate": 2.9931265127044395, + "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.0397845188776652, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:34:36.631660", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022916078567505, + "points_saved": 30, + "points_rate": 2.9931408948090943, + "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.03942397435506185, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:34:46.654718", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02305817604065, + "points_saved": 30, + "points_rate": 2.9930984608782074, + "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.041838669776916505, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:34:56.678804", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024085521697998, + "points_saved": 30, + "points_rate": 2.9927917050450548, + "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.039249610900878903, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:35:06.706255", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027451515197754, + "points_saved": 30, + "points_rate": 2.9917870911199675, + "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.03395049571990967, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:35:16.731129", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024873971939087, + "points_saved": 30, + "points_rate": 2.9925563237975723, + "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.035046021143595375, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:35:26.753866", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02273678779602, + "points_saved": 30, + "points_rate": 2.993194437324632, + "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.03318227926890056, + "csv_write_time_avg": 2.5431315104166665e-06 + } + }, + { + "timestamp": "2025-08-16T19:35:36.777200", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02333378791809, + "points_saved": 30, + "points_rate": 2.9930161595697182, + "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.03162530263264974, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:35:46.799770", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022570610046387, + "points_saved": 30, + "points_rate": 2.9932440655422985, + "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.03533599376678467, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:35:56.823617", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02384614944458, + "points_saved": 30, + "points_rate": 2.9928631737491598, + "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.03195609251658122, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:36:06.846047", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.022430181503296, + "points_saved": 30, + "points_rate": 2.9932860051612957, + "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.029359316825866698, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:36:16.870314", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024266719818115, + "points_saved": 30, + "points_rate": 2.9927376074989684, + "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.029985793431599937, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:36:26.892757", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.022443294525146, + "points_saved": 30, + "points_rate": 2.9932820888483134, + "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.03255294958750407, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:36:36.916285", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.023528575897217, + "points_saved": 30, + "points_rate": 2.9929579960632444, + "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.029404258728027342, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:36:46.940606", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024320363998413, + "points_saved": 30, + "points_rate": 2.992721592153292, + "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.03454228242238363, + "csv_write_time_avg": 2.288818359375e-06 + } + }, + { + "timestamp": "2025-08-16T19:36:56.964342", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023736715316772, + "points_saved": 30, + "points_rate": 2.99289584832755, + "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.03547452290852864, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:37:06.989054", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024711847305298, + "points_saved": 30, + "points_rate": 2.9926047209091777, + "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.03184625307718913, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:37:17.013235", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024181127548218, + "points_saved": 30, + "points_rate": 2.992763161227675, + "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.03130845228830973, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:37:27.040979", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.027743101119995, + "points_saved": 30, + "points_rate": 2.9917000961711224, + "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.03540117740631103, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:37:37.065981", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025002717971802, + "points_saved": 30, + "points_rate": 2.9925178919122946, + "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.03190773328145345, + "csv_write_time_avg": 1.7722447713216146e-06 + } + }, + { + "timestamp": "2025-08-16T19:37:47.090380", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02439832687378, + "points_saved": 30, + "points_rate": 2.992698316823154, + "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.03154021104176839, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:37:57.114975", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 31 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024595260620117, + "points_saved": 31, + "points_rate": 3.0923941759302864, + "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.030923712638116652, + "csv_write_time_avg": 1.7304574289629536e-06 + } + }, + { + "timestamp": "2025-08-16T19:38:07.138531", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.023556232452393, + "points_saved": 30, + "points_rate": 2.992949738025275, + "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.03149526119232178, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:38:17.162189", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02365756034851, + "points_saved": 30, + "points_rate": 2.992919482672045, + "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.031926568349202475, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:38:27.187719", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025530099868774, + "points_saved": 30, + "points_rate": 2.992360473825985, + "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.033576194445292154, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:38:37.213482", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025762796401978, + "points_saved": 30, + "points_rate": 2.992291021563599, + "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.03199788729349772, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:38:47.237500", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.02401852607727, + "points_saved": 30, + "points_rate": 2.9928117073961547, + "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.031993651390075685, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:38:57.262035", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024534702301025, + "points_saved": 30, + "points_rate": 2.992657603660529, + "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.03537515799204508, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:39:07.286532", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024497747421265, + "points_saved": 30, + "points_rate": 2.992668635964061, + "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.03251237869262695, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:39:17.312508", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.025975465774536, + "points_saved": 30, + "points_rate": 2.992227549569653, + "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.03317286968231201, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:39:27.337612", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.025104522705078, + "points_saved": 30, + "points_rate": 2.9924875029537437, + "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.033380993207295734, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:39:37.389232", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.0516197681427, + "points_saved": 30, + "points_rate": 2.984593597051999, + "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.0316817045211792, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:39:47.419341", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.030108451843262, + "points_saved": 30, + "points_rate": 2.990994578377347, + "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.034882458051045735, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:39:57.443333", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.02399206161499, + "points_saved": 30, + "points_rate": 2.9928196087544214, + "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.03039264678955078, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:40:07.470287", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 1 lost, 0.0% CPU", + "details": { + "duration": 10.026953935623169, + "points_saved": 30, + "points_rate": 2.991935556163051, + "variables_saved": 60, + "udp_points_sent": 0, + "points_lost": 1, + "cpu_average": 0.0, + "cpu_max": 0.0, + "delay_average": 0.13681435585021973, + "delay_max": 0.13681435585021973, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.10277516841888427, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:40:17.497093", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.026806116104126, + "points_saved": 30, + "points_rate": 2.991979664573027, + "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.04007929960886637, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:40:27.522339", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.025245904922485, + "points_saved": 30, + "points_rate": 2.9924453010444094, + "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.037174471219380695, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:40:37.547325", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024986505508423, + "points_saved": 30, + "points_rate": 2.9925227314287075, + "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.03652562300364177, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:40:47.577067", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.029742240905762, + "points_saved": 30, + "points_rate": 2.991103787059115, + "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.03501387437184652, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:40:57.601469", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.0% CPU", + "details": { + "duration": 10.024401426315308, + "points_saved": 30, + "points_rate": 2.9926973915117014, + "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.030615822474161784, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:41:07.626310", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024840831756592, + "points_saved": 30, + "points_rate": 2.992566216609275, + "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.03264613151550293, + "csv_write_time_avg": 1.8517176310221354e-06 + } + }, + { + "timestamp": "2025-08-16T19:41:17.652106", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 0.3% CPU", + "details": { + "duration": 10.02579641342163, + "points_saved": 30, + "points_rate": 2.992280988255328, + "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.04211295445760091, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:41:27.676632", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 2.0% CPU", + "details": { + "duration": 10.024526357650757, + "points_saved": 30, + "points_rate": 2.9926600948187327, + "variables_saved": 60, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 2.0, + "cpu_max": 2.0, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.04165803591410319, + "csv_write_time_avg": 0.0 + } + }, + { + "timestamp": "2025-08-16T19:41:37.702313", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 0.2% CPU", + "details": { + "duration": 10.024974584579468, + "points_saved": 29, + "points_rate": 2.892775413576423, + "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.10340013175175108, + "csv_write_time_avg": 0.0011005812677843817 + } + }, + { + "timestamp": "2025-08-16T19:41:47.747837", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 12.1% CPU", + "details": { + "duration": 10.046229600906372, + "points_saved": 30, + "points_rate": 2.9861949399696575, + "variables_saved": 60, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 12.1, + "cpu_max": 12.1, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.10612233479817708, + "csv_write_time_avg": 0.0005550305048624675 + } + }, + { + "timestamp": "2025-08-16T19:41:57.797199", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 5.4% CPU", + "details": { + "duration": 10.049362182617188, + "points_saved": 30, + "points_rate": 2.985264084908024, + "variables_saved": 60, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 5.4, + "cpu_max": 5.4, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.11364033222198486, + "csv_write_time_avg": 0.002084080378214518 + } + }, + { + "timestamp": "2025-08-16T19:42:07.853943", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 29 points saved, 0 lost, 3.3% CPU", + "details": { + "duration": 10.056744575500488, + "points_saved": 29, + "points_rate": 2.8836369246811433, + "variables_saved": 58, + "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.12529090355182515, + "csv_write_time_avg": 0.0016183688722807787 + } + }, + { + "timestamp": "2025-08-16T19:42:17.903963", + "level": "info", + "event_type": "performance_report", + "message": "Performance report: 30 points saved, 0 lost, 12.1% CPU", + "details": { + "duration": 10.050019979476929, + "points_saved": 30, + "points_rate": 2.9850686925262613, + "variables_saved": 60, + "udp_points_sent": 0, + "points_lost": 0, + "cpu_average": 12.1, + "cpu_max": 12.1, + "delay_average": 0.0, + "delay_max": 0.0, + "read_errors": 0, + "csv_errors": 0, + "udp_errors": 0, + "read_time_avg": 0.1091493288675944, + "csv_write_time_avg": 0.0034572045008341473 + } } ], - "last_updated": "2025-08-16T19:20:34.470446", + "last_updated": "2025-08-16T19:42:17.903963", "total_entries": 1000 } \ No newline at end of file diff --git a/frontend/src/components/PlotHistoricalSession.jsx b/frontend/src/components/PlotHistoricalSession.jsx index f61c606..d69c4d2 100644 --- a/frontend/src/components/PlotHistoricalSession.jsx +++ b/frontend/src/components/PlotHistoricalSession.jsx @@ -418,9 +418,12 @@ export default function PlotHistoricalSession({ } // Handle time change from TimePointSelector - const handleTimePointChange = (newCentralTime) => { - console.log('📊 Time selector change:', newCentralTime) + const handleTimePointChange = (newCentralTime, newRangeSeconds = null) => { + console.log('📊 Time selector change:', { newCentralTime, newRangeSeconds }) setCentralTime(newCentralTime) + if (newRangeSeconds !== null) { + setTimeRangeSeconds(newRangeSeconds) + } } // Color mode @@ -586,6 +589,7 @@ export default function PlotHistoricalSession({ minDate={dateRange.minDate} maxDate={dateRange.maxDate} initial={centralTime} + initialRangeSeconds={timeRangeSeconds} stepMinutes={1} dataSegments={dataSegments} onTimeChange={handleTimePointChange} diff --git a/frontend/src/components/TimePointSelector.jsx b/frontend/src/components/TimePointSelector.jsx index 7e11b8d..cd9544e 100644 --- a/frontend/src/components/TimePointSelector.jsx +++ b/frontend/src/components/TimePointSelector.jsx @@ -1,5 +1,5 @@ import { useMemo, useState, useCallback, useRef, useEffect } from "react"; -import { Box, Flex, Text, Slider, SliderTrack, SliderFilledTrack, SliderThumb, Button, IconButton, useColorModeValue } from "@chakra-ui/react"; +import { Box, Flex, Text, Slider, SliderTrack, SliderFilledTrack, SliderThumb, Button, IconButton, useColorModeValue, NumberInput, NumberInputField, NumberInputStepper, NumberIncrementStepper, NumberDecrementStepper } from "@chakra-ui/react"; import { CheckIcon } from "@chakra-ui/icons"; import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; @@ -9,6 +9,7 @@ export default function TimePointSelector({ minDate, maxDate, initial, + initialRangeSeconds = 1000, stepMinutes = 5, dataSegments = [], onTimeChange, @@ -32,6 +33,10 @@ export default function TimePointSelector({ // Estado temporal del slider (solo para UI, no dispara eventos) const [sliderValue, setSliderValue] = useState(() => value.getTime()); + // Estado para el range temporal (para UI y apply) + const [rangeSeconds, setRangeSeconds] = useState(initialRangeSeconds); + const [tempRangeSeconds, setTempRangeSeconds] = useState(initialRangeSeconds); + // Estado para detectar si hay cambios pendientes const [hasPendingChanges, setHasPendingChanges] = useState(false); @@ -57,6 +62,14 @@ export default function TimePointSelector({ }, 0); }, [initial, minMs, maxMs]); + // Sincronizar con cambios externos en el range + useEffect(() => { + if (!isExternalUpdateRef.current) return; // Solo para actualizaciones externas + + setRangeSeconds(initialRangeSeconds); + setTempRangeSeconds(initialRangeSeconds); + }, [initialRangeSeconds]); + const valueMs = value.getTime(); // Redondea al paso del slider @@ -94,19 +107,20 @@ export default function TimePointSelector({ }; }, []); - // Función para aplicar los cambios pendientes del slider - const applySliderChanges = useCallback(() => { + // Función para aplicar los cambios pendientes (tiempo y/o range) + const applyPendingChanges = useCallback(() => { if (!hasPendingChanges) return; const newValue = new Date(sliderValue); setValue(newValue); + setRangeSeconds(tempRangeSeconds); setHasPendingChanges(false); if (onTimeChange) { - console.log('📊 TimeSelector: Applying slider changes', newValue); - onTimeChange(newValue); + console.log('📊 TimeSelector: Applying changes', { time: newValue, range: tempRangeSeconds }); + onTimeChange(newValue, tempRangeSeconds); } - }, [sliderValue, hasPendingChanges, onTimeChange]); + }, [sliderValue, tempRangeSeconds, hasPendingChanges, onTimeChange]); // Cambio desde el DatePicker (inmediato, actualiza ambos valores) const onPick = (d) => { @@ -117,10 +131,10 @@ export default function TimePointSelector({ setSliderValue(newValue.getTime()); setHasPendingChanges(false); - // DatePicker es cambio directo + // DatePicker es cambio directo - usar range actual if (onTimeChange) { console.log('📊 TimeSelector: DatePicker change (immediate)', newValue); - onTimeChange(newValue); + onTimeChange(newValue, rangeSeconds); } }; @@ -129,7 +143,20 @@ export default function TimePointSelector({ if (isExternalUpdateRef.current) return; setSliderValue(ms); - setHasPendingChanges(Math.abs(ms - value.getTime()) > 1000); // Solo marcar si hay diferencia significativa + checkForPendingChanges(ms, tempRangeSeconds); + }; + + // Cambio en el range input + const onRangeChange = (newRangeSeconds) => { + setTempRangeSeconds(newRangeSeconds); + checkForPendingChanges(sliderValue, newRangeSeconds); + }; + + // Función para verificar si hay cambios pendientes + const checkForPendingChanges = (currentSliderValue, currentRangeSeconds) => { + const timeChanged = Math.abs(currentSliderValue - value.getTime()) > 1000; + const rangeChanged = Math.abs(currentRangeSeconds - rangeSeconds) > 0; + setHasPendingChanges(timeChanged || rangeChanged); }; return ( @@ -197,20 +224,7 @@ export default function TimePointSelector({ - - Navigate with slider - {hasPendingChanges && ( - - )} - + Navigate with slider {/* Slider with integrated data availability */} @@ -264,6 +278,45 @@ export default function TimePointSelector({ )} + + {/* Range and Apply Controls */} + + + + Time Range (seconds) + + onRangeChange(isNaN(valueNumber) ? 1000 : valueNumber)} + min={60} + max={86400} + size="sm" + width="120px" + > + + + + + + + + + {hasPendingChanges && ( + + + Pending changes + + + + )} +