feat: Update application events and system state, optimize JSON structure, and add build instructions to README

This commit is contained in:
Miguel 2025-08-22 11:37:15 +02:00
parent fce7928a7f
commit c5ed02b4a2
4 changed files with 168 additions and 309 deletions

View File

@ -1,304 +1,5 @@
{
"events": [
{
"timestamp": "2025-08-18T16:47:53.964926",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
"duration": 10.028654336929321,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.2,
"cpu_max": 0.2,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:48:03.990793",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
"duration": 10.025867462158203,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.2,
"cpu_max": 0.2,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:48:14.020151",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
"details": {
"duration": 10.029357671737671,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.0,
"cpu_max": 0.0,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:48:24.049835",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
"duration": 10.02968430519104,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.2,
"cpu_max": 0.2,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:48:34.079465",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
"duration": 10.029629707336426,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.2,
"cpu_max": 0.2,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:48:44.108501",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
"duration": 10.029035568237305,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.2,
"cpu_max": 0.2,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:48:54.137099",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
"duration": 10.028598070144653,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.2,
"cpu_max": 0.2,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:49:04.165476",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
"details": {
"duration": 10.028377056121826,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.3,
"cpu_max": 0.3,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:49:14.194795",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
"duration": 10.029319763183594,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.2,
"cpu_max": 0.2,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:49:24.225599",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
"details": {
"duration": 10.03080415725708,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.3,
"cpu_max": 0.3,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:49:34.253560",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
"details": {
"duration": 10.027960777282715,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.0,
"cpu_max": 0.0,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:49:44.281702",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
"duration": 10.028141736984253,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.2,
"cpu_max": 0.2,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:49:54.318799",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
"details": {
"duration": 10.037097215652466,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.3,
"cpu_max": 0.3,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-18T16:50:04.346871",
"level": "info",
@ -20872,8 +20573,158 @@
"read_time_avg": 0.13901661663520626,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-22T11:17:19.139701",
"level": "info",
"event_type": "application_started",
"message": "Application initialization completed successfully",
"details": {}
},
{
"timestamp": "2025-08-22T11:17:19.255558",
"level": "info",
"event_type": "dataset_activated",
"message": "Dataset activated: DAR",
"details": {
"dataset_id": "DAR",
"variables_count": 3,
"streaming_count": 3,
"prefix": "gateway_phoenix"
}
},
{
"timestamp": "2025-08-22T11:17:19.278577",
"level": "info",
"event_type": "dataset_activated",
"message": "Dataset activated: Fast",
"details": {
"dataset_id": "Fast",
"variables_count": 3,
"streaming_count": 1,
"prefix": "fast"
}
},
{
"timestamp": "2025-08-22T11:17:19.300390",
"level": "info",
"event_type": "csv_recording_started",
"message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 2 datasets activated",
"details": {
"activated_datasets": 2,
"total_datasets": 3,
"priority": "CRITICAL",
"recording_protection": true,
"performance_monitoring": true,
"async_csv_buffering": true,
"csv_flush_interval": 5.0
}
},
{
"timestamp": "2025-08-22T11:17:29.256253",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
"details": {
"duration": 11.118588209152222,
"points_saved": 40,
"points_rate": 3.597579049386338,
"variables_saved": 120,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.0,
"cpu_max": 0.0,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.09855996966361999,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-22T11:17:39.281101",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 40 points saved, 0 lost, 0.8% CPU",
"details": {
"duration": 10.025440692901611,
"points_saved": 40,
"points_rate": 3.989849546296903,
"variables_saved": 120,
"udp_points_sent": 0,
"points_lost": 0,
"cpu_average": 0.8,
"cpu_max": 0.8,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
"csv_errors": 0,
"udp_errors": 0,
"read_time_avg": 0.09924787878990174,
"csv_write_time_avg": 0.0
}
},
{
"timestamp": "2025-08-22T11:17:44.502184",
"level": "info",
"event_type": "udp_streaming_stopped",
"message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
"details": {}
},
{
"timestamp": "2025-08-22T11:17:49.305000",
"level": "info",
"event_type": "csv_recording_stopped",
"message": "🔥 CRITICAL: CSV recording stopped (dataset threads continue for UDP streaming)",
"details": {
"recording_protection": false,
"performance_monitoring": false
}
},
{
"timestamp": "2025-08-22T11:17:49.327595",
"level": "info",
"event_type": "udp_streaming_stopped",
"message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
"details": {}
},
{
"timestamp": "2025-08-22T11:17:49.351465",
"level": "info",
"event_type": "dataset_deactivated",
"message": "Dataset deactivated: test",
"details": {
"dataset_id": "Test"
}
},
{
"timestamp": "2025-08-22T11:17:49.784174",
"level": "info",
"event_type": "dataset_deactivated",
"message": "Dataset deactivated: DAR",
"details": {
"dataset_id": "DAR"
}
},
{
"timestamp": "2025-08-22T11:17:50.000411",
"level": "info",
"event_type": "dataset_deactivated",
"message": "Dataset deactivated: Fast",
"details": {
"dataset_id": "Fast"
}
},
{
"timestamp": "2025-08-22T11:17:50.022501",
"level": "info",
"event_type": "plc_disconnection",
"message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))",
"details": {}
}
],
"last_updated": "2025-08-21T20:29:55.233803",
"last_updated": "2025-08-22T11:17:50.022501",
"total_entries": 1000
}

View File

@ -2805,10 +2805,7 @@ def get_batch_reading_optimization_stats():
try:
stats = streamer.get_batch_reading_stats()
return jsonify({
"success": True,
"batch_reading_optimization": stats
})
return jsonify({"success": True, "batch_reading_optimization": stats})
except Exception as e:
return jsonify({"success": False, "error": str(e)}), 500
@ -3568,7 +3565,7 @@ def process_symbol_variables():
def get_csv_files():
"""Get structured list of CSV files organized by dataset, date, and hour"""
try:
records_dir = resource_path("records")
records_dir = get_records_directory()
if not os.path.exists(records_dir):
return jsonify({"files": [], "tree": []})

12
readme.md Normal file
View File

@ -0,0 +1,12 @@
## Métodos de Construcción
```bash
# 1. Compilar frontend
cd frontend && npm run build && cd ..
# 2. Limpiar builds anteriores
rmdir /s /q build dist
# 3. Ejecutar PyInstaller
pyinstaller main.spec --clean
```

View File

@ -3,12 +3,11 @@
"should_connect": true,
"should_stream": false,
"active_datasets": [
"Test",
"DAR",
"Fast",
"Test"
"Fast"
]
},
"auto_recovery_enabled": true,
"last_update": "2025-08-21T20:27:20.774083",
"plotjuggler_path": "C:\\Program Files\\PlotJuggler\\plotjuggler.exe"
"last_update": "2025-08-22T11:17:49.327595"
}