feat: Update application events and system state, optimize JSON structure, and add build instructions to README
This commit is contained in:
parent
fce7928a7f
commit
c5ed02b4a2
|
@ -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
|
||||
}
|
7
main.py
7
main.py
|
@ -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": []})
|
||||
|
||||
|
|
|
@ -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
|
||||
```
|
|
@ -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"
|
||||
}
|
Loading…
Reference in New Issue