diff --git a/.tests/test_db1001_specific_values.py b/.tests/test_db1001_specific_values.py
index b720940..98ebaa6 100644
--- a/.tests/test_db1001_specific_values.py
+++ b/.tests/test_db1001_specific_values.py
@@ -38,7 +38,7 @@ project_root = Path(__file__).parent
sys.path.insert(0, str(project_root))
import snap7
-from snap7.types import S7DataItem
+from snap7.type import S7DataItem
from utils.json_manager import JSONManager
import struct
import ctypes
diff --git a/.tests/test_simple_data_integrity.py b/.tests/test_simple_data_integrity.py
index ed5614c..afb6eba 100644
--- a/.tests/test_simple_data_integrity.py
+++ b/.tests/test_simple_data_integrity.py
@@ -19,18 +19,19 @@ project_root = Path(__file__).parent
sys.path.insert(0, str(project_root))
import snap7
-from snap7.types import S7DataItem
+from snap7.type import S7DataItem
from utils.json_manager import JSONManager
from utils.optimized_batch_reader import OptimizedBatchReader
import struct
import ctypes
+
class SimpleDataIntegrityVerifier:
"""
Sistema simplificado de verificación de integridad de datos.
Compara directamente métodos optimizado vs individual.
"""
-
+
def __init__(self):
self.json_manager = JSONManager()
self.plc = None
@@ -38,46 +39,46 @@ class SimpleDataIntegrityVerifier:
"test_info": {
"start_time": datetime.now().isoformat(),
"plc_ip": None,
- "total_variables": 0
+ "total_variables": 0,
},
- "results": {}
+ "results": {},
}
-
+
def connect_plc(self) -> bool:
"""Conectar al PLC."""
try:
print("🔌 Conectando al PLC...")
-
+
# Cargar configuración
config_data = self.json_manager.read_json("plc")
plc_config = config_data.get("plc_config", {})
-
+
ip = plc_config.get("ip")
rack = plc_config.get("rack", 0)
slot = plc_config.get("slot", 2)
-
+
self.test_results["test_info"]["plc_ip"] = ip
-
+
# Conectar
self.plc = snap7.client.Client()
self.plc.connect(ip, rack, slot)
-
+
print(f"✅ Conectado a PLC: {ip}:{rack}.{slot}")
return True
-
+
except Exception as e:
print(f"❌ Error conectando PLC: {e}")
return False
-
+
def generate_test_variables(self) -> Dict[str, Dict[str, Any]]:
"""Generar conjunto comprehensivo de variables de test."""
variables = {}
-
+
print("🔧 Generando variables de test...")
-
+
# 1. DB1011 Variables - diferentes tipos
print(" 📊 Variables DB1011...")
-
+
# REALs
for i in range(10):
offset = i * 4
@@ -86,9 +87,9 @@ class SimpleDataIntegrityVerifier:
"area": "db",
"db": 1011,
"offset": offset,
- "type": "real"
+ "type": "real",
}
-
+
# INTs
for i in range(5):
offset = 100 + (i * 2)
@@ -97,9 +98,9 @@ class SimpleDataIntegrityVerifier:
"area": "db",
"db": 1011,
"offset": offset,
- "type": "int"
+ "type": "int",
}
-
+
# BOOLs
for byte_offset in range(50, 53):
for bit in range(0, 4):
@@ -109,45 +110,33 @@ class SimpleDataIntegrityVerifier:
"db": 1011,
"offset": byte_offset,
"type": "bool",
- "bit": bit
+ "bit": bit,
}
-
+
# 2. Memory Variables
print(" 🧠 Variables Memory...")
-
+
# Memory REALs
for i in range(5):
offset = 100 + (i * 4)
var_name = f"M{offset}_real"
- variables[var_name] = {
- "area": "m",
- "offset": offset,
- "type": "real"
- }
-
+ variables[var_name] = {"area": "m", "offset": offset, "type": "real"}
+
# Memory INTs
for i in range(3):
offset = 200 + (i * 2)
var_name = f"M{offset}_int"
- variables[var_name] = {
- "area": "m",
- "offset": offset,
- "type": "int"
- }
-
+ variables[var_name] = {"area": "m", "offset": offset, "type": "int"}
+
# 3. Input Variables
print(" 📥 Variables Input...")
-
+
# Input Words
for i in range(3):
offset = 300 + (i * 2)
var_name = f"PEW{offset}"
- variables[var_name] = {
- "area": "e",
- "offset": offset,
- "type": "int"
- }
-
+ variables[var_name] = {"area": "e", "offset": offset, "type": "int"}
+
# Input Bits
for byte_offset in range(0, 2):
for bit in range(0, 4):
@@ -156,26 +145,28 @@ class SimpleDataIntegrityVerifier:
"area": "e",
"offset": byte_offset,
"type": "bool",
- "bit": bit
+ "bit": bit,
}
-
+
self.test_results["test_info"]["total_variables"] = len(variables)
print(f"✅ Generadas {len(variables)} variables de test")
-
+
return variables
-
- def read_with_individual_method(self, variables: Dict[str, Dict[str, Any]]) -> Dict[str, Any]:
+
+ def read_with_individual_method(
+ self, variables: Dict[str, Dict[str, Any]]
+ ) -> Dict[str, Any]:
"""Leer variables usando método individual (legacy)."""
print("📖 Leyendo con método INDIVIDUAL...")
-
+
results = {}
-
+
for var_name, config in variables.items():
try:
area = config.get("area", "db").lower()
offset = config.get("offset", 0)
var_type = config.get("type", "real").lower()
-
+
if area == "db":
db = config.get("db", 0)
if var_type == "real":
@@ -218,37 +209,39 @@ class SimpleDataIntegrityVerifier:
value = None
else:
value = None
-
+
results[var_name] = value
-
+
# Pequeña pausa entre lecturas individuales
time.sleep(0.001)
-
+
except Exception as e:
print(f" ❌ Error leyendo {var_name}: {e}")
results[var_name] = None
-
+
successful = len([v for v in results.values() if v is not None])
print(f" ✅ {successful}/{len(variables)} variables leídas exitosamente")
-
+
return results
-
- def read_with_optimized_method(self, variables: Dict[str, Dict[str, Any]]) -> Dict[str, Any]:
+
+ def read_with_optimized_method(
+ self, variables: Dict[str, Dict[str, Any]]
+ ) -> Dict[str, Any]:
"""Leer variables usando método optimizado (read_multi_vars) con chunking."""
print("🚀 Leyendo con método OPTIMIZADO...")
-
+
results = {}
CHUNK_SIZE = 19 # Límite seguro para S7 (detectamos que el límite es 20)
-
+
try:
# Preparar S7DataItems
all_items = []
all_var_map = []
-
+
for var_name, config in variables.items():
try:
item = S7DataItem()
-
+
# Configurar área
area = config.get("area", "db").lower()
if area == "db":
@@ -259,7 +252,7 @@ class SimpleDataIntegrityVerifier:
item.Area = 129
else:
continue
-
+
# Configurar tipo
var_type = config.get("type", "real").lower()
if var_type == "real":
@@ -273,56 +266,60 @@ class SimpleDataIntegrityVerifier:
buffer_size = 1
else:
continue
-
+
item.DBNumber = config.get("db", 0)
item.Start = config.get("offset", 0)
item.Amount = 1
-
+
# Para BOOLs, ajustar offset
if var_type == "bool" and "bit" in config:
bit = config["bit"]
item.Start = (item.Start * 8) + bit
-
+
# Allocar buffer
buffer = (ctypes.c_ubyte * buffer_size)()
item.pData = ctypes.cast(buffer, ctypes.POINTER(ctypes.c_ubyte))
-
+
all_items.append(item)
all_var_map.append({"name": var_name, "config": config})
-
+
except Exception as e:
print(f" ❌ Error preparando {var_name}: {e}")
results[var_name] = None
-
+
if not all_items:
return results
-
- print(f" 📊 Procesando {len(all_items)} variables en chunks de {CHUNK_SIZE}")
-
+
+ print(
+ f" 📊 Procesando {len(all_items)} variables en chunks de {CHUNK_SIZE}"
+ )
+
# Procesar en chunks
for chunk_start in range(0, len(all_items), CHUNK_SIZE):
chunk_end = min(chunk_start + CHUNK_SIZE, len(all_items))
-
+
chunk_items = all_items[chunk_start:chunk_end]
chunk_var_map = all_var_map[chunk_start:chunk_end]
-
- print(f" 🔄 Procesando chunk {chunk_start//CHUNK_SIZE + 1}: variables {chunk_start+1}-{chunk_end}")
-
+
+ print(
+ f" 🔄 Procesando chunk {chunk_start//CHUNK_SIZE + 1}: variables {chunk_start+1}-{chunk_end}"
+ )
+
# Convertir chunk a ctypes array
items_array = (S7DataItem * len(chunk_items))(*chunk_items)
-
+
# Llamar read_multi_vars para este chunk
result = self.plc.read_multi_vars(items_array)
-
+
if isinstance(result, tuple) and len(result) == 2:
ret_code, returned_items = result
-
+
if ret_code == 0:
for i, item in enumerate(returned_items):
var_name = chunk_var_map[i]["name"]
config = chunk_var_map[i]["config"]
var_type = config.get("type", "real").lower()
-
+
if item.Result == 0:
try:
if var_type == "real":
@@ -333,58 +330,67 @@ class SimpleDataIntegrityVerifier:
value = snap7.util.get_bool(item.pData, 0, 0)
else:
value = None
-
+
results[var_name] = value
except Exception as e:
print(f" ❌ Error extrayendo {var_name}: {e}")
results[var_name] = None
else:
- print(f" ❌ Error leyendo {var_name}: código {item.Result}")
+ print(
+ f" ❌ Error leyendo {var_name}: código {item.Result}"
+ )
results[var_name] = None
else:
print(f" ❌ Chunk falló: código {ret_code}")
for var_info in chunk_var_map:
results[var_info["name"]] = None
else:
- print(f" ❌ Formato de resultado inesperado para chunk: {type(result)}")
+ print(
+ f" ❌ Formato de resultado inesperado para chunk: {type(result)}"
+ )
for var_info in chunk_var_map:
results[var_info["name"]] = None
-
+
# Pequeña pausa entre chunks
time.sleep(0.01)
-
+
except Exception as e:
print(f" ❌ Error en método optimizado: {e}")
import traceback
+
traceback.print_exc()
for var_name in variables.keys():
if var_name not in results:
results[var_name] = None
-
+
successful = len([v for v in results.values() if v is not None])
print(f" ✅ {successful}/{len(variables)} variables leídas exitosamente")
-
+
return results
-
- def compare_results(self, individual_results: Dict[str, Any],
- optimized_results: Dict[str, Any], pass_name: str) -> Dict[str, Any]:
+
+ def compare_results(
+ self,
+ individual_results: Dict[str, Any],
+ optimized_results: Dict[str, Any],
+ pass_name: str,
+ ) -> Dict[str, Any]:
"""Comparar resultados entre métodos."""
print(f"🔍 Comparando resultados - {pass_name}...")
-
+
comparison = {
"identical": [],
"different": [],
"individual_errors": [],
"optimized_errors": [],
- "both_errors": []
+ "both_errors": [],
}
-
+
total_vars = len(individual_results)
-
+
for var_name in individual_results.keys():
individual_val = individual_results.get(var_name)
optimized_val = optimized_results.get(var_name)
-
+
if individual_val is None and optimized_val is None:
comparison["both_errors"].append(var_name)
elif individual_val is None:
@@ -396,126 +402,136 @@ class SimpleDataIntegrityVerifier:
if self._values_equal(individual_val, optimized_val):
comparison["identical"].append(var_name)
else:
- comparison["different"].append({
- "variable": var_name,
- "individual": individual_val,
- "optimized": optimized_val
- })
-
+ comparison["different"].append(
+ {
+ "variable": var_name,
+ "individual": individual_val,
+ "optimized": optimized_val,
+ }
+ )
+
# Estadísticas
identical_count = len(comparison["identical"])
different_count = len(comparison["different"])
-
+
print(f" 📊 Resultados {pass_name}:")
- print(f" ✅ Idénticas: {identical_count}/{total_vars} ({identical_count/total_vars*100:.1f}%)")
+ print(
+ f" ✅ Idénticas: {identical_count}/{total_vars} ({identical_count/total_vars*100:.1f}%)"
+ )
print(f" ❌ Diferentes: {different_count}/{total_vars}")
print(f" ⚠️ Errores individual: {len(comparison['individual_errors'])}")
print(f" ⚠️ Errores optimizado: {len(comparison['optimized_errors'])}")
print(f" ⚠️ Errores ambos: {len(comparison['both_errors'])}")
-
+
return comparison
-
+
def _values_equal(self, val1: Any, val2: Any, tolerance: float = 1e-6) -> bool:
"""Comparar valores con tolerancia para floats."""
if type(val1) != type(val2):
return False
-
+
if isinstance(val1, float):
return abs(val1 - val2) <= tolerance
else:
return val1 == val2
-
+
def run_verification(self) -> bool:
"""Ejecutar verificación de integridad."""
print("🔍 === VERIFICACIÓN DE INTEGRIDAD DE DATOS ===")
print("Sistema de doble pasada para validación de consistencia")
print("=" * 60)
-
+
try:
# 1. Conectar PLC
if not self.connect_plc():
return False
-
+
# 2. Generar variables
variables = self.generate_test_variables()
-
+
# 3. PASADA 1
print(f"\n🔄 PASADA 1")
print("-" * 20)
-
+
time.sleep(0.5)
individual_1 = self.read_with_individual_method(variables)
-
+
time.sleep(0.2)
optimized_1 = self.read_with_optimized_method(variables)
-
+
comparison_1 = self.compare_results(individual_1, optimized_1, "Pasada 1")
-
+
# 4. PASADA 2
print(f"\n🔄 PASADA 2")
print("-" * 20)
-
+
time.sleep(0.5)
individual_2 = self.read_with_individual_method(variables)
-
+
time.sleep(0.2)
optimized_2 = self.read_with_optimized_method(variables)
-
+
comparison_2 = self.compare_results(individual_2, optimized_2, "Pasada 2")
-
+
# 5. Análisis final
print(f"\n🔬 ANÁLISIS FINAL")
print("-" * 20)
-
+
identical_1 = set(comparison_1["identical"])
identical_2 = set(comparison_2["identical"])
consistently_identical = identical_1.intersection(identical_2)
-
+
total_vars = len(variables)
success_rate = len(consistently_identical) / total_vars * 100
-
+
print(f"📊 Resultados Finales:")
- print(f" ✅ Variables consistentemente idénticas: {len(consistently_identical)}/{total_vars} ({success_rate:.1f}%)")
- print(f" 🔄 Variables que cambiaron entre pasadas: {len(identical_1.symmetric_difference(identical_2))}")
-
+ print(
+ f" ✅ Variables consistentemente idénticas: {len(consistently_identical)}/{total_vars} ({success_rate:.1f}%)"
+ )
+ print(
+ f" 🔄 Variables que cambiaron entre pasadas: {len(identical_1.symmetric_difference(identical_2))}"
+ )
+
# Mostrar variables diferentes si las hay
if comparison_1["different"] or comparison_2["different"]:
print(f"\n❌ Variables con diferencias detectadas:")
for diff in comparison_1["different"]:
- print(f" {diff['variable']}: Individual={diff['individual']}, Optimizado={diff['optimized']}")
-
+ print(
+ f" {diff['variable']}: Individual={diff['individual']}, Optimizado={diff['optimized']}"
+ )
+
# 6. Guardar resultado
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"data_integrity_simple_{timestamp}.json"
-
+
report = {
"test_info": self.test_results["test_info"],
"pass_1": {
"individual": individual_1,
"optimized": optimized_1,
- "comparison": comparison_1
+ "comparison": comparison_1,
},
"pass_2": {
"individual": individual_2,
"optimized": optimized_2,
- "comparison": comparison_2
+ "comparison": comparison_2,
},
"final_analysis": {
"success_rate": success_rate,
"consistently_identical": list(consistently_identical),
- "total_variables": total_vars
- }
+ "total_variables": total_vars,
+ },
}
-
- with open(filename, 'w', encoding='utf-8') as f:
+
+ with open(filename, "w", encoding="utf-8") as f:
json.dump(report, f, indent=2, ensure_ascii=False)
-
+
print(f"📄 Reporte guardado: {filename}")
-
+
# 7. Cleanup
self.plc.disconnect()
print("✅ PLC desconectado")
-
+
# Resultado final
if success_rate >= 95.0:
print(f"\n🎉 ¡VERIFICACIÓN EXITOSA! ({success_rate:.1f}%)")
@@ -523,10 +539,11 @@ class SimpleDataIntegrityVerifier:
else:
print(f"\n⚠️ VERIFICACIÓN CON OBSERVACIONES ({success_rate:.1f}%)")
return False
-
+
except Exception as e:
print(f"❌ Error durante verificación: {e}")
import traceback
+
traceback.print_exc()
return False
@@ -535,15 +552,15 @@ def main():
"""Función principal."""
print("🔍 SIMPLE DATA INTEGRITY VERIFICATION")
print("🚀 Iniciando verificación...")
-
+
verifier = SimpleDataIntegrityVerifier()
success = verifier.run_verification()
-
+
if success:
print("✅ ¡Sistema optimizado mantiene integridad de datos!")
else:
print("⚠️ Revisar reporte para detalles")
-
+
return success
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..e69de29
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..e69de29
diff --git a/application_events.json b/application_events.json
index a3593f5..2f0774a 100644
--- a/application_events.json
+++ b/application_events.json
@@ -1,9067 +1,5 @@
{
"events": [
- {
- "timestamp": "2025-08-25T12:56:39.275586",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024317502975464,
- "points_saved": 40,
- "points_rate": 3.990296595067646,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02759968042373657,
- "csv_write_time_avg": 5.137920379638672e-06
- }
- },
- {
- "timestamp": "2025-08-25T12:56:49.299878",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024291276931763,
- "points_saved": 40,
- "points_rate": 3.9903070346777882,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03479456901550293,
- "csv_write_time_avg": 1.0728836059570312e-05
- }
- },
- {
- "timestamp": "2025-08-25T12:56:59.327976",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028098583221436,
- "points_saved": 40,
- "points_rate": 3.9887920594364923,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031082773208618165,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:57:09.357443",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029466390609741,
- "points_saved": 40,
- "points_rate": 3.988248072444879,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.034031301736831665,
- "csv_write_time_avg": 1.7136335372924805e-05
- }
- },
- {
- "timestamp": "2025-08-25T12:57:19.386288",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028845310211182,
- "points_saved": 40,
- "points_rate": 3.988495062265319,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029743784666061403,
- "csv_write_time_avg": 1.7648935317993165e-05
- }
- },
- {
- "timestamp": "2025-08-25T12:57:29.410895",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.024462223052979,
- "points_saved": 40,
- "points_rate": 3.990238988383148,
- "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.034059321880340575,
- "csv_write_time_avg": 1.405477523803711e-05
- }
- },
- {
- "timestamp": "2025-08-25T12:57:39.437781",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027031183242798,
- "points_saved": 40,
- "points_rate": 3.9892166753054594,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03518381714820862,
- "csv_write_time_avg": 1.1229515075683594e-05
- }
- },
- {
- "timestamp": "2025-08-25T12:57:49.463640",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025732278823853,
- "points_saved": 40,
- "points_rate": 3.9897335064977932,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03982223272323608,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:57:59.486353",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.022839307785034,
- "points_saved": 40,
- "points_rate": 3.990885094698747,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.033529913425445555,
- "csv_write_time_avg": 4.38690185546875e-06
- }
- },
- {
- "timestamp": "2025-08-25T12:58:09.510423",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024070501327515,
- "points_saved": 40,
- "points_rate": 3.9903949193795767,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03441189527511597,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:58:19.536931",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026507377624512,
- "points_saved": 40,
- "points_rate": 3.9894250802892075,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03709203004837036,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:58:29.561464",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02453327178955,
- "points_saved": 40,
- "points_rate": 3.990210707621235,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03833760023117065,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:58:39.588526",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027061700820923,
- "points_saved": 40,
- "points_rate": 3.9892045340386377,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.033612263202667234,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:58:49.612536",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.024009704589844,
- "points_saved": 40,
- "points_rate": 3.990419121570144,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03457499146461487,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:58:59.636194",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.023658752441406,
- "points_saved": 40,
- "points_rate": 3.9905588356404715,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03567785024642944,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:59:09.660516",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024321794509888,
- "points_saved": 40,
- "points_rate": 3.9902948867730053,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03313615918159485,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:59:19.685029",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024512529373169,
- "points_saved": 40,
- "points_rate": 3.99021896404385,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03218247890472412,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T12:59:29.710187",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025158166885376,
- "points_saved": 40,
- "points_rate": 3.989961987046358,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030500882863998414,
- "csv_write_time_avg": 1.214742660522461e-05
- }
- },
- {
- "timestamp": "2025-08-25T12:59:39.738289",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02810263633728,
- "points_saved": 40,
- "points_rate": 3.9887904472634936,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030614411830902098,
- "csv_write_time_avg": 1.0967254638671875e-05
- }
- },
- {
- "timestamp": "2025-08-25T12:59:49.762757",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024467706680298,
- "points_saved": 40,
- "points_rate": 3.9902368056255026,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029598152637481688,
- "csv_write_time_avg": 2.22325325012207e-06
- }
- },
- {
- "timestamp": "2025-08-25T12:59:59.786955",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.024198055267334,
- "points_saved": 40,
- "points_rate": 3.9903441431887434,
- "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.029612165689468384,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:00:09.811664",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024708271026611,
- "points_saved": 40,
- "points_rate": 3.990141051346891,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028900301456451415,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:00:19.835594",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.023930788040161,
- "points_saved": 40,
- "points_rate": 3.990450537400472,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031039732694625854,
- "csv_write_time_avg": 1.3709068298339844e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:00:29.859792",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024197578430176,
- "points_saved": 40,
- "points_rate": 3.9903443330038733,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027347350120544435,
- "csv_write_time_avg": 2.2828578948974608e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:00:39.884021",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024229288101196,
- "points_saved": 40,
- "points_rate": 3.9903317103370903,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0278947114944458,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:00:49.908318",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.02429723739624,
- "points_saved": 40,
- "points_rate": 3.990304662034323,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027148842811584473,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:00:59.933719",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025400876998901,
- "points_saved": 40,
- "points_rate": 3.98986539199358,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03203023076057434,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:01:09.960239",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026519775390625,
- "points_saved": 40,
- "points_rate": 3.9894201473752773,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03012676239013672,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:01:19.985226",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024986982345581,
- "points_saved": 40,
- "points_rate": 3.990030118786355,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.025900745391845705,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:01:30.012712",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026511430740356,
- "points_saved": 40,
- "points_rate": 3.9894234676044653,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028688716888427734,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:01:40.039502",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027764797210693,
- "points_saved": 40,
- "points_rate": 3.9889248310975876,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028957146406173705,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:01:50.066830",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.027328252792358,
- "points_saved": 40,
- "points_rate": 3.9890984908029723,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02965931296348572,
- "csv_write_time_avg": 2.3365020751953127e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:02:00.092630",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.024829864501953,
- "points_saved": 40,
- "points_rate": 3.9900926540050814,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02751281261444092,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:02:10.118369",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026708602905273,
- "points_saved": 40,
- "points_rate": 3.9893450168093905,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02914091944694519,
- "csv_write_time_avg": 1.33514404296875e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:02:20.143105",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024654388427734,
- "points_saved": 40,
- "points_rate": 3.9901624983874977,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031223171949386598,
- "csv_write_time_avg": 1.0412931442260742e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:02:30.167997",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02497410774231,
- "points_saved": 40,
- "points_rate": 3.9900352429945842,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029384100437164308,
- "csv_write_time_avg": 1.537203788757324e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:02:40.194798",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026800870895386,
- "points_saved": 40,
- "points_rate": 3.989308306312064,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02857844829559326,
- "csv_write_time_avg": 7.450580596923828e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:02:50.218905",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024107217788696,
- "points_saved": 40,
- "points_rate": 3.99038030329687,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027588796615600587,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:03:00.243280",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024374961853027,
- "points_saved": 40,
- "points_rate": 3.9902737230218204,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.026325196027755737,
- "csv_write_time_avg": 7.188320159912109e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:03:10.270456",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026121377944946,
- "points_saved": 40,
- "points_rate": 3.9895786707699723,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027967500686645507,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:03:20.299020",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.02961802482605,
- "points_saved": 40,
- "points_rate": 3.988187775545295,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.026548975706100465,
- "csv_write_time_avg": 3.445148468017578e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:03:30.324664",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025644063949585,
- "points_saved": 40,
- "points_rate": 3.9897686118573485,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02781982421875,
- "csv_write_time_avg": 2.4855136871337892e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:03:40.351685",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026909112930298,
- "points_saved": 40,
- "points_rate": 3.9892652411118013,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02813042402267456,
- "csv_write_time_avg": 7.790327072143554e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:03:50.378823",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027250051498413,
- "points_saved": 40,
- "points_rate": 3.989129601293092,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027640193700790405,
- "csv_write_time_avg": 2.54511833190918e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:04:00.403911",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025087594985962,
- "points_saved": 40,
- "points_rate": 3.98999007450129,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028543633222579957,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:04:10.429718",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02580738067627,
- "points_saved": 40,
- "points_rate": 3.9897036199893443,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028236132860183717,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:04:20.454954",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.0252366065979,
- "points_saved": 40,
- "points_rate": 3.989930768683787,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.026930010318756102,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:04:30.490614",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.035658836364746,
- "points_saved": 40,
- "points_rate": 3.9857871468346318,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029343831539154052,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:04:40.517349",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026735544204712,
- "points_saved": 40,
- "points_rate": 3.9893342976537705,
- "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.026088935136795045,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:04:50.543577",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025712966918945,
- "points_saved": 40,
- "points_rate": 3.9897411916723375,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027396786212921142,
- "csv_write_time_avg": 9.024143218994141e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:05:00.567932",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.0248703956604,
- "points_saved": 40,
- "points_rate": 3.9900765218187093,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027488279342651366,
- "csv_write_time_avg": 1.7821788787841797e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:05:10.598919",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.030986547470093,
- "points_saved": 40,
- "points_rate": 3.987643669015623,
- "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.0267602801322937,
- "csv_write_time_avg": 1.3488531112670899e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:05:20.624942",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025044441223145,
- "points_saved": 40,
- "points_rate": 3.990007249795258,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02661867141723633,
- "csv_write_time_avg": 1.0818243026733398e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:05:30.652397",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.028433561325073,
- "points_saved": 40,
- "points_rate": 3.9886588224766317,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02771233320236206,
- "csv_write_time_avg": 1.4513731002807617e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:05:40.678104",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025707244873047,
- "points_saved": 40,
- "points_rate": 3.989743468766777,
- "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.026886147260665894,
- "csv_write_time_avg": 1.4942884445190429e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:05:50.706750",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028555631637573,
- "points_saved": 40,
- "points_rate": 3.988610271434308,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027034324407577515,
- "csv_write_time_avg": 5.906820297241211e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:06:00.731128",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024374008178711,
- "points_saved": 40,
- "points_rate": 3.9902741026386987,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02711039185523987,
- "csv_write_time_avg": 1.6474723815917967e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:06:10.756291",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025257349014282,
- "points_saved": 40,
- "points_rate": 3.9899225134537755,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02662447690963745,
- "csv_write_time_avg": 1.6748905181884766e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:06:20.782134",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025842666625977,
- "points_saved": 40,
- "points_rate": 3.98968957822887,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02847936749458313,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:06:30.808389",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026255130767822,
- "points_saved": 40,
- "points_rate": 3.9895254487641143,
- "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.028397655487060545,
- "csv_write_time_avg": 1.7213821411132813e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:06:40.833733",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025344371795654,
- "points_saved": 40,
- "points_rate": 3.989887879815099,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027933883666992187,
- "csv_write_time_avg": 5.769729614257812e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:06:50.859488",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025754690170288,
- "points_saved": 40,
- "points_rate": 3.9897245879372893,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0284526526927948,
- "csv_write_time_avg": 5.072355270385742e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:07:00.885258",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.02577018737793,
- "points_saved": 40,
- "points_rate": 3.989718420870898,
- "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.029016852378845215,
- "csv_write_time_avg": 1.806020736694336e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:07:10.911813",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026554346084595,
- "points_saved": 40,
- "points_rate": 3.9894063921989456,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028927409648895265,
- "csv_write_time_avg": 2.777576446533203e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:07:20.937593",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.02578091621399,
- "points_saved": 40,
- "points_rate": 3.9897141513745646,
- "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.02955195903778076,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:07:30.961519",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.023925065994263,
- "points_saved": 40,
- "points_rate": 3.9904528153046845,
- "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.029320037364959715,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:07:40.986576",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025057315826416,
- "points_saved": 40,
- "points_rate": 3.990002125658929,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028709083795547485,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:07:51.011773",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02519679069519,
- "points_saved": 40,
- "points_rate": 3.9899466150256218,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029056376218795775,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:08:01.037920",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026147603988647,
- "points_saved": 40,
- "points_rate": 3.9895682349706303,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02827322483062744,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:08:11.062669",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024749040603638,
- "points_saved": 40,
- "points_rate": 3.9901248238720406,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028116285800933838,
- "csv_write_time_avg": 2.9265880584716798e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:08:21.088473",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025803565979004,
- "points_saved": 40,
- "points_rate": 3.989705138023424,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028060686588287354,
- "csv_write_time_avg": 4.488229751586914e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:08:31.112712",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02423906326294,
- "points_saved": 40,
- "points_rate": 3.990327819155163,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027006059885025024,
- "csv_write_time_avg": 2.2846460342407227e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:08:41.139297",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026585102081299,
- "points_saved": 40,
- "points_rate": 3.9893941549149052,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028690862655639648,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:08:51.165971",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026674270629883,
- "points_saved": 40,
- "points_rate": 3.9893586767017983,
- "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.028262126445770263,
- "csv_write_time_avg": 5.167722702026367e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:09:01.190728",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02475619316101,
- "points_saved": 40,
- "points_rate": 3.990121976960238,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02859688997268677,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:09:11.218736",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028008937835693,
- "points_saved": 40,
- "points_rate": 3.988827717243045,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027675211429595947,
- "csv_write_time_avg": 1.3530254364013671e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:09:21.244011",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025274515151978,
- "points_saved": 40,
- "points_rate": 3.989915681565117,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027913939952850342,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:09:31.268372",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.02436113357544,
- "points_saved": 40,
- "points_rate": 3.9902792274736214,
- "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.02821305990219116,
- "csv_write_time_avg": 7.18235969543457e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:09:41.294021",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025648593902588,
- "points_saved": 40,
- "points_rate": 3.989766809134648,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030151951313018798,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:09:51.318834",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.024813652038574,
- "points_saved": 40,
- "points_rate": 3.9900991069161558,
- "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.028619158267974853,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:10:01.344857",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026022911071777,
- "points_saved": 40,
- "points_rate": 3.989617852940256,
- "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.029345440864562988,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:10:11.372510",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027652740478516,
- "points_saved": 40,
- "points_rate": 3.9889694064227452,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028062093257904052,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:10:21.399025",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026515007019043,
- "points_saved": 40,
- "points_rate": 3.989422044648422,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02939146161079407,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:10:31.424641",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02561616897583,
- "points_saved": 40,
- "points_rate": 3.9897797128698786,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027816158533096314,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:10:41.450089",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025447845458984,
- "points_saved": 40,
- "points_rate": 3.9898466997779014,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030446767807006836,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:10:51.475900",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025811433792114,
- "points_saved": 40,
- "points_rate": 3.9897020070794005,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028886884450912476,
- "csv_write_time_avg": 1.531839370727539e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:11:01.504895",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.02899432182312,
- "points_saved": 40,
- "points_rate": 3.9884358008818377,
- "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.02792678475379944,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:11:11.529723",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.0248281955719,
- "points_saved": 40,
- "points_rate": 3.9900933182743756,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027146577835083008,
- "csv_write_time_avg": 2.5212764739990233e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:11:21.555017",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025166511535645,
- "points_saved": 40,
- "points_rate": 3.989958665920736,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029243946075439453,
- "csv_write_time_avg": 1.8978118896484374e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:11:31.580530",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025640726089478,
- "points_saved": 40,
- "points_rate": 3.9897699401803806,
- "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.028018510341644286,
- "csv_write_time_avg": 2.2655725479125978e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:11:41.606759",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026228427886963,
- "points_saved": 40,
- "points_rate": 3.9895360740778614,
- "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.02914227843284607,
- "csv_write_time_avg": 2.5987625122070313e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:11:51.631906",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025147438049316,
- "points_saved": 40,
- "points_rate": 3.989966257073139,
- "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.02825446128845215,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:12:01.657681",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025774955749512,
- "points_saved": 40,
- "points_rate": 3.989716523315844,
- "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.02977135181427002,
- "csv_write_time_avg": 1.290440559387207e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:12:11.683262",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025580644607544,
- "points_saved": 40,
- "points_rate": 3.9897938501462047,
- "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.026884937286376955,
- "csv_write_time_avg": 1.913309097290039e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:12:21.710970",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027708768844604,
- "points_saved": 40,
- "points_rate": 3.9889471186356373,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030802989006042482,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:12:31.740307",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.029336929321289,
- "points_saved": 41,
- "points_rate": 4.088007042632536,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.0,
- "cpu_max": 0.0,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02850969244794148,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:12:41.765735",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 39 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02542781829834,
- "points_saved": 39,
- "points_rate": 3.890108303290307,
- "variables_saved": 117,
- "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.028657570863381412,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:12:51.791352",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025516510009766,
- "points_saved": 41,
- "points_rate": 4.089564857737196,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.0,
- "cpu_max": 0.0,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02819952732179223,
- "csv_write_time_avg": 1.3037425715748856e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:13:01.816272",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025020360946655,
- "points_saved": 40,
- "points_rate": 3.990016833863351,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028816258907318114,
- "csv_write_time_avg": 2.397894859313965e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:13:11.841991",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025718688964844,
- "points_saved": 40,
- "points_rate": 3.989738914580497,
- "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.02973046898841858,
- "csv_write_time_avg": 8.45789909362793e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:13:21.867647",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025655746459961,
- "points_saved": 40,
- "points_rate": 3.9897639627337016,
- "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.029222548007965088,
- "csv_write_time_avg": 5.728006362915039e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:13:31.894446",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.02679967880249,
- "points_saved": 40,
- "points_rate": 3.989308780603587,
- "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.02901836633682251,
- "csv_write_time_avg": 1.1104345321655274e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:13:41.922270",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02782416343689,
- "points_saved": 40,
- "points_rate": 3.9889012160630655,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02945091724395752,
- "csv_write_time_avg": 8.279085159301758e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:13:51.949063",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026793241500854,
- "points_saved": 41,
- "points_rate": 4.0890441253242535,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02808553416554521,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:14:01.976282",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02721881866455,
- "points_saved": 40,
- "points_rate": 3.989142026654934,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028803932666778564,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:14:12.002164",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 39 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025881290435791,
- "points_saved": 39,
- "points_rate": 3.8899323530993857,
- "variables_saved": 117,
- "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.03208387203705616,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:14:22.026767",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.024603605270386,
- "points_saved": 41,
- "points_rate": 4.089937279758818,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02863176276044148,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:14:32.051353",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.024586200714111,
- "points_saved": 40,
- "points_rate": 3.9901896396631873,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02638845443725586,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:14:42.077446",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026092767715454,
- "points_saved": 40,
- "points_rate": 3.9895900553406114,
- "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.028278273344039918,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:14:52.104098",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026652097702026,
- "points_saved": 40,
- "points_rate": 3.9893674987653616,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027522671222686767,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:15:02.129765",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.024669885635376,
- "points_saved": 40,
- "points_rate": 3.9901563299672436,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029466569423675537,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:15:12.161816",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.033047914505005,
- "points_saved": 40,
- "points_rate": 3.9868243768846248,
- "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.027992796897888184,
- "csv_write_time_avg": 2.421736717224121e-05
- }
- },
- {
- "timestamp": "2025-08-25T13:15:22.188014",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02619743347168,
- "points_saved": 40,
- "points_rate": 3.9895484071022893,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027422761917114256,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:15:32.215462",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.027448415756226,
- "points_saved": 40,
- "points_rate": 3.989050687824793,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027330833673477172,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:15:42.242262",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026800155639648,
- "points_saved": 40,
- "points_rate": 3.989308590886964,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029438608884811403,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:15:52.268431",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.026168584823608,
- "points_saved": 40,
- "points_rate": 3.989559886370465,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028185999393463133,
- "csv_write_time_avg": 1.2636184692382812e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:16:02.294797",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026366233825684,
- "points_saved": 40,
- "points_rate": 3.9894812404770406,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02759019136428833,
- "csv_write_time_avg": 3.564357757568359e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:16:12.320870",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026073217391968,
- "points_saved": 40,
- "points_rate": 3.9895978348345835,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027175766229629517,
- "csv_write_time_avg": 3.2722949981689452e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:16:22.345559",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.024689197540283,
- "points_saved": 40,
- "points_rate": 3.9901486431933106,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028501623868942262,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:16:32.370635",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025075197219849,
- "points_saved": 40,
- "points_rate": 3.9899950088247507,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027850109338760375,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:16:42.399764",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.6% CPU",
- "details": {
- "duration": 10.029129266738892,
- "points_saved": 40,
- "points_rate": 3.9883821352924436,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.6,
- "cpu_max": 0.6,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028364723920822142,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:16:52.429123",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029359579086304,
- "points_saved": 40,
- "points_rate": 3.9882905468271272,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028344136476516724,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:17:02.454254",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.02513074874878,
- "points_saved": 40,
- "points_rate": 3.9899728993551866,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030476605892181395,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:17:12.479395",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.02514123916626,
- "points_saved": 40,
- "points_rate": 3.9899687242038895,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029007327556610108,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:17:22.509659",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030263423919678,
- "points_saved": 40,
- "points_rate": 3.9879311548897083,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02844504714012146,
- "csv_write_time_avg": 2.0503997802734374e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:17:32.543993",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.034334421157837,
- "points_saved": 40,
- "points_rate": 3.9863132242890207,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0324362576007843,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:17:42.570319",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026325464248657,
- "points_saved": 40,
- "points_rate": 3.989497462717512,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03565124273300171,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:17:52.602354",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.03203535079956,
- "points_saved": 40,
- "points_rate": 3.9872267791412805,
- "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.036575710773468016,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:18:02.627379",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.6% CPU",
- "details": {
- "duration": 10.025025367736816,
- "points_saved": 40,
- "points_rate": 3.9900148411325302,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.6,
- "cpu_max": 0.6,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03514876961708069,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:18:12.656998",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.029618263244629,
- "points_saved": 40,
- "points_rate": 3.988187680740285,
- "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.03143860101699829,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:18:22.681846",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024848699569702,
- "points_saved": 40,
- "points_rate": 3.9900851572669547,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03724043965339661,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:18:32.709850",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.028003215789795,
- "points_saved": 40,
- "points_rate": 3.9888299932948956,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0373134195804596,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:18:42.736074",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.026224136352539,
- "points_saved": 40,
- "points_rate": 3.9895377817228495,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03661327958106995,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:18:52.762983",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026909589767456,
- "points_saved": 40,
- "points_rate": 3.9892650513993195,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0358713686466217,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:19:02.793279",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.030295133590698,
- "points_saved": 40,
- "points_rate": 3.9879185474855103,
- "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.03491642475128174,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:19:12.820656",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.6% CPU",
- "details": {
- "duration": 10.027377367019653,
- "points_saved": 40,
- "points_rate": 3.9890789521456735,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.6,
- "cpu_max": 0.6,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03830808401107788,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:19:22.847155",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025521039962769,
- "points_saved": 40,
- "points_rate": 3.9898175706335706,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03819379210472107,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:19:32.876066",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029889583587646,
- "points_saved": 40,
- "points_rate": 3.9880797955596416,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03172769546508789,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:19:42.900752",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.024685859680176,
- "points_saved": 40,
- "points_rate": 3.9901499717694042,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03281664252281189,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:19:52.927862",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.027109384536743,
- "points_saved": 40,
- "points_rate": 3.9891855634571813,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02924702763557434,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:20:02.954290",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.026427984237671,
- "points_saved": 40,
- "points_rate": 3.9894566702003074,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031773161888122556,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:20:12.983665",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029375314712524,
- "points_saved": 40,
- "points_rate": 3.988284289383634,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03017194867134094,
- "csv_write_time_avg": 1.5079975128173829e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:20:23.011811",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.02764368057251,
- "points_saved": 40,
- "points_rate": 3.9889730104287344,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.032124072313308716,
- "csv_write_time_avg": 2.4616718292236326e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:20:33.036905",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025596141815186,
- "points_saved": 40,
- "points_rate": 3.989787682865689,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03193663358688355,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:20:43.062085",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.8% CPU",
- "details": {
- "duration": 10.025180578231812,
- "points_saved": 40,
- "points_rate": 3.989953067464346,
- "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.032580089569091794,
- "csv_write_time_avg": 3.2842159271240235e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:20:53.088229",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026143550872803,
- "points_saved": 40,
- "points_rate": 3.989569847772416,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030913645029067995,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:21:03.114617",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.026388168334961,
- "points_saved": 40,
- "points_rate": 3.989472512776515,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03254532814025879,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:21:13.146213",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.031595945358276,
- "points_saved": 40,
- "points_rate": 3.987401428235197,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.033677142858505246,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:21:23.171504",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025291442871094,
- "points_saved": 40,
- "points_rate": 3.9899089445867117,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03415253758430481,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:21:33.196926",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025420904159546,
- "points_saved": 40,
- "points_rate": 3.9898574216873035,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029367059469223022,
- "csv_write_time_avg": 2.8252601623535155e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:21:43.221551",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024626016616821,
- "points_saved": 40,
- "points_rate": 3.9901737913909203,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03228580355644226,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:21:53.254194",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.032642602920532,
- "points_saved": 40,
- "points_rate": 3.986985441737542,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03364863991737366,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:22:03.280436",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026241779327393,
- "points_saved": 40,
- "points_rate": 3.989530761413913,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.032796406745910646,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:22:13.308389",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.027952909469604,
- "points_saved": 40,
- "points_rate": 3.9888500036958856,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031354624032974246,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:22:23.335222",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.026833057403564,
- "points_saved": 40,
- "points_rate": 3.9892955004835744,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030044692754745483,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:22:33.361193",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025970697402954,
- "points_saved": 40,
- "points_rate": 3.9896386302386935,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031102579832077027,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:22:43.388558",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026389598846436,
- "points_saved": 40,
- "points_rate": 3.9894719435799817,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028623127937316896,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:22:53.422068",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.034485340118408,
- "points_saved": 40,
- "points_rate": 3.9862532700185294,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.026832437515258788,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:23:03.450090",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028022527694702,
- "points_saved": 40,
- "points_rate": 3.9888223116303094,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02789350152015686,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:23:13.476651",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02656078338623,
- "points_saved": 40,
- "points_rate": 3.989403830900725,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027393245697021486,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:23:23.505910",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029258966445923,
- "points_saved": 40,
- "points_rate": 3.988330557005732,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02865273356437683,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:23:33.531843",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025933504104614,
- "points_saved": 40,
- "points_rate": 3.989653430638056,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027326977252960204,
- "csv_write_time_avg": 2.181529998779297e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:23:43.557110",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025267124176025,
- "points_saved": 40,
- "points_rate": 3.9899186230698658,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028902554512023927,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:23:53.584748",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.027637243270874,
- "points_saved": 40,
- "points_rate": 3.9889755711737895,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02779918909072876,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:24:03.614948",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.030200004577637,
- "points_saved": 40,
- "points_rate": 3.987956369937248,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02831815481185913,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:24:13.641933",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.026985168457031,
- "points_saved": 40,
- "points_rate": 3.9892349821990676,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02776889204978943,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:24:23.668753",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.026820659637451,
- "points_saved": 40,
- "points_rate": 3.989300433089258,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029917192459106446,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:24:33.693502",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.0247483253479,
- "points_saved": 40,
- "points_rate": 3.9901251085634444,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027530992031097413,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:24:43.719122",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025620460510254,
- "points_saved": 40,
- "points_rate": 3.9897780050177762,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028660929203033446,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:24:53.745496",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026373624801636,
- "points_saved": 40,
- "points_rate": 3.9894782996171627,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02694946527481079,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:25:03.772355",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025883197784424,
- "points_saved": 40,
- "points_rate": 3.989673449301646,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029542982578277588,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:25:13.801756",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.03037691116333,
- "points_saved": 40,
- "points_rate": 3.9878860340215043,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028001147508621215,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:25:23.826973",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025217294692993,
- "points_saved": 40,
- "points_rate": 3.9899384546182985,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029370689392089845,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:25:33.855115",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.028141498565674,
- "points_saved": 40,
- "points_rate": 3.9887749894356004,
- "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.028916722536087035,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:25:43.880338",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.02522325515747,
- "points_saved": 40,
- "points_rate": 3.9899360824131294,
- "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.02973889112472534,
- "csv_write_time_avg": 2.944469451904297e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:25:53.904739",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.02440071105957,
- "points_saved": 40,
- "points_rate": 3.990263473393417,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02889465093612671,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:26:03.930428",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.025689363479614,
- "points_saved": 40,
- "points_rate": 3.9897505847036543,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029343509674072267,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:26:13.955961",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025533199310303,
- "points_saved": 40,
- "points_rate": 3.9898127316312477,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028719794750213624,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:26:23.981206",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.025245189666748,
- "points_saved": 40,
- "points_rate": 3.9899273527223977,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028572100400924682,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:26:34.006316",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025109052658081,
- "points_saved": 40,
- "points_rate": 3.989981534354911,
- "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.028202748298645018,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:26:44.031564",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025248527526855,
- "points_saved": 40,
- "points_rate": 3.9899260242945482,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028044295310974122,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:26:54.059792",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02822756767273,
- "points_saved": 40,
- "points_rate": 3.988740755040811,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02778930068016052,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:27:04.085103",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.6% CPU",
- "details": {
- "duration": 10.02531099319458,
- "points_saved": 40,
- "points_rate": 3.9899011638794,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.6,
- "cpu_max": 0.6,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02840571999549866,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:27:14.110037",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.0249342918396,
- "points_saved": 40,
- "points_rate": 3.990051090166288,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030406349897384645,
- "csv_write_time_avg": 2.843141555786133e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:27:24.135385",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02534794807434,
- "points_saved": 40,
- "points_rate": 3.989886456527742,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03155997395515442,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:27:34.170299",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.034914255142212,
- "points_saved": 40,
- "points_rate": 3.986082888501286,
- "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.030411767959594726,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:27:44.195392",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025093078613281,
- "points_saved": 40,
- "points_rate": 3.9899878920159604,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.033922821283340454,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:27:54.221507",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025099277496338,
- "points_saved": 40,
- "points_rate": 3.989985424861506,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03365584015846253,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:28:04.252518",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.031052589416504,
- "points_saved": 40,
- "points_rate": 3.9876174153650568,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03314006328582764,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:28:14.280646",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.0281343460083,
- "points_saved": 40,
- "points_rate": 3.988777834425603,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030759942531585694,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:28:24.309321",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029642820358276,
- "points_saved": 40,
- "points_rate": 3.9881779158483663,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.033009564876556395,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:28:34.335485",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026163578033447,
- "points_saved": 40,
- "points_rate": 3.9895618786468754,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03256765604019165,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:28:44.360579",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025093793869019,
- "points_saved": 40,
- "points_rate": 3.989987607344137,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028107541799545287,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:28:54.384979",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.024400234222412,
- "points_saved": 40,
- "points_rate": 3.9902636632008717,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02911369800567627,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:29:04.413975",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028995990753174,
- "points_saved": 40,
- "points_rate": 3.988435137164315,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029707318544387816,
- "csv_write_time_avg": 2.562999725341797e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:29:14.441432",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027456760406494,
- "points_saved": 40,
- "points_rate": 3.9890473682160734,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02861438989639282,
- "csv_write_time_avg": 2.54511833190918e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:29:24.467142",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025710344314575,
- "points_saved": 40,
- "points_rate": 3.9897422353403,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030916929244995117,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:29:34.492850",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025708436965942,
- "points_saved": 40,
- "points_rate": 3.989742994371888,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030344384908676147,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:29:44.519247",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025422096252441,
- "points_saved": 40,
- "points_rate": 3.9898569472653147,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02800748348236084,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:29:54.547531",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029258012771606,
- "points_saved": 40,
- "points_rate": 3.9883309362529715,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02928798198699951,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:30:04.573891",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026360750198364,
- "points_saved": 40,
- "points_rate": 3.9894834224081386,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028969383239746092,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:30:14.598742",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024851083755493,
- "points_saved": 40,
- "points_rate": 3.99008420831477,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0298159122467041,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:30:24.628018",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029276132583618,
- "points_saved": 40,
- "points_rate": 3.9883237305677506,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02882821559906006,
- "csv_write_time_avg": 3.3080577850341797e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:30:34.654174",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026155710220337,
- "points_saved": 40,
- "points_rate": 3.9895650093709696,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.032212483882904056,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:30:44.678778",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.024604082107544,
- "points_saved": 40,
- "points_rate": 3.990182522160069,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03142939209938049,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:30:54.705928",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026175737380981,
- "points_saved": 40,
- "points_rate": 3.989557040264758,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029040366411209106,
- "csv_write_time_avg": 2.7298927307128905e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:31:04.737561",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.032607316970825,
- "points_saved": 40,
- "points_rate": 3.986999464469952,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02840970754623413,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:31:14.763267",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025706052780151,
- "points_saved": 40,
- "points_rate": 3.9897439431617796,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02995166778564453,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:31:24.792276",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029008865356445,
- "points_saved": 40,
- "points_rate": 3.9884300170651352,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028955179452896117,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:31:34.819174",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026897668838501,
- "points_saved": 40,
- "points_rate": 3.989269794216772,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02794131636619568,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:31:44.843519",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.023371696472168,
- "points_saved": 40,
- "points_rate": 3.990673119912177,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028428369760513307,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:31:54.873261",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030715942382812,
- "points_saved": 40,
- "points_rate": 3.9877512462483247,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02878730297088623,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:32:04.899190",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025928974151611,
- "points_saved": 40,
- "points_rate": 3.9896552332583006,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02847311496734619,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:32:14.928803",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029612064361572,
- "points_saved": 40,
- "points_rate": 3.988190145672017,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03226140737533569,
- "csv_write_time_avg": 4.0709972381591795e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:32:24.955927",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.027124404907227,
- "points_saved": 40,
- "points_rate": 3.9891795877613916,
- "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.03240758776664734,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:32:34.986146",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030218839645386,
- "points_saved": 40,
- "points_rate": 3.9879488812244284,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03129786252975464,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:32:45.014164",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.028018236160278,
- "points_saved": 40,
- "points_rate": 3.988824018664327,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0314714789390564,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:32:55.044584",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.029444217681885,
- "points_saved": 40,
- "points_rate": 3.9882568895971424,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028548240661621094,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:33:05.075531",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.031923055648804,
- "points_saved": 40,
- "points_rate": 3.9872714112850662,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028417211771011353,
- "csv_write_time_avg": 3.2961368560791014e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:33:15.104293",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028761386871338,
- "points_saved": 40,
- "points_rate": 3.98852843905171,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030388528108596803,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:33:25.130888",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025614023208618,
- "points_saved": 40,
- "points_rate": 3.9897805667964783,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03278307318687439,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:33:35.161693",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.0317862033844,
- "points_saved": 40,
- "points_rate": 3.987325805099923,
- "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.03072272539138794,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:33:45.187082",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025389432907104,
- "points_saved": 40,
- "points_rate": 3.9898699464686063,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02803138494491577,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:33:55.212953",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02587103843689,
- "points_saved": 40,
- "points_rate": 3.9896782879661203,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029479455947875977,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:34:05.237860",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.024906873703003,
- "points_saved": 40,
- "points_rate": 3.9900620029625062,
- "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.03067734241485596,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:34:15.262956",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025095701217651,
- "points_saved": 40,
- "points_rate": 3.9899868482194725,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028440052270889284,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:34:25.288462",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025506019592285,
- "points_saved": 40,
- "points_rate": 3.9898235482408806,
- "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.03175904750823975,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:34:35.313517",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025054931640625,
- "points_saved": 40,
- "points_rate": 3.9900030745720714,
- "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.029087311029434203,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:34:45.339469",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025951623916626,
- "points_saved": 40,
- "points_rate": 3.989646220173367,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02965685725212097,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:34:55.365203",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025734424591064,
- "points_saved": 40,
- "points_rate": 3.989732652591338,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028727054595947266,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:35:05.395933",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.030729532241821,
- "points_saved": 40,
- "points_rate": 3.9877458435528355,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030953770875930785,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:35:15.423923",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027990341186523,
- "points_saved": 40,
- "points_rate": 3.988835114421057,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031433629989624026,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:35:25.451718",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02779507637024,
- "points_saved": 40,
- "points_rate": 3.988912786446649,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031184017658233643,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:35:35.476787",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025069236755371,
- "points_saved": 40,
- "points_rate": 3.9899973810999896,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030316638946533202,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:35:45.502528",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02476716041565,
- "points_saved": 40,
- "points_rate": 3.9901176117033637,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03018686771392822,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:35:55.531910",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.030355453491211,
- "points_saved": 40,
- "points_rate": 3.9878945651998223,
- "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.03273687958717346,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:36:05.557723",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025813579559326,
- "points_saved": 40,
- "points_rate": 3.9897011531864286,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03448114991188049,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:36:15.584077",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026353359222412,
- "points_saved": 40,
- "points_rate": 3.9894863632755686,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.035323876142501834,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:36:25.609319",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025242328643799,
- "points_saved": 40,
- "points_rate": 3.989928491375544,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03587216138839722,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:36:35.634823",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025503396987915,
- "points_saved": 40,
- "points_rate": 3.98982459195193,
- "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.03420594334602356,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:36:45.660612",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025789737701416,
- "points_saved": 40,
- "points_rate": 3.989710640906647,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03637891411781311,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:36:55.690434",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.02982234954834,
- "points_saved": 40,
- "points_rate": 3.988106529304706,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03211954832077026,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:37:05.716795",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026360988616943,
- "points_saved": 40,
- "points_rate": 3.989483327541519,
- "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.03559835553169251,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:37:15.745556",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.028760194778442,
- "points_saved": 40,
- "points_rate": 3.9885289131578134,
- "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.031675797700881955,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:37:25.773393",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026862621307373,
- "points_saved": 40,
- "points_rate": 3.9892837381654003,
- "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.032751810550689694,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:37:35.804606",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.032187938690186,
- "points_saved": 40,
- "points_rate": 3.9871661340928237,
- "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.03315240740776062,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:37:45.830834",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026227712631226,
- "points_saved": 40,
- "points_rate": 3.9895363586852577,
- "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.03293076157569885,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:37:55.857320",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026485443115234,
- "points_saved": 40,
- "points_rate": 3.9894338077821994,
- "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.03127619028091431,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:38:05.883717",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026397705078125,
- "points_saved": 40,
- "points_rate": 3.989468718136024,
- "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.032553231716156004,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:38:15.911187",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.027470350265503,
- "points_saved": 40,
- "points_rate": 3.989041962007985,
- "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.03292030096054077,
- "csv_write_time_avg": 3.141164779663086e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:38:25.936735",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025547742843628,
- "points_saved": 41,
- "points_rate": 4.089552117415865,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.0,
- "cpu_max": 0.0,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030753362469556855,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:38:35.962980",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026244640350342,
- "points_saved": 40,
- "points_rate": 3.989529622987765,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029651778936386108,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:38:45.987709",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.024729490280151,
- "points_saved": 40,
- "points_rate": 3.990132605451697,
- "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.029051029682159425,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:38:56.015637",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 39 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.027927160263062,
- "points_saved": 39,
- "points_rate": 3.8891387399125183,
- "variables_saved": 117,
- "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.031458799655620866,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:39:06.042490",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026853799819946,
- "points_saved": 41,
- "points_rate": 4.089019429079164,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029587135082337915,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:39:16.068316",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.024855852127075,
- "points_saved": 40,
- "points_rate": 3.9900823104117547,
- "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.03185572624206543,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:39:26.098650",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.031304121017456,
- "points_saved": 40,
- "points_rate": 3.987517427190003,
- "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.03156053423881531,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:39:36.125473",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026822805404663,
- "points_saved": 41,
- "points_rate": 4.089032068852375,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.0,
- "cpu_max": 0.0,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.033675472910811265,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:39:46.151801",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 39 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02632761001587,
- "points_saved": 39,
- "points_rate": 3.8897591936892906,
- "variables_saved": 117,
- "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.030942281087239582,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:39:56.181724",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029923677444458,
- "points_saved": 40,
- "points_rate": 3.988066239223036,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03224493265151977,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:40:06.209925",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028200626373291,
- "points_saved": 41,
- "points_rate": 4.088470257782197,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028801039951603588,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:40:16.237125",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027199745178223,
- "points_saved": 40,
- "points_rate": 3.989149614700235,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03413901329040527,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:40:26.265053",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.027927875518799,
- "points_saved": 40,
- "points_rate": 3.988859961553182,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03217806220054627,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:40:36.292346",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.027293920516968,
- "points_saved": 40,
- "points_rate": 3.989112149007173,
- "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.0352844774723053,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:40:46.318972",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.026625633239746,
- "points_saved": 40,
- "points_rate": 3.9893780283761755,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030974572896957396,
- "csv_write_time_avg": 1.9848346710205076e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:40:56.347756",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028783798217773,
- "points_saved": 40,
- "points_rate": 3.988519525877948,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.032091325521469115,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:41:06.376090",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028334140777588,
- "points_saved": 40,
- "points_rate": 3.9886983658981308,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03078012466430664,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:41:16.403183",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.027093410491943,
- "points_saved": 40,
- "points_rate": 3.989191918581872,
- "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.030955326557159425,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:41:26.428679",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025495290756226,
- "points_saved": 40,
- "points_rate": 3.989827817971354,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029626679420471192,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:41:36.455569",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026890277862549,
- "points_saved": 40,
- "points_rate": 3.9892727347692563,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03085670471191406,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:41:46.479903",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.024333953857422,
- "points_saved": 40,
- "points_rate": 3.9902900466127993,
- "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.032139438390731814,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:41:56.506167",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025288820266724,
- "points_saved": 40,
- "points_rate": 3.9899099883424403,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031139951944351197,
- "csv_write_time_avg": 2.2113323211669923e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:42:06.536106",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030914306640625,
- "points_saved": 40,
- "points_rate": 3.9876723873036544,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028382408618927,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:42:16.562428",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02632212638855,
- "points_saved": 40,
- "points_rate": 3.9894987908600017,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028521698713302613,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:42:26.588757",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026328325271606,
- "points_saved": 40,
- "points_rate": 3.989496324310368,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027643412351608276,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:42:36.615831",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027074813842773,
- "points_saved": 40,
- "points_rate": 3.9891993171107507,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029146367311477663,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:42:46.641607",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025132894515991,
- "points_saved": 40,
- "points_rate": 3.989972045346256,
- "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.027047502994537353,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:42:56.666948",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025983333587646,
- "points_saved": 40,
- "points_rate": 3.9896336019228755,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030743473768234254,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:43:06.695203",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028255462646484,
- "points_saved": 40,
- "points_rate": 3.9887296598090343,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03021261692047119,
- "csv_write_time_avg": 4.649162292480469e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:43:16.721182",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025979280471802,
- "points_saved": 40,
- "points_rate": 3.9896352147775116,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027841973304748534,
- "csv_write_time_avg": 2.855062484741211e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:43:26.751511",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02977991104126,
- "points_saved": 40,
- "points_rate": 3.9881234039807887,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027720963954925536,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:43:36.778531",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027568817138672,
- "points_saved": 40,
- "points_rate": 3.9890027911485175,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029302710294723512,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:43:46.803892",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02536129951477,
- "points_saved": 40,
- "points_rate": 3.9898811429305803,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02981600761413574,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:43:56.831884",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02799129486084,
- "points_saved": 40,
- "points_rate": 3.988834735077927,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02747567296028137,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:44:06.859916",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.028031826019287,
- "points_saved": 40,
- "points_rate": 3.9888186130616163,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028890490531921387,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:44:16.891884",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.031968355178833,
- "points_saved": 40,
- "points_rate": 3.98725340669069,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027292090654373168,
- "csv_write_time_avg": 1.7344951629638673e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:44:26.919367",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027482748031616,
- "points_saved": 40,
- "points_rate": 3.9890370300414584,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027433556318283082,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:44:36.944675",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02530837059021,
- "points_saved": 40,
- "points_rate": 3.9899022076310575,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029413121938705444,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:44:46.969793",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025117635726929,
- "points_saved": 40,
- "points_rate": 3.989978118306596,
- "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.029095882177352907,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:44:56.997537",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.02774429321289,
- "points_saved": 40,
- "points_rate": 3.9889329873592136,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02829244136810303,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:45:07.033744",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.036207437515259,
- "points_saved": 40,
- "points_rate": 3.985569274951446,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027438360452651977,
- "csv_write_time_avg": 2.497434616088867e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:45:17.063009",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029264211654663,
- "points_saved": 40,
- "points_rate": 3.988328471147203,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028951197862625122,
- "csv_write_time_avg": 3.230571746826172e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:45:27.094403",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.031394720077515,
- "points_saved": 40,
- "points_rate": 3.987481413720196,
- "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.028833174705505372,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:45:37.120741",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02633810043335,
- "points_saved": 40,
- "points_rate": 3.9894924347575267,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028119999170303344,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:45:47.146802",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026060819625854,
- "points_saved": 40,
- "points_rate": 3.9896027681879445,
- "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.031835132837295534,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:45:57.176935",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030132293701172,
- "points_saved": 40,
- "points_rate": 3.9879832916181597,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027939999103546144,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:46:07.202864",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02592945098877,
- "points_saved": 40,
- "points_rate": 3.989655043508724,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029024028778076173,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:46:17.231834",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028970003128052,
- "points_saved": 40,
- "points_rate": 3.9884454722193743,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030948930978775026,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:46:27.257683",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025849342346191,
- "points_saved": 40,
- "points_rate": 3.9896869216907094,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03126169443130493,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:46:37.283050",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02536678314209,
- "points_saved": 40,
- "points_rate": 3.9898789605644174,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03166600465774536,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:46:47.308495",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025444984436035,
- "points_saved": 40,
- "points_rate": 3.9898478383850144,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03053315281867981,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:46:57.340245",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.031749486923218,
- "points_saved": 40,
- "points_rate": 3.9873403988149407,
- "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.03177709579467773,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:47:07.366312",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02606725692749,
- "points_saved": 40,
- "points_rate": 3.989600206637561,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03533947467803955,
- "csv_write_time_avg": 6.848573684692383e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:47:17.391677",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025365352630615,
- "points_saved": 40,
- "points_rate": 3.9898795298770993,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03199294805526733,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:47:27.418421",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02674388885498,
- "points_saved": 40,
- "points_rate": 3.9893309775730055,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.032191002368927,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:47:37.444542",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026121139526367,
- "points_saved": 40,
- "points_rate": 3.9895787656411255,
- "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.030180299282073976,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:47:47.470996",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026453733444214,
- "points_saved": 40,
- "points_rate": 3.989446424768919,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03434041142463684,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:47:57.497703",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025732278823853,
- "points_saved": 40,
- "points_rate": 3.9897335064977932,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03299552798271179,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:48:07.529952",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.033223867416382,
- "points_saved": 40,
- "points_rate": 3.986754459840459,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03416869640350342,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:48:17.557278",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027326345443726,
- "points_saved": 40,
- "points_rate": 3.989099249589641,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03888349533081055,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:48:27.588955",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.031676769256592,
- "points_saved": 40,
- "points_rate": 3.9873693022671266,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03847147226333618,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:48:37.614270",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.025314807891846,
- "points_saved": 40,
- "points_rate": 3.9898996456961457,
- "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.03666544556617737,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:48:47.647383",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.03213906288147,
- "points_saved": 40,
- "points_rate": 3.9871855592590886,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03885603547096252,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:48:57.676440",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030030965805054,
- "points_saved": 40,
- "points_rate": 3.9880235800238557,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03918589353561401,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:49:07.706440",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02999997138977,
- "points_saved": 40,
- "points_rate": 3.988035903698766,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.04031079411506653,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:49:17.736499",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.030058860778809,
- "points_saved": 40,
- "points_rate": 3.9880124887815565,
- "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.03837915062904358,
- "csv_write_time_avg": 2.270936965942383e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:49:27.763093",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026593923568726,
- "points_saved": 40,
- "points_rate": 3.989390645010081,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03585255146026611,
- "csv_write_time_avg": 1.6033649444580077e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:49:37.790076",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026983261108398,
- "points_saved": 40,
- "points_rate": 3.9892357410376627,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03771854043006897,
- "csv_write_time_avg": 1.442432403564453e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:49:47.817569",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02749252319336,
- "points_saved": 40,
- "points_rate": 3.989033141384142,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03681135773658752,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:49:57.844839",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027270317077637,
- "points_saved": 40,
- "points_rate": 3.9891215390768147,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.036344891786575316,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:50:07.869349",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02450966835022,
- "points_saved": 40,
- "points_rate": 3.990220102863444,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03629876971244812,
- "csv_write_time_avg": 2.7239322662353517e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:50:17.895383",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026034593582153,
- "points_saved": 40,
- "points_rate": 3.9896132041679495,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.039943349361419675,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:50:27.922204",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026821374893188,
- "points_saved": 40,
- "points_rate": 3.9893001485155213,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.038503050804138184,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:50:37.952183",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029978275299072,
- "points_saved": 40,
- "points_rate": 3.9880445303165213,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.04005872011184693,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:50:47.977226",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025043487548828,
- "points_saved": 40,
- "points_rate": 3.9900076293614357,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03794175386428833,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:50:58.008140",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030913591384888,
- "points_saved": 40,
- "points_rate": 3.987672671645208,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.04098433256149292,
- "csv_write_time_avg": 2.9921531677246095e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:51:08.037533",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.029393196105957,
- "points_saved": 40,
- "points_rate": 3.988277178676226,
- "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.03587953448295593,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:51:18.063910",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025388479232788,
- "points_saved": 40,
- "points_rate": 3.989870326008661,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03553231954574585,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:51:28.099351",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.03642988204956,
- "points_saved": 40,
- "points_rate": 3.985480939944704,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.035103344917297365,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:51:38.126281",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.0269296169281,
- "points_saved": 40,
- "points_rate": 3.9892570834913865,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.039611101150512695,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:51:48.158728",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.03244686126709,
- "points_saved": 40,
- "points_rate": 3.9870632312472605,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03308925628662109,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:51:58.186385",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02765703201294,
- "points_saved": 40,
- "points_rate": 3.9889676992642866,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03679832220077515,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:52:08.211996",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025611162185669,
- "points_saved": 40,
- "points_rate": 3.989781705365846,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03860566020011902,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:52:18.238483",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.02648663520813,
- "points_saved": 40,
- "points_rate": 3.9894333334609464,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.04232966899871826,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:52:28.269306",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.030823230743408,
- "points_saved": 40,
- "points_rate": 3.9877085937876213,
- "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.036136937141418454,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:52:38.300150",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.030844449996948,
- "points_saved": 40,
- "points_rate": 3.9877001581867986,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.034038501977920535,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:52:48.327555",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027405023574829,
- "points_saved": 40,
- "points_rate": 3.9890679498791966,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.032697999477386476,
- "csv_write_time_avg": 3.129243850708008e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:52:58.356357",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028801202774048,
- "points_saved": 40,
- "points_rate": 3.9885126039726138,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03241488933563232,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:53:08.384538",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028181552886963,
- "points_saved": 40,
- "points_rate": 3.9887590575665834,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.032740813493728635,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:53:18.413310",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.02877163887024,
- "points_saved": 40,
- "points_rate": 3.9885243617438753,
- "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.03222851157188415,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:53:28.440890",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027580499649048,
- "points_saved": 40,
- "points_rate": 3.9889981438094613,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03245570659637451,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:53:38.477607",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.5% CPU",
- "details": {
- "duration": 10.036716222763062,
- "points_saved": 40,
- "points_rate": 3.9853672368738335,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03317990303039551,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:53:48.503305",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.0256986618042,
- "points_saved": 40,
- "points_rate": 3.9897468844133104,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0352497398853302,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:53:58.529176",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025870561599731,
- "points_saved": 40,
- "points_rate": 3.9896784777179075,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03398489952087402,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:54:08.556297",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026146411895752,
- "points_saved": 40,
- "points_rate": 3.989568709323961,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03117232322692871,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:54:18.585922",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030599594116211,
- "points_saved": 40,
- "points_rate": 3.9877975015036347,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03036385178565979,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:54:28.614578",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027681589126587,
- "points_saved": 40,
- "points_rate": 3.988957930552321,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03321123719215393,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:54:38.644986",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.031382322311401,
- "points_saved": 40,
- "points_rate": 3.987486341840804,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03006711006164551,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:54:48.675327",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030341148376465,
- "points_saved": 40,
- "points_rate": 3.9879002526723126,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028667473793029787,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:54:58.702924",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.02662181854248,
- "points_saved": 40,
- "points_rate": 3.989379546162498,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.026486152410507204,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:55:08.734909",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.032960653305054,
- "points_saved": 40,
- "points_rate": 3.986859052100759,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028316980600357054,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:55:18.763872",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027971982955933,
- "points_saved": 40,
- "points_rate": 3.988842416790364,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028112828731536865,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:55:28.793264",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030383110046387,
- "points_saved": 40,
- "points_rate": 3.9878835694656747,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.027331024408340454,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:55:38.818890",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.025625705718994,
- "points_saved": 40,
- "points_rate": 3.98977591764497,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029248076677322387,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:55:48.845471",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.026580572128296,
- "points_saved": 40,
- "points_rate": 3.989395957300863,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028832608461380006,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:55:58.872762",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027291774749756,
- "points_saved": 40,
- "points_rate": 3.9891130026480406,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028562325239181518,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:56:08.898882",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026119470596313,
- "points_saved": 40,
- "points_rate": 3.9895794297393268,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02720332145690918,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:56:18.929525",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030643701553345,
- "points_saved": 40,
- "points_rate": 3.9877799660858857,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02955579161643982,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:56:28.955304",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.025777816772461,
- "points_saved": 40,
- "points_rate": 3.9897153847836777,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028777891397476198,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:56:38.982049",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026745796203613,
- "points_saved": 40,
- "points_rate": 3.989330218698178,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02832973003387451,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:56:49.008429",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026380062103271,
- "points_saved": 40,
- "points_rate": 3.989475738226609,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028429651260375978,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:56:59.035266",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.02683711051941,
- "points_saved": 40,
- "points_rate": 3.989293887903593,
- "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.02824997901916504,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:57:09.063916",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02864956855774,
- "points_saved": 40,
- "points_rate": 3.9885729106947507,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0283802330493927,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:57:19.090869",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026952981948853,
- "points_saved": 40,
- "points_rate": 3.9892477876390267,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.0297432005405426,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:57:29.120037",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02819299697876,
- "points_saved": 40,
- "points_rate": 3.988754505627383,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02836427092552185,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:57:39.150065",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.03100299835205,
- "points_saved": 40,
- "points_rate": 3.987637129265281,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028933519124984743,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:57:49.176329",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.026264190673828,
- "points_saved": 40,
- "points_rate": 3.989521843759809,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030677658319473267,
- "csv_write_time_avg": 2.8908252716064453e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:57:59.205086",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028756618499756,
- "points_saved": 40,
- "points_rate": 3.988530335476799,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03051578998565674,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:58:09.233110",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028023958206177,
- "points_saved": 40,
- "points_rate": 3.9888217426192947,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03056727647781372,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:58:19.261370",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028260469436646,
- "points_saved": 40,
- "points_rate": 3.9887276683637105,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03146693706512451,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:58:29.290593",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.0292227268219,
- "points_saved": 40,
- "points_rate": 3.9883449684515444,
- "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.0295221209526062,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:58:39.320732",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030138731002808,
- "points_saved": 40,
- "points_rate": 3.9879807321469443,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030249136686325073,
- "csv_write_time_avg": 4.583597183227539e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:58:49.349751",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.029019117355347,
- "points_saved": 40,
- "points_rate": 3.9884259399585233,
- "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.03066372275352478,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:58:59.380135",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.030383586883545,
- "points_saved": 40,
- "points_rate": 3.9878833798845834,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03171067237854004,
- "csv_write_time_avg": 1.7464160919189454e-06
- }
- },
- {
- "timestamp": "2025-08-25T13:59:09.408971",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.028836727142334,
- "points_saved": 40,
- "points_rate": 3.988498475774647,
- "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.03117956519126892,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:59:19.436021",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027050256729126,
- "points_saved": 40,
- "points_rate": 3.989209087005035,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031271690130233766,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:59:29.463693",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027671337127686,
- "points_saved": 40,
- "points_rate": 3.988962008746644,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03323227763175964,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:59:39.493942",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.03024935722351,
- "points_saved": 40,
- "points_rate": 3.9879367476734857,
- "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.029847347736358644,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:59:49.524527",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030585289001465,
- "points_saved": 41,
- "points_rate": 4.0874982684167485,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02811876157434975,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T13:59:59.551664",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.027136325836182,
- "points_saved": 40,
- "points_rate": 3.9891748451584284,
- "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.029407131671905517,
- "csv_write_time_avg": 1.5377998352050782e-06
- }
- },
- {
- "timestamp": "2025-08-25T14:00:09.578332",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.026668787002563,
- "points_saved": 40,
- "points_rate": 3.989360858498833,
- "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.02991209626197815,
- "csv_write_time_avg": 1.3887882232666016e-06
- }
- },
- {
- "timestamp": "2025-08-25T14:00:19.607159",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028826475143433,
- "points_saved": 40,
- "points_rate": 3.9885025530295577,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.030859309434890746,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:00:29.635164",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028004884719849,
- "points_saved": 40,
- "points_rate": 3.9888293294461707,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02899535894393921,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:00:39.667824",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 41 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.031680822372437,
- "points_saved": 41,
- "points_rate": 4.087051883525111,
- "variables_saved": 123,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.0,
- "cpu_max": 0.0,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029823024098466083,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:00:49.699046",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.031209945678711,
- "points_saved": 40,
- "points_rate": 3.987554862933696,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029202497005462645,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:00:59.727734",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029679775238037,
- "points_saved": 40,
- "points_rate": 3.988163221198223,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.031183397769927977,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:01:09.754944",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.027209758758545,
- "points_saved": 40,
- "points_rate": 3.9891456309728524,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.3,
- "cpu_max": 0.3,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029039835929870604,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:01:19.781629",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.0% CPU",
- "details": {
- "duration": 10.0266854763031,
- "points_saved": 40,
- "points_rate": 3.9893542182544097,
- "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.03051919937133789,
- "csv_write_time_avg": 3.850460052490234e-06
- }
- },
- {
- "timestamp": "2025-08-25T14:01:29.811930",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.030300617218018,
- "points_saved": 40,
- "points_rate": 3.987916367265801,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028727072477340698,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:01:39.840574",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.02864384651184,
- "points_saved": 40,
- "points_rate": 3.9885751864558223,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02841700315475464,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:01:49.870546",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.029972553253174,
- "points_saved": 40,
- "points_rate": 3.988046805474676,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.02747915983200073,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:01:59.899046",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.028499364852905,
- "points_saved": 40,
- "points_rate": 3.988632650283536,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.03007497787475586,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:02:09.926557",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027511358261108,
- "points_saved": 40,
- "points_rate": 3.9890256486267877,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.029422301054000854,
- "csv_write_time_avg": 0.0
- }
- },
- {
- "timestamp": "2025-08-25T14:02:19.953803",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 40 points saved, 0 lost, 0.2% CPU",
- "details": {
- "duration": 10.027245283126831,
- "points_saved": 40,
- "points_rate": 3.9891314982898933,
- "variables_saved": 120,
- "udp_points_sent": 0,
- "points_lost": 0,
- "cpu_average": 0.2,
- "cpu_max": 0.2,
- "delay_average": 0.0,
- "delay_max": 0.0,
- "read_errors": 0,
- "csv_errors": 0,
- "udp_errors": 0,
- "read_time_avg": 0.028287619352340698,
- "csv_write_time_avg": 0.0
- }
- },
{
"timestamp": "2025-08-25T14:02:29.981110",
"level": "info",
@@ -22327,7 +13265,41 @@
}
},
{
- "timestamp": "2025-08-25T16:00:59.233117",
+ "timestamp": "2025-08-25T16:00:58.256610",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:00:58.309166",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:00:58.333686",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:01:00.353641",
"level": "error",
"event_type": "dataset_loop_error",
"message": "� CRITICAL: Multiple consecutive read failures for dataset 'DAR' (5). Stopping dataset.",
@@ -22338,12 +13310,12 @@
}
},
{
- "timestamp": "2025-08-25T16:01:07.185425",
+ "timestamp": "2025-08-25T16:01:08.308642",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
"details": {
- "duration": 11.058401346206665,
+ "duration": 11.056324005126953,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
@@ -22361,12 +13333,12 @@
}
},
{
- "timestamp": "2025-08-25T16:01:17.220768",
+ "timestamp": "2025-08-25T16:01:18.335501",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
"details": {
- "duration": 10.035342454910278,
+ "duration": 10.026859283447266,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
@@ -22384,35 +13356,12 @@
}
},
{
- "timestamp": "2025-08-25T16:01:27.247485",
- "level": "info",
- "event_type": "performance_report",
- "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
- "details": {
- "duration": 10.026717185974121,
- "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-25T16:01:37.272823",
+ "timestamp": "2025-08-25T16:01:28.363567",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
- "duration": 10.025338172912598,
+ "duration": 10.02806568145752,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
@@ -22430,19 +13379,182 @@
}
},
{
- "timestamp": "2025-08-25T16:01:47.298607",
+ "timestamp": "2025-08-25T16:01:35.809322",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:01:38.388586",
+ "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-25T16:01:38.412207",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:01:38.436280",
+ "level": "info",
+ "event_type": "dataset_deactivated",
+ "message": "Dataset deactivated: DAR",
+ "details": {
+ "dataset_id": "DAR"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:01:38.460853",
+ "level": "info",
+ "event_type": "plc_disconnection",
+ "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:17:00.788504",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:17:00.812612",
+ "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-25T16:17:00.836905",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:17:00.860823",
+ "level": "info",
+ "event_type": "plc_disconnection",
+ "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:17:31.967098",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:17:33.007660",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:17:49.882316",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:17:49.926335",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:17:49.980920",
+ "level": "info",
+ "event_type": "plc_connection",
+ "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets",
+ "details": {
+ "ip": "10.1.33.11",
+ "rack": 0,
+ "slot": 2,
+ "symbols_path": "C:/Users/migue/Downloads/symSAE452.asc",
+ "auto_started_recording": true,
+ "recording_datasets": 1,
+ "dataset_names": [
+ "DAR"
+ ]
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:17:51.912989",
+ "level": "error",
+ "event_type": "dataset_loop_error",
+ "message": "� CRITICAL: Multiple consecutive read failures for dataset 'DAR' (5). Stopping dataset.",
+ "details": {
+ "dataset_id": "DAR",
+ "consecutive_errors": 5,
+ "priority": "CRITICAL"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:17:59.883615",
"level": "info",
"event_type": "performance_report",
- "message": "Performance report: 0 points saved, 0 lost, 0.5% CPU",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
"details": {
- "duration": 10.025784492492676,
+ "duration": 27.87961435317993,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
"udp_points_sent": 0,
"points_lost": 0,
- "cpu_average": 0.5,
- "cpu_max": 0.5,
+ "cpu_average": 0.0,
+ "cpu_max": 0.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 4,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:18:09.913648",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 1.6% CPU",
+ "details": {
+ "duration": 10.03059983253479,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.6,
+ "cpu_max": 1.6,
"delay_average": 0.0,
"delay_max": 0.0,
"read_errors": 0,
@@ -22453,12 +13565,348 @@
}
},
{
- "timestamp": "2025-08-25T16:01:57.324447",
+ "timestamp": "2025-08-25T16:18:19.945789",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.032682418823242,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:18:29.973777",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.02747917175293,
+ "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-25T16:18:33.079942",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:18:36.886139",
+ "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-25T16:18:36.911737",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:18:36.943462",
+ "level": "info",
+ "event_type": "dataset_deactivated",
+ "message": "Dataset deactivated: DAR",
+ "details": {
+ "dataset_id": "DAR"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:18:36.968035",
+ "level": "info",
+ "event_type": "plc_disconnection",
+ "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:23:58.033754",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:23:58.082422",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:23:58.107246",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:23:59.165668",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:23:59.203227",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:23:59.228385",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:24:01.240995",
+ "level": "error",
+ "event_type": "dataset_loop_error",
+ "message": "� CRITICAL: Multiple consecutive read failures for dataset 'DAR' (5). Stopping dataset.",
+ "details": {
+ "dataset_id": "DAR",
+ "consecutive_errors": 5,
+ "priority": "CRITICAL"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:24:09.204194",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 11.044511556625366,
+ "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": 4,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:24:19.231547",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 1.2% CPU",
+ "details": {
+ "duration": 10.02786374092102,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.2,
+ "cpu_max": 1.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:24:29.256439",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.024892568588257,
+ "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-25T16:24:58.482862",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:24:58.532950",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:24:58.558448",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:24:59.597980",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:24:59.645758",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:24:59.670802",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:25:01.679652",
+ "level": "error",
+ "event_type": "dataset_loop_error",
+ "message": "� CRITICAL: Multiple consecutive read failures for dataset 'DAR' (5). Stopping dataset.",
+ "details": {
+ "dataset_id": "DAR",
+ "consecutive_errors": 5,
+ "priority": "CRITICAL"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:25:09.645309",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 11.051445960998535,
+ "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": 4,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:25:19.669572",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.6% CPU",
"details": {
- "duration": 10.025839805603027,
+ "duration": 10.024270057678223,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
@@ -22476,12 +13924,410 @@
}
},
{
- "timestamp": "2025-08-25T16:02:07.351853",
+ "timestamp": "2025-08-25T16:25:29.698945",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.029881238937378,
+ "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-25T16:25:39.727892",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.02894639968872,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:25:49.752203",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.024311304092407,
+ "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-25T16:25:59.794126",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.04192304611206,
+ "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-25T16:26:09.819267",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.025140523910522,
+ "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-25T16:26:16.870218",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:26:19.843801",
+ "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-25T16:26:19.871177",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:26:19.895554",
+ "level": "info",
+ "event_type": "dataset_deactivated",
+ "message": "Dataset deactivated: DAR",
+ "details": {
+ "dataset_id": "DAR"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:26:19.921027",
+ "level": "info",
+ "event_type": "plc_disconnection",
+ "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:26:44.504118",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:26:44.527948",
+ "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-25T16:26:44.553909",
+ "level": "info",
+ "event_type": "udp_streaming_stopped",
+ "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:26:44.578730",
+ "level": "info",
+ "event_type": "plc_disconnection",
+ "message": "Disconnected from PLC 10.1.33.11 (application shutdown (will auto-reconnect on restart))",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:41:51.506754",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:41:52.548375",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:48:03.714462",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:48:04.762221",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:51:06.593522",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:51:07.630336",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:51:23.127845",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:51:23.162186",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:51:23.205412",
+ "level": "info",
+ "event_type": "plc_connection",
+ "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets",
+ "details": {
+ "ip": "10.1.33.11",
+ "rack": 0,
+ "slot": 2,
+ "symbols_path": "C:/Users/migue/Downloads/symSAE452.asc",
+ "auto_started_recording": true,
+ "recording_datasets": 1,
+ "dataset_names": [
+ "DAR"
+ ]
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:51:25.179482",
+ "level": "error",
+ "event_type": "dataset_loop_error",
+ "message": "� CRITICAL: Multiple consecutive read failures for dataset 'DAR' (5). Stopping dataset.",
+ "details": {
+ "dataset_id": "DAR",
+ "consecutive_errors": 5,
+ "priority": "CRITICAL"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:51:33.128079",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 26.50144863128662,
+ "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": 4,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:51:43.172549",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.044973611831665,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "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-25T16:51:53.197288",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.024738311767578,
+ "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-25T16:52:03.222185",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.024389505386353,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:52:13.245861",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.024184226989746,
+ "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-25T16:52:23.271780",
"level": "info",
"event_type": "performance_report",
"message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
"details": {
- "duration": 10.027405977249146,
+ "duration": 10.025918006896973,
"points_saved": 0,
"points_rate": 0.0,
"variables_saved": 0,
@@ -22497,8 +14343,6913 @@
"read_time_avg": 0.0,
"csv_write_time_avg": 0.0
}
+ },
+ {
+ "timestamp": "2025-08-25T16:52:33.296213",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.024433851242065,
+ "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-25T16:52:43.321512",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.025298118591309,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:52:53.349194",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.027682781219482,
+ "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-25T16:53:03.389271",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.040076494216919,
+ "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-25T16:53:13.426025",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 1.2% CPU",
+ "details": {
+ "duration": 10.036754131317139,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.2,
+ "cpu_max": 1.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:53:23.459621",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.03359603881836,
+ "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-25T16:53:33.494961",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 8.3% CPU",
+ "details": {
+ "duration": 10.035339832305908,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 8.3,
+ "cpu_max": 8.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-25T16:53:43.549146",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.054185390472412,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:53:53.574940",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02579379081726,
+ "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-25T16:54:03.599830",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.024889469146729,
+ "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-25T16:54:13.626114",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.026284456253052,
+ "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-25T16:54:23.651258",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 4.0% CPU",
+ "details": {
+ "duration": 10.02514386177063,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 4.0,
+ "cpu_max": 4.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-25T16:54:33.705564",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 7.3% CPU",
+ "details": {
+ "duration": 10.053798198699951,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 7.3,
+ "cpu_max": 7.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-25T16:54:43.759370",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.054313898086548,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:54:53.797234",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.037863731384277,
+ "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-25T16:55:03.823093",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.025859355926514,
+ "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-25T16:55:13.848678",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02558445930481,
+ "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-25T16:55:23.872619",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.023941993713379,
+ "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-25T16:55:33.899471",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.026851177215576,
+ "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-25T16:55:43.924505",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.025034189224243,
+ "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-25T16:55:53.948464",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.023959159851074,
+ "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-25T16:56:03.973601",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.025137186050415,
+ "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-25T16:56:14.000262",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.026156663894653,
+ "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-25T16:56:24.026378",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.026057004928589,
+ "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-25T16:56:34.050817",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.025001764297485,
+ "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-25T16:56:44.077586",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.026768922805786,
+ "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-25T16:56:54.102553",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.024967432022095,
+ "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-25T16:57:04.129891",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.02733826637268,
+ "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-25T16:57:14.154672",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.024780511856079,
+ "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-25T16:57:43.159780",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:57:43.208284",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:57:43.235880",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:57:44.285397",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T16:57:44.326579",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:57:44.351917",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:57:46.360775",
+ "level": "error",
+ "event_type": "dataset_loop_error",
+ "message": "� CRITICAL: Multiple consecutive read failures for dataset 'DAR' (5). Stopping dataset.",
+ "details": {
+ "dataset_id": "DAR",
+ "consecutive_errors": 5,
+ "priority": "CRITICAL"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:57:54.327476",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 11.046444654464722,
+ "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": 4,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:58:04.353486",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.026512622833252,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:58:14.379085",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.025598764419556,
+ "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-25T16:58:24.405744",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.0266592502594,
+ "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-25T16:58:34.430092",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02434754371643,
+ "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-25T16:58:44.461707",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.031615495681763,
+ "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-25T16:58:54.514152",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.05244493484497,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:59:04.562195",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.047492265701294,
+ "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-25T16:59:14.591420",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.02927279472351,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T16:59:24.640194",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.048724889755249,
+ "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-25T16:59:34.683956",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.044313430786133,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:00:11.289818",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:00:11.340393",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:00:11.364952",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:00:12.407900",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:00:12.459853",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:00:12.489114",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:00:14.514835",
+ "level": "error",
+ "event_type": "dataset_loop_error",
+ "message": "� CRITICAL: Multiple consecutive read failures for dataset 'DAR' (5). Stopping dataset.",
+ "details": {
+ "dataset_id": "DAR",
+ "consecutive_errors": 5,
+ "priority": "CRITICAL"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:00:22.459472",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 11.054989337921143,
+ "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": 4,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:00:32.484799",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.025849103927612,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:00:42.514310",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.029510736465454,
+ "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-25T17:00:52.540708",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.026397943496704,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "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.0,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:01:02.565270",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.024561882019043,
+ "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-25T17:01:12.588398",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.023128271102905,
+ "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-25T17:01:22.613544",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.024617195129395,
+ "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-25T17:01:32.645486",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.032470703125,
+ "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-25T17:01:42.670293",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.02480697631836,
+ "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-25T17:01:52.694531",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.024238348007202,
+ "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-25T17:02:34.628146",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:02:34.734929",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:03:01.202266",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 27.57894015312195,
+ "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-25T17:03:01.311390",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:03:19.697790",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.1% CPU",
+ "details": {
+ "duration": 18.495424032211304,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.1,
+ "cpu_max": 0.1,
+ "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-25T17:08:39.456793",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:08:39.563807",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:09:03.467307",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 25.015183925628662,
+ "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-25T17:09:15.572583",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 0 points saved, 0 lost, 0.1% CPU",
+ "details": {
+ "duration": 12.106275796890259,
+ "points_saved": 0,
+ "points_rate": 0.0,
+ "variables_saved": 0,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.1,
+ "cpu_max": 0.1,
+ "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-25T17:09:15.665661",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:09:25.662327",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 8 points saved, 13 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.089239835739136,
+ "points_saved": 8,
+ "points_rate": 0.792923959609086,
+ "variables_saved": 32,
+ "udp_points_sent": 0,
+ "points_lost": 13,
+ "cpu_average": 0.3,
+ "cpu_max": 0.3,
+ "delay_average": 21.138360023498535,
+ "delay_max": 35.713003635406494,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 5.42769730091095,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:09:38.157220",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 10 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 12.490126609802246,
+ "points_saved": 10,
+ "points_rate": 0.8006323964844363,
+ "variables_saved": 40,
+ "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.02772388458251953,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:09:48.394365",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 14 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.242416381835938,
+ "points_saved": 21,
+ "points_rate": 2.0502974314969005,
+ "variables_saved": 84,
+ "udp_points_sent": 0,
+ "points_lost": 14,
+ "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.029061589922223772,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:09:58.445094",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 4.7% CPU",
+ "details": {
+ "duration": 10.046866178512573,
+ "points_saved": 20,
+ "points_rate": 1.9906704881542452,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 4.7,
+ "cpu_max": 4.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.030731403827667238,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:10:08.533949",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.089090824127197,
+ "points_saved": 20,
+ "points_rate": 1.982339176903008,
+ "variables_saved": 80,
+ "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.03663599491119385,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:10:18.631034",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.100711584091187,
+ "points_saved": 20,
+ "points_rate": 1.9800585170158091,
+ "variables_saved": 80,
+ "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.03196736574172974,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:10:28.686569",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.055535078048706,
+ "points_saved": 20,
+ "points_rate": 1.988954326623565,
+ "variables_saved": 80,
+ "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.029886150360107423,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:10:38.736219",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.049026012420654,
+ "points_saved": 21,
+ "points_rate": 2.0897547656901154,
+ "variables_saved": 84,
+ "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.030838114874703542,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:10:48.790467",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.054872035980225,
+ "points_saved": 20,
+ "points_rate": 1.9890854829810123,
+ "variables_saved": 80,
+ "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.027196335792541503,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:10:58.838791",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.048323631286621,
+ "points_saved": 20,
+ "points_rate": 1.9903817526067413,
+ "variables_saved": 80,
+ "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.02788175344467163,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:11:08.888184",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.04939341545105,
+ "points_saved": 20,
+ "points_rate": 1.990169871273005,
+ "variables_saved": 80,
+ "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.02797722816467285,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:11:18.936127",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.047438621520996,
+ "points_saved": 20,
+ "points_rate": 1.9905570716462233,
+ "variables_saved": 80,
+ "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.02613908052444458,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:11:28.983807",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.048184633255005,
+ "points_saved": 20,
+ "points_rate": 1.99040928585338,
+ "variables_saved": 80,
+ "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.02947089672088623,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:11:39.033298",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.049490928649902,
+ "points_saved": 20,
+ "points_rate": 1.9901505600629361,
+ "variables_saved": 80,
+ "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.028246486186981203,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:11:49.084350",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.051051378250122,
+ "points_saved": 20,
+ "points_rate": 1.989841584461384,
+ "variables_saved": 80,
+ "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.027926814556121827,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:11:59.135119",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.050769329071045,
+ "points_saved": 20,
+ "points_rate": 1.9898974242848857,
+ "variables_saved": 80,
+ "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.028401732444763184,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:12:09.221660",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.086540937423706,
+ "points_saved": 20,
+ "points_rate": 1.9828403140460935,
+ "variables_saved": 80,
+ "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.03580014705657959,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:12:19.318417",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.096756935119629,
+ "points_saved": 21,
+ "points_rate": 2.0798757596070807,
+ "variables_saved": 84,
+ "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.03949709165663946,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:12:29.393052",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.074634552001953,
+ "points_saved": 20,
+ "points_rate": 1.9851836706102413,
+ "variables_saved": 80,
+ "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.03723390102386474,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:12:39.492484",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.2% CPU",
+ "details": {
+ "duration": 10.099432468414307,
+ "points_saved": 20,
+ "points_rate": 1.9803092958489936,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.2,
+ "cpu_max": 1.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035366272926330565,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:12:49.596443",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 4.3% CPU",
+ "details": {
+ "duration": 10.100447177886963,
+ "points_saved": 20,
+ "points_rate": 1.9801103503403545,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 4.3,
+ "cpu_max": 4.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03621121644973755,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:12:59.823065",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 6.0% CPU",
+ "details": {
+ "duration": 10.23013424873352,
+ "points_saved": 20,
+ "points_rate": 1.955008557436671,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 6.0,
+ "cpu_max": 6.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03761492967605591,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:13:09.919444",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 6.0% CPU",
+ "details": {
+ "duration": 10.095837354660034,
+ "points_saved": 21,
+ "points_rate": 2.0800652053201736,
+ "variables_saved": 84,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 6.0,
+ "cpu_max": 6.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03378362882704962,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:13:20.029506",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 4.5% CPU",
+ "details": {
+ "duration": 10.11006498336792,
+ "points_saved": 20,
+ "points_rate": 1.9782266516488296,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 4.5,
+ "cpu_max": 4.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03537640571594238,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:13:30.111596",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.2% CPU",
+ "details": {
+ "duration": 10.08262825012207,
+ "points_saved": 20,
+ "points_rate": 1.9836097794994931,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.2,
+ "cpu_max": 1.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03900591135025024,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:13:40.195862",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.083762645721436,
+ "points_saved": 20,
+ "points_rate": 1.983386628847918,
+ "variables_saved": 80,
+ "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.0382614254951477,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:13:50.296297",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.2% CPU",
+ "details": {
+ "duration": 10.100938558578491,
+ "points_saved": 20,
+ "points_rate": 1.980014023846771,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.2,
+ "cpu_max": 1.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.030981802940368654,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:14:00.339596",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.043298721313477,
+ "points_saved": 20,
+ "points_rate": 1.9913775896714911,
+ "variables_saved": 80,
+ "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.028116655349731446,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:14:10.383816",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.044220447540283,
+ "points_saved": 20,
+ "points_rate": 1.9911948472713754,
+ "variables_saved": 80,
+ "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.02919684648513794,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:14:20.432603",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.048786640167236,
+ "points_saved": 20,
+ "points_rate": 1.9902900435815354,
+ "variables_saved": 80,
+ "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.028285491466522216,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:14:30.483425",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.050822257995605,
+ "points_saved": 21,
+ "points_rate": 2.089381292490187,
+ "variables_saved": 84,
+ "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.03052014396304176,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:14:40.529327",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.045901536941528,
+ "points_saved": 20,
+ "points_rate": 1.9908616390927711,
+ "variables_saved": 80,
+ "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.02844921350479126,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:14:50.572572",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.043245315551758,
+ "points_saved": 20,
+ "points_rate": 1.991388178981391,
+ "variables_saved": 80,
+ "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.027944135665893554,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:15:00.616292",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.043720245361328,
+ "points_saved": 20,
+ "points_rate": 1.9912940137133908,
+ "variables_saved": 80,
+ "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.03084747791290283,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:15:10.659476",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.043183326721191,
+ "points_saved": 20,
+ "points_rate": 1.991400470285891,
+ "variables_saved": 80,
+ "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.029258477687835693,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:15:20.704604",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.045128107070923,
+ "points_saved": 20,
+ "points_rate": 1.9910149265216126,
+ "variables_saved": 80,
+ "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.03279041051864624,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:15:30.776740",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.07161808013916,
+ "points_saved": 20,
+ "points_rate": 1.9857782375047783,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03885016441345215,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:15:40.878290",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.102068185806274,
+ "points_saved": 20,
+ "points_rate": 1.979792615941816,
+ "variables_saved": 80,
+ "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.03737715482711792,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:15:50.975218",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.096928358078003,
+ "points_saved": 20,
+ "points_rate": 1.9808004266960149,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036489105224609374,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:16:01.073663",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.097942352294922,
+ "points_saved": 21,
+ "points_rate": 2.0796315989294003,
+ "variables_saved": 84,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03545036770048596,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:16:11.169728",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.5% CPU",
+ "details": {
+ "duration": 10.096567630767822,
+ "points_saved": 20,
+ "points_rate": 1.9808711961729357,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.5,
+ "cpu_max": 1.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036473751068115234,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:16:21.259783",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.090054750442505,
+ "points_saved": 20,
+ "points_rate": 1.982149799447113,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03642573356628418,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:16:31.361217",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 4.8% CPU",
+ "details": {
+ "duration": 10.101434230804443,
+ "points_saved": 20,
+ "points_rate": 1.979916865568432,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 4.8,
+ "cpu_max": 4.8,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035681378841400144,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:16:41.443021",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.081803798675537,
+ "points_saved": 20,
+ "points_rate": 1.9837719915386007,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03695224523544312,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:16:51.517853",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.7% CPU",
+ "details": {
+ "duration": 10.074329376220703,
+ "points_saved": 20,
+ "points_rate": 1.9852438066207863,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.7,
+ "cpu_max": 1.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03749772310256958,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:17:01.594145",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.076794862747192,
+ "points_saved": 20,
+ "points_rate": 1.9847580775845513,
+ "variables_saved": 80,
+ "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.035560321807861325,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:17:11.638917",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.044771671295166,
+ "points_saved": 21,
+ "points_rate": 2.0906398559572508,
+ "variables_saved": 84,
+ "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.028818981988089427,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:17:21.689674",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.050756454467773,
+ "points_saved": 20,
+ "points_rate": 1.9898999732611746,
+ "variables_saved": 80,
+ "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.0294897198677063,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:17:31.734221",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.04454755783081,
+ "points_saved": 20,
+ "points_rate": 1.991130002108242,
+ "variables_saved": 80,
+ "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.029059958457946778,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:17:41.783815",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.049593925476074,
+ "points_saved": 20,
+ "points_rate": 1.9901301632993644,
+ "variables_saved": 80,
+ "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.029081428050994874,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:17:51.828929",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.045113563537598,
+ "points_saved": 20,
+ "points_rate": 1.9910178091562143,
+ "variables_saved": 80,
+ "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.030641329288482667,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:18:01.876284",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.04735517501831,
+ "points_saved": 20,
+ "points_rate": 1.9905736038602369,
+ "variables_saved": 80,
+ "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.029960834980010988,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:18:11.966192",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.089908599853516,
+ "points_saved": 20,
+ "points_rate": 1.9821785105457108,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03616311550140381,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:18:22.033738",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 7.1% CPU",
+ "details": {
+ "duration": 10.067026138305664,
+ "points_saved": 20,
+ "points_rate": 1.9866840241825487,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 7.1,
+ "cpu_max": 7.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03431116342544556,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:18:32.075665",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.042446613311768,
+ "points_saved": 20,
+ "points_rate": 1.9915465593303723,
+ "variables_saved": 80,
+ "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.03266055583953857,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:18:42.118703",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.6% CPU",
+ "details": {
+ "duration": 10.043038129806519,
+ "points_saved": 20,
+ "points_rate": 1.991429260896902,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.6,
+ "cpu_max": 1.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.029533529281616212,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:18:52.164240",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.045537233352661,
+ "points_saved": 20,
+ "points_rate": 1.9909338381223711,
+ "variables_saved": 80,
+ "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.031144678592681885,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:19:02.207844",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.043604135513306,
+ "points_saved": 20,
+ "points_rate": 1.991317034218996,
+ "variables_saved": 80,
+ "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.02871556282043457,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:19:12.256369",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.048524379730225,
+ "points_saved": 21,
+ "points_rate": 2.089859088401176,
+ "variables_saved": 84,
+ "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.02808204151335217,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:19:22.298005",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.04163646697998,
+ "points_saved": 20,
+ "points_rate": 1.99170723474866,
+ "variables_saved": 80,
+ "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.028442585468292238,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:19:32.340400",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.042394638061523,
+ "points_saved": 20,
+ "points_rate": 1.9915568667455381,
+ "variables_saved": 80,
+ "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.02781554460525513,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:19:42.390679",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.050279378890991,
+ "points_saved": 20,
+ "points_rate": 1.9899944315982707,
+ "variables_saved": 80,
+ "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.028417634963989257,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:19:52.442601",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.051922082901001,
+ "points_saved": 20,
+ "points_rate": 1.9896692229659592,
+ "variables_saved": 80,
+ "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.03244236707687378,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:20:02.517997",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 6.5% CPU",
+ "details": {
+ "duration": 10.075395584106445,
+ "points_saved": 20,
+ "points_rate": 1.985033722303593,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 6.5,
+ "cpu_max": 6.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03427244424819946,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:20:12.603404",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.08540678024292,
+ "points_saved": 20,
+ "points_rate": 1.9830632948964975,
+ "variables_saved": 80,
+ "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.029999172687530516,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:20:22.646557",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.043152570724487,
+ "points_saved": 20,
+ "points_rate": 1.9914065687202092,
+ "variables_saved": 80,
+ "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.03326544761657715,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:20:32.690288",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.043731927871704,
+ "points_saved": 20,
+ "points_rate": 1.9912916975112913,
+ "variables_saved": 80,
+ "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.02883838415145874,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:20:42.734821",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.044532299041748,
+ "points_saved": 20,
+ "points_rate": 1.9911330268615899,
+ "variables_saved": 80,
+ "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.034455394744873045,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:20:52.783602",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.048781633377075,
+ "points_saved": 20,
+ "points_rate": 1.9902910352405216,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.030227303504943848,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:21:02.826625",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.043022871017456,
+ "points_saved": 20,
+ "points_rate": 1.991432286559535,
+ "variables_saved": 80,
+ "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.026912248134613036,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:21:12.869174",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.042548418045044,
+ "points_saved": 21,
+ "points_rate": 2.091102688861919,
+ "variables_saved": 84,
+ "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.02914753414335705,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:21:22.916553",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.7% CPU",
+ "details": {
+ "duration": 10.047379732131958,
+ "points_saved": 20,
+ "points_rate": 1.9905687386373114,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.7,
+ "cpu_max": 1.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.02868204116821289,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:21:32.959370",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.042816162109375,
+ "points_saved": 20,
+ "points_rate": 1.9914732757389473,
+ "variables_saved": 80,
+ "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.03047678470611572,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:21:43.006794",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.047424793243408,
+ "points_saved": 20,
+ "points_rate": 1.990559811251277,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.028786826133728027,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:21:53.050533",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.043738842010498,
+ "points_saved": 20,
+ "points_rate": 1.9912903267003421,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.027559375762939452,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:22:03.094236",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.043703079223633,
+ "points_saved": 20,
+ "points_rate": 1.9912974171221693,
+ "variables_saved": 80,
+ "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.027428603172302245,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:22:13.137154",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.04291820526123,
+ "points_saved": 20,
+ "points_rate": 1.9914530409619893,
+ "variables_saved": 80,
+ "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.029730796813964844,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:22:23.190399",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.053244352340698,
+ "points_saved": 20,
+ "points_rate": 1.989407528460541,
+ "variables_saved": 80,
+ "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.03056877851486206,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:22:33.233817",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 3.7% CPU",
+ "details": {
+ "duration": 10.043418169021606,
+ "points_saved": 20,
+ "points_rate": 1.99135390595295,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 3.7,
+ "cpu_max": 3.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03272182941436767,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:22:55.265985",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:22:55.326549",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:22:55.367193",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:22:56.426776",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:22:56.477694",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:22:56.509822",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:23:06.477416",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 11.055935621261597,
+ "points_saved": 20,
+ "points_rate": 1.80898303726897,
+ "variables_saved": 80,
+ "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.029451513290405275,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:23:16.512001",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.03458571434021,
+ "points_saved": 20,
+ "points_rate": 1.9931066981089645,
+ "variables_saved": 80,
+ "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.026733148097991943,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:23:26.572614",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 1.7% CPU",
+ "details": {
+ "duration": 10.060612440109253,
+ "points_saved": 21,
+ "points_rate": 2.0873480739878247,
+ "variables_saved": 84,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.7,
+ "cpu_max": 1.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.031214611870901927,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:23:36.605645",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.7% CPU",
+ "details": {
+ "duration": 10.033031463623047,
+ "points_saved": 20,
+ "points_rate": 1.9934154569846991,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.7,
+ "cpu_max": 1.7,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.027828288078308106,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:23:46.640763",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.035117626190186,
+ "points_saved": 20,
+ "points_rate": 1.9930010534010019,
+ "variables_saved": 80,
+ "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.028390753269195556,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:23:56.674570",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.033807516098022,
+ "points_saved": 20,
+ "points_rate": 1.9932612787232,
+ "variables_saved": 80,
+ "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.02843524217605591,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:24:06.709635",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.035064935684204,
+ "points_saved": 20,
+ "points_rate": 1.9930115179305885,
+ "variables_saved": 80,
+ "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.02979620695114136,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:24:16.741988",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.032352447509766,
+ "points_saved": 20,
+ "points_rate": 1.9935503766082707,
+ "variables_saved": 80,
+ "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.026867055892944337,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:24:26.775205",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.033217191696167,
+ "points_saved": 20,
+ "points_rate": 1.9933785562374433,
+ "variables_saved": 80,
+ "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.028748273849487305,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:24:36.808738",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.033028364181519,
+ "points_saved": 20,
+ "points_rate": 1.9934160727982329,
+ "variables_saved": 80,
+ "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.02703886032104492,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:24:46.847431",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.039197206497192,
+ "points_saved": 20,
+ "points_rate": 1.9921911671439576,
+ "variables_saved": 80,
+ "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.02932407855987549,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:24:56.883085",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.035654783248901,
+ "points_saved": 20,
+ "points_rate": 1.99289437829041,
+ "variables_saved": 80,
+ "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.030709171295166017,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:25:06.915227",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.032141208648682,
+ "points_saved": 20,
+ "points_rate": 1.9935923532214692,
+ "variables_saved": 80,
+ "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.033458280563354495,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:25:16.948200",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.032973289489746,
+ "points_saved": 20,
+ "points_rate": 1.9934270153944718,
+ "variables_saved": 80,
+ "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.02803119421005249,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:25:26.980702",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.032501697540283,
+ "points_saved": 20,
+ "points_rate": 1.993520719254251,
+ "variables_saved": 80,
+ "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.027015507221221924,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:25:31.795353",
+ "level": "info",
+ "event_type": "plot_session_created",
+ "message": "Plot session 'DAR_Brix' created and started",
+ "details": {
+ "session_id": "DAR_1756135531795_2",
+ "variables": [
+ "HMI_Instrument.QTM306.PVFiltered",
+ "HMI_Instrument.QTM307.PVFiltered"
+ ],
+ "time_window": 60,
+ "trigger_variable": null,
+ "auto_started": true
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:25:37.014274",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.033572912216187,
+ "points_saved": 20,
+ "points_rate": 1.9933078849359214,
+ "variables_saved": 80,
+ "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.03101691007614136,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:25:47.082206",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 2.3% CPU",
+ "details": {
+ "duration": 10.067931890487671,
+ "points_saved": 20,
+ "points_rate": 1.9865052939915389,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 2.3,
+ "cpu_max": 2.3,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.034396696090698245,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:25:57.144374",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.062167644500732,
+ "points_saved": 20,
+ "points_rate": 1.9876432898561953,
+ "variables_saved": 80,
+ "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.03469760417938232,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:26:07.194360",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.049482822418213,
+ "points_saved": 21,
+ "points_rate": 2.0896597736505966,
+ "variables_saved": 84,
+ "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.037055378868466333,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:26:17.239436",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.045579671859741,
+ "points_saved": 20,
+ "points_rate": 1.9909254272329506,
+ "variables_saved": 80,
+ "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.03620785474777222,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:26:27.301651",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.062214612960815,
+ "points_saved": 20,
+ "points_rate": 1.9876340119240392,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03425233364105225,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:26:37.391608",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.089956760406494,
+ "points_saved": 20,
+ "points_rate": 1.9821690493740292,
+ "variables_saved": 80,
+ "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.034175407886505124,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:26:47.447664",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.056056499481201,
+ "points_saved": 20,
+ "points_rate": 1.9888511963941147,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03516974449157715,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:26:57.495406",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.047187328338623,
+ "points_saved": 20,
+ "points_rate": 1.9906068580595628,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03876215219497681,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:27:07.544442",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.049081802368164,
+ "points_saved": 20,
+ "points_rate": 1.9902315846694376,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.039011025428771974,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:27:17.610715",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.066781520843506,
+ "points_saved": 20,
+ "points_rate": 1.9867322995526955,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03739151954650879,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:27:27.659276",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.048560857772827,
+ "points_saved": 20,
+ "points_rate": 1.990334763662149,
+ "variables_saved": 80,
+ "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.0346158504486084,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:27:37.714694",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.055418729782104,
+ "points_saved": 20,
+ "points_rate": 1.9889773402239401,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03628648519515991,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:27:47.777425",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.062730312347412,
+ "points_saved": 21,
+ "points_rate": 2.0869087561883752,
+ "variables_saved": 84,
+ "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.03803663026718866,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:27:57.822394",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.04496955871582,
+ "points_saved": 20,
+ "points_rate": 1.9910463524149158,
+ "variables_saved": 80,
+ "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.03640248775482178,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:28:07.862539",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.040144205093384,
+ "points_saved": 20,
+ "points_rate": 1.9920032612533556,
+ "variables_saved": 80,
+ "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.03605753183364868,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:28:17.929673",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.067134380340576,
+ "points_saved": 20,
+ "points_rate": 1.986662663315257,
+ "variables_saved": 80,
+ "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.03305186033248901,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:28:27.968277",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.037962675094604,
+ "points_saved": 20,
+ "points_rate": 1.9924361792679715,
+ "variables_saved": 80,
+ "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.034387600421905515,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:28:38.022950",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.054747343063354,
+ "points_saved": 20,
+ "points_rate": 1.9891101504204134,
+ "variables_saved": 80,
+ "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.040450882911682126,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:28:48.072880",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.050496816635132,
+ "points_saved": 20,
+ "points_rate": 1.9899513790101298,
+ "variables_saved": 80,
+ "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.03597996234893799,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:28:58.126941",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.053466320037842,
+ "points_saved": 20,
+ "points_rate": 1.9893636048829693,
+ "variables_saved": 80,
+ "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.03447105884552002,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:29:08.173358",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.047012090682983,
+ "points_saved": 20,
+ "points_rate": 1.9906415777628894,
+ "variables_saved": 80,
+ "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.03476773500442505,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:29:18.223012",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.049654006958008,
+ "points_saved": 20,
+ "points_rate": 1.9901182653803546,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03414672613143921,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:29:28.280197",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.056646585464478,
+ "points_saved": 20,
+ "points_rate": 1.9887344981285606,
+ "variables_saved": 80,
+ "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.035137951374053955,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:29:38.337113",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.057454586029053,
+ "points_saved": 20,
+ "points_rate": 1.9885747262316524,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036700856685638425,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:29:48.397228",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.060114860534668,
+ "points_saved": 21,
+ "points_rate": 2.087451315529404,
+ "variables_saved": 84,
+ "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.0367929254259382,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:29:58.446003",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.048271179199219,
+ "points_saved": 20,
+ "points_rate": 1.9903921424216449,
+ "variables_saved": 80,
+ "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.03424969911575317,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:30:08.494987",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.048941135406494,
+ "points_saved": 20,
+ "points_rate": 1.9902594443042254,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035100889205932614,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:30:18.549898",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.055457353591919,
+ "points_saved": 20,
+ "points_rate": 1.9889697004041076,
+ "variables_saved": 80,
+ "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.03600543737411499,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:30:28.605132",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.055234432220459,
+ "points_saved": 20,
+ "points_rate": 1.989013795234158,
+ "variables_saved": 80,
+ "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.03879892826080322,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:30:38.658576",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.052847623825073,
+ "points_saved": 20,
+ "points_rate": 1.9894860390204612,
+ "variables_saved": 80,
+ "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.03470414876937866,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:30:48.700240",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.042259693145752,
+ "points_saved": 20,
+ "points_rate": 1.991583628697713,
+ "variables_saved": 80,
+ "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.038837218284606935,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:30:58.762216",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.061422109603882,
+ "points_saved": 20,
+ "points_rate": 1.987790570968044,
+ "variables_saved": 80,
+ "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.03439762592315674,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:31:08.807399",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.045737504959106,
+ "points_saved": 20,
+ "points_rate": 1.9908941469082726,
+ "variables_saved": 80,
+ "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.03812364339828491,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:31:18.860789",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.053389549255371,
+ "points_saved": 20,
+ "points_rate": 1.9893787962768585,
+ "variables_saved": 80,
+ "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.033163022994995114,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:31:28.930560",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.06977128982544,
+ "points_saved": 20,
+ "points_rate": 1.9861424281014333,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.036552703380584715,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:31:38.975201",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.044641017913818,
+ "points_saved": 21,
+ "points_rate": 2.090667049479237,
+ "variables_saved": 84,
+ "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.037394114903041294,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:31:49.015906",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.04070520401001,
+ "points_saved": 20,
+ "points_rate": 1.9918919631274996,
+ "variables_saved": 80,
+ "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.0326079249382019,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:31:59.048114",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.03220820426941,
+ "points_saved": 20,
+ "points_rate": 1.9935790399055509,
+ "variables_saved": 80,
+ "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.02855013608932495,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:32:09.081929",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.033814191818237,
+ "points_saved": 20,
+ "points_rate": 1.9932599525620456,
+ "variables_saved": 80,
+ "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.02831428050994873,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:32:19.124077",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.041578531265259,
+ "points_saved": 20,
+ "points_rate": 1.9917187260676594,
+ "variables_saved": 80,
+ "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.02984144687652588,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:32:29.156478",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.032970428466797,
+ "points_saved": 20,
+ "points_rate": 1.993427583844312,
+ "variables_saved": 80,
+ "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.03421405553817749,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:32:39.188130",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.031652688980103,
+ "points_saved": 20,
+ "points_rate": 1.9936894368333,
+ "variables_saved": 80,
+ "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.030256223678588868,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:32:49.223742",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.035611391067505,
+ "points_saved": 20,
+ "points_rate": 1.9929029952078052,
+ "variables_saved": 80,
+ "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.027917611598968505,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:32:59.260248",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.036506175994873,
+ "points_saved": 20,
+ "points_rate": 1.9927253218690408,
+ "variables_saved": 80,
+ "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.029486525058746337,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:33:09.293225",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.032976865768433,
+ "points_saved": 20,
+ "points_rate": 1.9934263048326273,
+ "variables_saved": 80,
+ "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.0273770809173584,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:33:19.327023",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.033798217773438,
+ "points_saved": 20,
+ "points_rate": 1.9932631258791773,
+ "variables_saved": 80,
+ "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.0287591814994812,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:33:29.363509",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.035942792892456,
+ "points_saved": 20,
+ "points_rate": 1.9928371865734604,
+ "variables_saved": 80,
+ "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.029972684383392335,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:33:39.396830",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.03386402130127,
+ "points_saved": 20,
+ "points_rate": 1.9932500537720308,
+ "variables_saved": 80,
+ "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.027953910827636718,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:33:49.429915",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.033085107803345,
+ "points_saved": 20,
+ "points_rate": 1.9934047987338186,
+ "variables_saved": 80,
+ "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.028903627395629884,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:34:09.564113",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:34:09.623959",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:34:09.670159",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:34:10.734933",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:34:10.788729",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:34:10.822842",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:34:20.788109",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 11.059304237365723,
+ "points_saved": 20,
+ "points_rate": 1.8084320288817655,
+ "variables_saved": 80,
+ "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.029610490798950194,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:34:30.847831",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 3.0% CPU",
+ "details": {
+ "duration": 10.05972170829773,
+ "points_saved": 21,
+ "points_rate": 2.0875328969267826,
+ "variables_saved": 84,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 3.0,
+ "cpu_max": 3.0,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03525974636986142,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:34:40.908486",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.06015157699585,
+ "points_saved": 20,
+ "points_rate": 1.9880416161654273,
+ "variables_saved": 80,
+ "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.03879992961883545,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:34:50.953707",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.045207262039185,
+ "points_saved": 20,
+ "points_rate": 1.9909992375747143,
+ "variables_saved": 80,
+ "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.035352814197540286,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:35:01.007545",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.05435585975647,
+ "points_saved": 20,
+ "points_rate": 1.9891875997797066,
+ "variables_saved": 80,
+ "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.0376049280166626,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:35:11.069988",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.061939716339111,
+ "points_saved": 20,
+ "points_rate": 1.9876883149600806,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03681162595748901,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:35:21.115814",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.046329021453857,
+ "points_saved": 20,
+ "points_rate": 1.9907769253117389,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0348502516746521,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:35:31.182312",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.066497564315796,
+ "points_saved": 20,
+ "points_rate": 1.986788341448267,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03132296800613403,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:35:41.218163",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.03585171699524,
+ "points_saved": 20,
+ "points_rate": 1.9928552716787304,
+ "variables_saved": 80,
+ "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.02808816432952881,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:35:51.252754",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.03407621383667,
+ "points_saved": 20,
+ "points_rate": 1.9932079021306057,
+ "variables_saved": 80,
+ "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.030920612812042236,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:36:01.284990",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.032750606536865,
+ "points_saved": 20,
+ "points_rate": 1.9934712607097944,
+ "variables_saved": 80,
+ "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.030264341831207277,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:36:11.327844",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.042854309082031,
+ "points_saved": 20,
+ "points_rate": 1.9914657112882188,
+ "variables_saved": 80,
+ "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.030423247814178468,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:36:21.359152",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.031307935714722,
+ "points_saved": 20,
+ "points_rate": 1.9937579554101306,
+ "variables_saved": 80,
+ "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.0271195650100708,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:36:31.394562",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.03490400314331,
+ "points_saved": 20,
+ "points_rate": 1.9930434804095032,
+ "variables_saved": 80,
+ "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.027383363246917723,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:36:41.428434",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.034377813339233,
+ "points_saved": 20,
+ "points_rate": 1.9931479930338016,
+ "variables_saved": 80,
+ "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.027056872844696045,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:36:51.462333",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 1.2% CPU",
+ "details": {
+ "duration": 10.03389859199524,
+ "points_saved": 21,
+ "points_rate": 2.0929053455606184,
+ "variables_saved": 84,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.2,
+ "cpu_max": 1.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.02848415147690546,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:37:01.495344",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.032507419586182,
+ "points_saved": 20,
+ "points_rate": 1.9935195822486573,
+ "variables_saved": 80,
+ "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.030461299419403075,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:37:11.537589",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.042748928070068,
+ "points_saved": 20,
+ "points_rate": 1.991486608223256,
+ "variables_saved": 80,
+ "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.032182729244232176,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:37:21.605501",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.067912101745605,
+ "points_saved": 20,
+ "points_rate": 1.9865091985191585,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.037774860858917236,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:37:31.674323",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.06818699836731,
+ "points_saved": 20,
+ "points_rate": 1.9864549598893293,
+ "variables_saved": 80,
+ "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.034643244743347165,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:37:41.718881",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.045193195343018,
+ "points_saved": 20,
+ "points_rate": 1.9910020256526337,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035854780673980714,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:37:51.765785",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.046903848648071,
+ "points_saved": 20,
+ "points_rate": 1.9906630242799859,
+ "variables_saved": 80,
+ "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.03676172494888306,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:38:01.806063",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.04027771949768,
+ "points_saved": 20,
+ "points_rate": 1.9919767718338182,
+ "variables_saved": 80,
+ "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.03639333248138428,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:38:11.867557",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.060973405838013,
+ "points_saved": 20,
+ "points_rate": 1.9878792233358589,
+ "variables_saved": 80,
+ "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.03974494934082031,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:38:21.919235",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.051487684249878,
+ "points_saved": 20,
+ "points_rate": 1.9897552111951435,
+ "variables_saved": 80,
+ "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.033957505226135255,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:38:31.965923",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.047398567199707,
+ "points_saved": 20,
+ "points_rate": 1.9905650070746785,
+ "variables_saved": 80,
+ "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.03447114229202271,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:38:42.014440",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.048517942428589,
+ "points_saved": 20,
+ "points_rate": 1.9903432640103615,
+ "variables_saved": 80,
+ "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.03576241731643677,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:38:52.072106",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.05766487121582,
+ "points_saved": 21,
+ "points_rate": 2.087959806664488,
+ "variables_saved": 84,
+ "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.03421649478730701,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:39:02.138459",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.066353559494019,
+ "points_saved": 20,
+ "points_rate": 1.9868167635674912,
+ "variables_saved": 80,
+ "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.03697726726531982,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:39:12.209148",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.070688486099243,
+ "points_saved": 20,
+ "points_rate": 1.985961538538936,
+ "variables_saved": 80,
+ "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.038282501697540286,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:39:22.275504",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.066356182098389,
+ "points_saved": 20,
+ "points_rate": 1.9868162459388445,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03343244791030884,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:39:32.340236",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.064732074737549,
+ "points_saved": 20,
+ "points_rate": 1.9871368508854743,
+ "variables_saved": 80,
+ "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.03792253732681274,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:39:42.405364",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.065128326416016,
+ "points_saved": 20,
+ "points_rate": 1.9870586197604485,
+ "variables_saved": 80,
+ "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.033228158950805664,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:39:52.451382",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.04601764678955,
+ "points_saved": 20,
+ "points_rate": 1.990838629115039,
+ "variables_saved": 80,
+ "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.03567999601364136,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:40:02.516544",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.065162181854248,
+ "points_saved": 20,
+ "points_rate": 1.987051936038999,
+ "variables_saved": 80,
+ "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.03433847427368164,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:40:12.573558",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.056464672088623,
+ "points_saved": 20,
+ "points_rate": 1.9887704727397215,
+ "variables_saved": 80,
+ "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.03497413396835327,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:40:22.635378",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.062369585037231,
+ "points_saved": 21,
+ "points_rate": 2.0869835700754873,
+ "variables_saved": 84,
+ "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.033566554387410484,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:40:32.693910",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.058531761169434,
+ "points_saved": 20,
+ "points_rate": 1.988361768385443,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033813762664794925,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:40:42.752943",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.059033155441284,
+ "points_saved": 20,
+ "points_rate": 1.9882626581443663,
+ "variables_saved": 80,
+ "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.035937023162841794,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:40:52.793233",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.040289640426636,
+ "points_saved": 20,
+ "points_rate": 1.991974406741333,
+ "variables_saved": 80,
+ "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.0346508264541626,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:41:02.845781",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.052547931671143,
+ "points_saved": 20,
+ "points_rate": 1.9895453506855536,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03506578207015991,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:41:12.899600",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.053819179534912,
+ "points_saved": 20,
+ "points_rate": 1.989293784068752,
+ "variables_saved": 80,
+ "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.038512897491455075,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:41:22.950384",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.05078411102295,
+ "points_saved": 20,
+ "points_rate": 1.9898944976905328,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03683680295944214,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:41:33.009436",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.059051752090454,
+ "points_saved": 20,
+ "points_rate": 1.988258982348275,
+ "variables_saved": 80,
+ "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.038869929313659665,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:41:43.049590",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.040154695510864,
+ "points_saved": 20,
+ "points_rate": 1.9920011799163178,
+ "variables_saved": 80,
+ "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.04879312515258789,
+ "csv_write_time_avg": 4.923343658447265e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:41:49.706547",
+ "level": "info",
+ "event_type": "plot_session_created",
+ "message": "Plot session 'CTS306 Conductivimeter' created and started",
+ "details": {
+ "session_id": "CTS306_1756136509706_2",
+ "variables": [
+ "CTS306_PEW",
+ "HMI_Instrument.CTS306.PVFiltered"
+ ],
+ "time_window": 60,
+ "trigger_variable": null,
+ "auto_started": true
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:41:53.113984",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.064393758773804,
+ "points_saved": 20,
+ "points_rate": 1.9872036487607279,
+ "variables_saved": 80,
+ "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.061228609085083006,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:42:03.181265",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 7.6% CPU",
+ "details": {
+ "duration": 10.067281007766724,
+ "points_saved": 20,
+ "points_rate": 1.9866337280712005,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 7.6,
+ "cpu_max": 7.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03665280342102051,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:42:13.223116",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.041345357894897,
+ "points_saved": 20,
+ "points_rate": 1.9917649764207364,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03307737112045288,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:42:23.292065",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.069453954696655,
+ "points_saved": 21,
+ "points_rate": 2.0855152716801544,
+ "variables_saved": 84,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03582734153384254,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:42:33.340486",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.2% CPU",
+ "details": {
+ "duration": 10.047857999801636,
+ "points_saved": 20,
+ "points_rate": 1.9904739896199606,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.2,
+ "cpu_max": 1.2,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.031384944915771484,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:42:43.413390",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.6% CPU",
+ "details": {
+ "duration": 10.07346773147583,
+ "points_saved": 20,
+ "points_rate": 1.9854136165550478,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.6,
+ "cpu_max": 1.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.033938395977020266,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:42:53.481847",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.068456649780273,
+ "points_saved": 20,
+ "points_rate": 1.9864017590458083,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.0359613299369812,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:43:03.534583",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.052736520767212,
+ "points_saved": 20,
+ "points_rate": 1.9895080268624832,
+ "variables_saved": 80,
+ "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.03828836679458618,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:43:13.587013",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.052430152893066,
+ "points_saved": 20,
+ "points_rate": 1.9895686610907757,
+ "variables_saved": 80,
+ "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.03457332849502563,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:43:23.631674",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.044660568237305,
+ "points_saved": 20,
+ "points_rate": 1.9911076003148322,
+ "variables_saved": 80,
+ "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.032776367664337155,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:43:33.680969",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.04865288734436,
+ "points_saved": 20,
+ "points_rate": 1.9903165353824421,
+ "variables_saved": 80,
+ "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.03736256361007691,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:43:43.723371",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.043044328689575,
+ "points_saved": 20,
+ "points_rate": 1.9914280317240836,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.032874035835266116,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:43:53.784444",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.06107234954834,
+ "points_saved": 20,
+ "points_rate": 1.9878596739141665,
+ "variables_saved": 80,
+ "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.037186837196350096,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:44:01.698555",
+ "level": "info",
+ "event_type": "plot_session_created",
+ "message": "Plot session 'CTS306 Conductivimeter' created and started",
+ "details": {
+ "session_id": "CTS306_1756136641698_3",
+ "variables": [
+ "CTS306_PEW",
+ "HMI_Instrument.CTS306.PVFiltered"
+ ],
+ "time_window": 60,
+ "trigger_variable": null,
+ "auto_started": true
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:44:03.387664",
+ "level": "info",
+ "event_type": "plot_session_created",
+ "message": "Plot session 'CTS306 Conductivimeter' created and started",
+ "details": {
+ "session_id": "CTS306_1756136643387_4",
+ "variables": [
+ "CTS306_PEW",
+ "HMI_Instrument.CTS306.PVFiltered"
+ ],
+ "time_window": 60,
+ "trigger_variable": null,
+ "auto_started": true
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:44:03.888517",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.08557677268982,
+ "points_saved": 21,
+ "points_rate": 2.0821813638724906,
+ "variables_saved": 84,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03817113240559896,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:44:13.996930",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.126206874847412,
+ "points_saved": 20,
+ "points_rate": 1.975073218154194,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.032414793968200684,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:44:24.060993",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.4% CPU",
+ "details": {
+ "duration": 10.064222812652588,
+ "points_saved": 20,
+ "points_rate": 1.9872374024605561,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.4,
+ "cpu_max": 1.4,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.032826018333435056,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:44:34.121929",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.06147837638855,
+ "points_saved": 20,
+ "points_rate": 1.9877794546509542,
+ "variables_saved": 80,
+ "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.03812916278839111,
+ "csv_write_time_avg": 5.352497100830078e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:44:44.166685",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.044215679168701,
+ "points_saved": 20,
+ "points_rate": 1.9911957925673773,
+ "variables_saved": 80,
+ "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.029564857482910156,
+ "csv_write_time_avg": 3.62396240234375e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:44:54.228129",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.061882257461548,
+ "points_saved": 20,
+ "points_rate": 1.9876996657527655,
+ "variables_saved": 80,
+ "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.036080145835876466,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:45:04.296078",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.068051099777222,
+ "points_saved": 20,
+ "points_rate": 1.9864817730655484,
+ "variables_saved": 80,
+ "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.03895697593688965,
+ "csv_write_time_avg": 9.131431579589843e-06
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:45:14.364516",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.068438053131104,
+ "points_saved": 20,
+ "points_rate": 1.9864054279780128,
+ "variables_saved": 80,
+ "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.03247798681259155,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:45:24.432167",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.06765103340149,
+ "points_saved": 21,
+ "points_rate": 2.0858887470700176,
+ "variables_saved": 84,
+ "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.03391496340433756,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:45:34.464489",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.03232216835022,
+ "points_saved": 20,
+ "points_rate": 1.9935563934634817,
+ "variables_saved": 80,
+ "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.029894328117370604,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:45:44.501030",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.2% CPU",
+ "details": {
+ "duration": 10.03654170036316,
+ "points_saved": 20,
+ "points_rate": 1.9927182686120186,
+ "variables_saved": 80,
+ "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.028907859325408937,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:45:54.536536",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.3% CPU",
+ "details": {
+ "duration": 10.035002946853638,
+ "points_saved": 20,
+ "points_rate": 1.9930238292825588,
+ "variables_saved": 80,
+ "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.028958702087402345,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:47:24.048921",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:47:24.109571",
+ "level": "info",
+ "event_type": "dataset_activated",
+ "message": "Dataset activated: DAR",
+ "details": {
+ "dataset_id": "DAR",
+ "variables_count": 4,
+ "streaming_count": 3,
+ "prefix": "dar"
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:47:24.153905",
+ "level": "info",
+ "event_type": "csv_recording_started",
+ "message": "🔥 CRITICAL PRIORITY: CSV recording started with MAXIMUM PRIORITY, async buffering, and performance monitoring: 1 datasets activated",
+ "details": {
+ "activated_datasets": 1,
+ "total_datasets": 1,
+ "priority": "CRITICAL",
+ "recording_protection": true,
+ "performance_monitoring": true,
+ "async_csv_buffering": true,
+ "csv_flush_interval": 5.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:47:34.110617",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 11.065715551376343,
+ "points_saved": 20,
+ "points_rate": 1.807384249770673,
+ "variables_saved": 80,
+ "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.03463048934936523,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:47:44.156243",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 21 points saved, 0 lost, 1.6% CPU",
+ "details": {
+ "duration": 10.046130895614624,
+ "points_saved": 21,
+ "points_rate": 2.090356995962197,
+ "variables_saved": 84,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.6,
+ "cpu_max": 1.6,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03649721826825823,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:47:54.190528",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.0% CPU",
+ "details": {
+ "duration": 10.033780574798584,
+ "points_saved": 20,
+ "points_rate": 1.9932666307486473,
+ "variables_saved": 80,
+ "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.0368921160697937,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:48:04.240777",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 4.5% CPU",
+ "details": {
+ "duration": 10.050752878189087,
+ "points_saved": 20,
+ "points_rate": 1.9899006813113027,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 4.5,
+ "cpu_max": 4.5,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03746839761734009,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:48:14.272173",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 1.1% CPU",
+ "details": {
+ "duration": 10.031396627426147,
+ "points_saved": 20,
+ "points_rate": 1.993740327774438,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 1.1,
+ "cpu_max": 1.1,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.035648131370544435,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:48:24.320103",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.047929525375366,
+ "points_saved": 20,
+ "points_rate": 1.9904598205522195,
+ "variables_saved": 80,
+ "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.034035670757293704,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:48:34.355614",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.5% CPU",
+ "details": {
+ "duration": 10.035009384155273,
+ "points_saved": 20,
+ "points_rate": 1.9930225507889308,
+ "variables_saved": 80,
+ "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.034169900417327884,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:48:44.401340",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.6% CPU",
+ "details": {
+ "duration": 10.046227216720581,
+ "points_saved": 20,
+ "points_rate": 1.9907970991052955,
+ "variables_saved": 80,
+ "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.03281612396240234,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:48:54.426875",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.025535345077515,
+ "points_saved": 20,
+ "points_rate": 1.9949059388454398,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.03444175720214844,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:49:04.484075",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.8% CPU",
+ "details": {
+ "duration": 10.056698083877563,
+ "points_saved": 20,
+ "points_rate": 1.9887243142024003,
+ "variables_saved": 80,
+ "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.02769085168838501,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:49:14.508038",
+ "level": "info",
+ "event_type": "performance_report",
+ "message": "Performance report: 20 points saved, 0 lost, 0.9% CPU",
+ "details": {
+ "duration": 10.02446460723877,
+ "points_saved": 20,
+ "points_rate": 1.9951190196788957,
+ "variables_saved": 80,
+ "udp_points_sent": 0,
+ "points_lost": 0,
+ "cpu_average": 0.9,
+ "cpu_max": 0.9,
+ "delay_average": 0.0,
+ "delay_max": 0.0,
+ "read_errors": 0,
+ "csv_errors": 0,
+ "udp_errors": 0,
+ "read_time_avg": 0.02729865312576294,
+ "csv_write_time_avg": 0.0
+ }
+ },
+ {
+ "timestamp": "2025-08-25T17:49:42.017711",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:49:43.055207",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:53:59.376653",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
+ },
+ {
+ "timestamp": "2025-08-25T17:54:00.414879",
+ "level": "info",
+ "event_type": "application_started",
+ "message": "Application initialization completed successfully",
+ "details": {}
}
],
- "last_updated": "2025-08-25T16:02:07.351853",
+ "last_updated": "2025-08-25T17:54:00.414879",
"total_entries": 1000
}
\ No newline at end of file
diff --git a/config/data/dataset_variables.json b/config/data/dataset_variables.json
index 1cac3e5..c93d270 100644
--- a/config/data/dataset_variables.json
+++ b/config/data/dataset_variables.json
@@ -5,7 +5,7 @@
"variables": [
{
"configType": "manual",
- "area": "db",
+ "area": "DB",
"db": 1011,
"name": "HMI_Instrument.QTM307.PVFiltered",
"offset": 1322,
@@ -14,7 +14,7 @@
},
{
"configType": "manual",
- "area": "db",
+ "area": "DB",
"db": 1011,
"name": "HMI_Instrument.QTM306.PVFiltered",
"offset": 1296,
@@ -23,7 +23,7 @@
},
{
"configType": "manual",
- "area": "db",
+ "area": "DB",
"db": 1011,
"name": "HMI_Instrument.CTS306.PVFiltered",
"offset": 1348,
@@ -32,7 +32,7 @@
},
{
"configType": "manual",
- "area": "pew",
+ "area": "PEW",
"type": "word",
"streaming": false,
"name": "CTS306_PEW",
@@ -44,14 +44,14 @@
"dataset_id": "Fast",
"variables": [
{
- "area": "db",
+ "area": "DB",
"configType": "symbol",
"streaming": true,
"symbol": "AUX Blink_2.0S",
"type": "real"
},
{
- "area": "m",
+ "area": "M",
"bit": 1,
"configType": "manual",
"name": "M50.1",
@@ -60,7 +60,7 @@
"type": "bool"
},
{
- "area": "m",
+ "area": "M",
"bit": 2,
"configType": "manual",
"name": "M50.2",
diff --git a/config/data/plot_definitions.json b/config/data/plot_definitions.json
index a976ed3..8c3b97c 100644
--- a/config/data/plot_definitions.json
+++ b/config/data/plot_definitions.json
@@ -11,6 +11,18 @@
"time_window": 60,
"trigger_enabled": false,
"trigger_on_true": true
+ },
+ {
+ "id": "CTS306",
+ "line_tension": 0.4,
+ "name": "CTS306 Conductivimeter",
+ "point_hover_radius": 4,
+ "point_radius": 1,
+ "stacked": true,
+ "stepped": true,
+ "time_window": 60,
+ "trigger_enabled": false,
+ "trigger_on_true": true
}
]
}
\ No newline at end of file
diff --git a/config/data/plot_variables.json b/config/data/plot_variables.json
index 71c9565..a4ea62c 100644
--- a/config/data/plot_variables.json
+++ b/config/data/plot_variables.json
@@ -32,22 +32,60 @@
"plot_id": "Clock",
"variables": [
{
- "variable_name": "AUX Blink_2.0S",
"color": "#db3376",
+ "enabled": true,
"line_width": 2,
- "y_axis": "left",
- "enabled": true
+ "variable_name": "AUX Blink_2.0S",
+ "y_axis": "left"
},
{
+ "color": "#3498db",
+ "enabled": true,
+ "line_width": 2,
"variable_name": "M50.1",
+ "y_axis": "left"
+ },
+ {
+ "color": "#3edb33",
+ "enabled": true,
+ "line_width": 2,
+ "variable_name": "M50.2",
+ "y_axis": "left"
+ }
+ ]
+ },
+ {
+ "plot_id": "DAR",
+ "variables": [
+ {
+ "color": "#3498db",
+ "enabled": true,
+ "line_width": 2,
+ "variable_name": "HMI_Instrument.QTM306.PVFiltered",
+ "y_axis": "left"
+ },
+ {
+ "color": "#e30d4d",
+ "enabled": true,
+ "line_width": 2,
+ "variable_name": "HMI_Instrument.QTM307.PVFiltered",
+ "y_axis": "left"
+ }
+ ]
+ },
+ {
+ "plot_id": "CTS306",
+ "variables": [
+ {
+ "variable_name": "CTS306_PEW",
"color": "#3498db",
"line_width": 2,
"y_axis": "left",
"enabled": true
},
{
- "variable_name": "M50.2",
- "color": "#3edb33",
+ "variable_name": "HMI_Instrument.CTS306.PVFiltered",
+ "color": "#1bf38e",
"line_width": 2,
"y_axis": "left",
"enabled": true
diff --git a/config/schema/dataset-variables.schema.json b/config/schema/dataset-variables.schema.json
index f703623..2c11801 100644
--- a/config/schema/dataset-variables.schema.json
+++ b/config/schema/dataset-variables.schema.json
@@ -38,16 +38,16 @@
"type": "string",
"title": "Memory Area",
"enum": [
- "db",
- "mw",
- "m",
- "pew",
- "pe",
- "paw",
- "pa",
- "e",
- "a",
- "mb"
+ "DB",
+ "MW",
+ "M",
+ "PEW",
+ "PE",
+ "PAW",
+ "PA",
+ "E",
+ "A",
+ "MB"
]
},
"db": {
@@ -87,7 +87,8 @@
"uint",
"udint",
"sint",
- "usint"
+ "usint",
+ "dword"
]
},
"streaming": {
@@ -102,6 +103,32 @@
"area",
"offset",
"type"
+ ],
+ "allOf": [
+ {
+ "if": {
+ "properties": {
+ "area": {
+ "const": "DB"
+ }
+ }
+ },
+ "then": {
+ "required": ["db"]
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "type": {
+ "const": "bool"
+ }
+ }
+ },
+ "then": {
+ "required": ["bit"]
+ }
+ }
]
},
{
diff --git a/config/schema/ui/dataset-variables.uischema.json b/config/schema/ui/dataset-variables.uischema.json
index 1361b6c..b8e69ae 100644
--- a/config/schema/ui/dataset-variables.uischema.json
+++ b/config/schema/ui/dataset-variables.uischema.json
@@ -83,43 +83,43 @@
"ui:options": {
"enumOptions": [
{
- "value": "db",
+ "value": "DB",
"label": "🗃️ DB (Data Block)"
},
{
- "value": "mw",
+ "value": "MW",
"label": "📊 MW (Memory Word)"
},
{
- "value": "m",
+ "value": "M",
"label": "💾 M (Memory)"
},
{
- "value": "pew",
+ "value": "PEW",
"label": "📥 PEW (Process Input Word)"
},
{
- "value": "pe",
+ "value": "PE",
"label": "📥 PE (Process Input)"
},
{
- "value": "paw",
+ "value": "PAW",
"label": "📤 PAW (Process Output Word)"
},
{
- "value": "pa",
+ "value": "PA",
"label": "📤 PA (Process Output)"
},
{
- "value": "e",
+ "value": "E",
"label": "🔌 E (Input)"
},
{
- "value": "a",
+ "value": "A",
"label": "🔌 A (Output)"
},
{
- "value": "mb",
+ "value": "MB",
"label": "💾 MB (Memory Byte)"
}
]
@@ -127,8 +127,9 @@
},
"db": {
"ui:widget": "updown",
- "ui:help": "Data Block number (required for DB area)",
- "ui:placeholder": "1011"
+ "ui:help": "⚠️ Data Block number (only required for DB area - will be ignored for other areas like PE, PA, MW, etc.)",
+ "ui:placeholder": "1011",
+ "ui:description": "🗃️ This field is only used when Area = 'DB (Data Block)'"
},
"offset": {
"ui:widget": "updown",
@@ -136,7 +137,8 @@
},
"bit": {
"ui:widget": "updown",
- "ui:help": "Bit position (0-7) for bit-addressable areas"
+ "ui:help": "⚠️ Bit position (0-7) - only required for BOOL data type, will be ignored for other types",
+ "ui:description": "✅ This field is only used when Type = 'BOOL (1-bit boolean)'"
},
"type": {
"ui:widget": "select",
@@ -182,6 +184,10 @@
{
"value": "usint",
"label": "🔢 USINT (8-bit unsigned)"
+ },
+ {
+ "value": "dword",
+ "label": "🔢 DWORD (32-bit unsigned)"
}
]
}
diff --git a/core/plc_client.py b/core/plc_client.py
index a543abc..62d3509 100644
--- a/core/plc_client.py
+++ b/core/plc_client.py
@@ -1,5 +1,6 @@
import snap7
import snap7.util
+import snap7.type
import struct
import time
import threading
@@ -8,6 +9,7 @@ from typing import Dict, Any, Optional
# 🚀 OPTIMIZATION: Check if optimized batch reader is available
try:
import utils.optimized_batch_reader
+
OPTIMIZED_BATCH_READER_AVAILABLE = True
except ImportError as e:
OPTIMIZED_BATCH_READER_AVAILABLE = False
@@ -63,10 +65,11 @@ class PLCClient:
try:
# Import here to avoid circular imports
from utils.optimized_batch_reader import OptimizedBatchReader
+
self.batch_reader = OptimizedBatchReader(
- plc_client=self,
- logger=logger,
- inter_read_delay=self.inter_read_delay_seconds
+ plc_client=self,
+ logger=logger,
+ inter_read_delay=self.inter_read_delay_seconds,
)
if logger:
logger.info("🚀 OptimizedBatchReader initialized successfully")
@@ -324,7 +327,7 @@ class PLCClient:
result = self._read_memory_variable(offset, var_type)
elif area_type in [
"pew",
- "pe",
+ "pe",
"i", # Process Input area
"ped", # Process Input Double word (REAL)
"peb", # Process Input Byte
@@ -413,19 +416,21 @@ class PLCClient:
return None
def read_variables_batch(
- self, variables_config: Dict[str, Dict[str, Any]], use_optimized_reading: bool = None
+ self,
+ variables_config: Dict[str, Dict[str, Any]],
+ use_optimized_reading: bool = None,
) -> Dict[str, Any]:
"""🚀 OPTIMIZED: Read multiple variables using advanced batch operations
-
+
This method can use either the optimized read_multi_vars method or fall back
to the legacy grouping method based on the use_optimized_reading parameter
or the global USE_OPTIMIZED_BATCH_READING setting.
-
+
When optimization is enabled and available:
- Uses snap7.read_multi_vars with automatic chunking
- Handles scattered variables across different memory areas
- Significantly reduces network overhead and improves performance
-
+
When optimization is disabled or unavailable:
- Falls back to the original grouping and batch reading method
- Maintains compatibility with older snap7 versions
@@ -444,21 +449,27 @@ class PLCClient:
# � Determine which reading method to use
# Priority: dataset-specific setting > global setting
should_use_optimized = (
- use_optimized_reading
- if use_optimized_reading is not None
+ use_optimized_reading
+ if use_optimized_reading is not None
else USE_OPTIMIZED_BATCH_READING
)
# 🚀 Check if we should use the optimized batch reader
if (
- should_use_optimized
- and self.batch_reader is not None
+ should_use_optimized
+ and self.batch_reader is not None
and OPTIMIZED_BATCH_READER_AVAILABLE
):
# Use the optimized read_multi_vars method
if self.logger:
- source = "dataset config" if use_optimized_reading is not None else "global config"
- self.logger.debug(f"🚀 Using optimized batch reading for {len(variables_config)} variables (from {source})")
+ source = (
+ "dataset config"
+ if use_optimized_reading is not None
+ else "global config"
+ )
+ self.logger.debug(
+ f"🚀 Using optimized batch reading for {len(variables_config)} variables (from {source})"
+ )
return self.batch_reader.read_variables_batch(variables_config)
else:
# Fall back to the legacy grouping method
@@ -474,7 +485,7 @@ class PLCClient:
self, variables_config: Dict[str, Dict[str, Any]]
) -> Dict[str, Any]:
"""Legacy batch reading method (original implementation)
-
+
This method groups variables by DB/Area and performs batch reads when possible,
reducing the number of snap7 calls compared to individual reads.
"""
@@ -734,48 +745,48 @@ class PLCClient:
def _read_input_variable(self, offset: int, var_type: str) -> Any:
"""Read from Process Inputs using correct area code (0x81)"""
try:
- # Use snap7.types.Areas.PE (0x81) for Process Inputs
+ # Use snap7.type.Areas.PE (0x81) for Process Inputs
# read_area(area, dbnumber, start, size) - only 4 parameters!
if var_type == "real":
# For REAL (32-bit float), read 4 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 4)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 4)
return struct.unpack(">f", raw_data)[0]
elif var_type == "int":
# For INT (16-bit signed), read 2 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 2)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 2)
return struct.unpack(">h", raw_data)[0]
elif var_type == "word":
# For WORD (16-bit unsigned), read 2 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 2)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 2)
return struct.unpack(">H", raw_data)[0]
elif var_type == "dint":
# For DINT (32-bit signed), read 4 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 4)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 4)
return struct.unpack(">l", raw_data)[0]
elif var_type == "dword":
# For DWORD (32-bit unsigned), read 4 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 4)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 4)
return struct.unpack(">L", raw_data)[0]
elif var_type == "byte":
# For BYTE (8-bit), read 1 byte
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 1)
return struct.unpack(">B", raw_data)[0]
elif var_type == "bool":
# For BOOL, we need to read the byte and extract the specific bit
# Default to bit 0 if not specified
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 1)
return bool(raw_data[0] & 0x01)
elif var_type == "uint":
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 2)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 2)
return struct.unpack(">H", raw_data)[0]
elif var_type == "udint":
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 4)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 4)
return struct.unpack(">L", raw_data)[0]
elif var_type == "sint":
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 1)
return struct.unpack(">b", raw_data)[0]
elif var_type == "usint":
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 1)
return struct.unpack(">B", raw_data)[0]
except Exception as e:
if self.logger:
@@ -791,48 +802,48 @@ class PLCClient:
def _read_output_variable(self, offset: int, var_type: str) -> Any:
"""Read from Process Outputs using correct area code (0x82)"""
try:
- # Use snap7.types.Areas.PA (0x82) for Process Outputs
+ # Use snap7.type.Areas.PA (0x82) for Process Outputs
# read_area(area, dbnumber, start, size) - only 4 parameters!
if var_type == "real":
# For REAL (32-bit float), read 4 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 4)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 4)
return struct.unpack(">f", raw_data)[0]
elif var_type == "int":
# For INT (16-bit signed), read 2 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 2)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 2)
return struct.unpack(">h", raw_data)[0]
elif var_type == "word":
# For WORD (16-bit unsigned), read 2 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 2)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 2)
return struct.unpack(">H", raw_data)[0]
elif var_type == "dint":
# For DINT (32-bit signed), read 4 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 4)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 4)
return struct.unpack(">l", raw_data)[0]
elif var_type == "dword":
# For DWORD (32-bit unsigned), read 4 bytes
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 4)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 4)
return struct.unpack(">L", raw_data)[0]
elif var_type == "byte":
# For BYTE (8-bit), read 1 byte
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 1)
return struct.unpack(">B", raw_data)[0]
elif var_type == "bool":
# For BOOL, we need to read the byte and extract the specific bit
# Default to bit 0 if not specified
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 1)
return bool(raw_data[0] & 0x01)
elif var_type == "uint":
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 2)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 2)
return struct.unpack(">H", raw_data)[0]
elif var_type == "udint":
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 4)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 4)
return struct.unpack(">L", raw_data)[0]
elif var_type == "sint":
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 1)
return struct.unpack(">b", raw_data)[0]
elif var_type == "usint":
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 1)
return struct.unpack(">B", raw_data)[0]
except Exception as e:
if self.logger:
@@ -848,9 +859,9 @@ class PLCClient:
def _read_input_bit(self, offset: int, bit: int) -> bool:
"""Read from Process Input Bits using correct area code (0x81)"""
try:
- # Use snap7.types.Areas.PE (0x81) for Process Inputs
+ # Use snap7.type.Areas.PE (0x81) for Process Inputs
# read_area(area, dbnumber, start, size) - only 4 parameters!
- raw_data = self.plc.read_area(snap7.types.Areas.PE, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PE, 0, offset, 1)
return snap7.util.get_bool(raw_data, 0, bit)
except Exception as e:
if self.logger:
@@ -860,9 +871,9 @@ class PLCClient:
def _read_output_bit(self, offset: int, bit: int) -> bool:
"""Read from Process Output Bits using correct area code (0x82)"""
try:
- # Use snap7.types.Areas.PA (0x82) for Process Outputs
+ # Use snap7.type.Areas.PA (0x82) for Process Outputs
# read_area(area, dbnumber, start, size) - only 4 parameters!
- raw_data = self.plc.read_area(snap7.types.Areas.PA, 0, offset, 1)
+ raw_data = self.plc.read_area(snap7.type.Areas.PA, 0, offset, 1)
return snap7.util.get_bool(raw_data, 0, bit)
except Exception as e:
if self.logger:
@@ -1106,7 +1117,7 @@ class PLCClient:
"batch_reader_initialized": self.batch_reader is not None,
"inter_read_delay": self.inter_read_delay_seconds,
}
-
+
# Add detailed stats from the batch reader if available
if self.batch_reader is not None:
try:
@@ -1115,5 +1126,5 @@ class PLCClient:
except Exception as e:
if self.logger:
self.logger.warning(f"Error getting batch reader stats: {e}")
-
+
return base_stats
diff --git a/frontend/src/components/rjsf/ConditionalObjectFieldTemplate.jsx b/frontend/src/components/rjsf/ConditionalObjectFieldTemplate.jsx
new file mode 100644
index 0000000..e232feb
--- /dev/null
+++ b/frontend/src/components/rjsf/ConditionalObjectFieldTemplate.jsx
@@ -0,0 +1,95 @@
+import React from 'react'
+import { SimpleGrid, Box, Heading, Text, Stack } from '@chakra-ui/react'
+
+// ConditionalObjectFieldTemplate with PLC-specific field visibility logic
+// Hides/shows fields based on PLC memory area and data type rules
+export default function ConditionalObjectFieldTemplate(props) {
+ const { TitleField, DescriptionField, title, description, properties = [], uiSchema, formData } = props
+ const layout = uiSchema && uiSchema['ui:layout']
+
+ // Logic to determine if a field should be visible
+ const shouldShowField = (fieldName) => {
+ if (!formData) return true
+
+ const area = formData.area
+ const type = formData.type
+
+ // DB Number field logic
+ if (fieldName === 'db') {
+ // Only show DB field when area is 'db'
+ return area === 'db'
+ }
+
+ // Bit Position field logic
+ if (fieldName === 'bit') {
+ // Only show bit field for boolean types
+ return type === 'bool'
+ }
+
+ // Show all other fields by default
+ return true
+ }
+
+ // Filter properties based on visibility rules
+ const visibleProperties = properties.filter(prop => shouldShowField(prop.name))
+
+ if (!layout) {
+ return (
+
+ {title && (
+ TitleField ? (
+
+ ) : (
+ {title}
+ )
+ )}
+ {description && (
+ DescriptionField ? (
+
+ ) : (
+ {description}
+ )
+ )}
+
+ {visibleProperties.map((prop) => (
+ {prop.content}
+ ))}
+
+
+ )
+ }
+
+ // Map property name to its renderer
+ const propMap = new Map(visibleProperties.map((p) => [p.name, p]))
+
+ return (
+
+ {title && (
+ TitleField ? (
+
+ ) : (
+ {title}
+ )
+ )}
+ {description && (
+ DescriptionField ? (
+
+ ) : (
+ {description}
+ )
+ )}
+ {layout.map((row, rowIdx) => (
+
+ {row.map((cell, cellIdx) => {
+ const prop = propMap.get(cell.name)
+ if (!prop) return null
+ const col = Math.min(Math.max(cell.width || 12, 1), 12)
+ return (
+ {prop.content}
+ )
+ })}
+
+ ))}
+
+ )
+}
diff --git a/frontend/src/components/rjsf/PlcWidgets.jsx b/frontend/src/components/rjsf/PlcWidgets.jsx
index 0f3649b..0369390 100644
--- a/frontend/src/components/rjsf/PlcWidgets.jsx
+++ b/frontend/src/components/rjsf/PlcWidgets.jsx
@@ -86,7 +86,8 @@ export function PlcDataTypeWidget(props) {
'uint': '16-bit',
'udint': '32-bit',
'sint': '8-bit',
- 'usint': '8-bit'
+ 'usint': '8-bit',
+ 'dword': '32-bit'
}
const typeColors = {
@@ -99,7 +100,8 @@ export function PlcDataTypeWidget(props) {
'uint': 'green',
'udint': 'green',
'sint': 'green',
- 'usint': 'green'
+ 'usint': 'green',
+ 'dword': 'orange'
}
return (
diff --git a/frontend/src/pages/Dashboard.jsx b/frontend/src/pages/Dashboard.jsx
index 4585e41..5dd6e26 100644
--- a/frontend/src/pages/Dashboard.jsx
+++ b/frontend/src/pages/Dashboard.jsx
@@ -1405,8 +1405,8 @@ function DatasetManager() {
area: {
type: "string",
title: "Memory Area",
- enum: ["db", "mw", "m", "pew", "pe", "paw", "pa", "e", "a", "mb"],
- default: "db"
+ enum: ["DB", "MW", "M", "PEW", "PE", "PAW", "PA", "E", "A", "MB"],
+ default: "DB"
},
db: { type: "integer", title: "DB Number", minimum: 1, maximum: 9999 },
offset: { type: "integer", title: "Offset", minimum: 0, maximum: 8191 },
@@ -1527,7 +1527,7 @@ function DatasetManager() {
// Build the configuration object, only including relevant fields
const config = {
name: processedVar.name || symbolName,
- area: processedVar.area || "db",
+ area: processedVar.area || "DB",
offset: processedVar.offset !== undefined && processedVar.offset !== null ? processedVar.offset : 0,
type: processedVar.type || "real",
streaming: currentVariable.streaming || false
@@ -1536,7 +1536,7 @@ function DatasetManager() {
// Only include db field if it's actually present and area requires it
if (processedVar.db !== undefined && processedVar.db !== null) {
config.db = processedVar.db
- } else if (config.area === "db") {
+ } else if (config.area === "DB") {
// Default to 1 only for DB area if no DB number was provided
config.db = 1
}
@@ -1554,7 +1554,7 @@ function DatasetManager() {
// If backend processing failed, return basic defaults
const fallbackConfig = {
name: currentVariable.name || symbolName,
- area: "db", // Default to DB area
+ area: "DB", // Default to DB area
offset: 0,
type: "real",
bit: 0,
@@ -1562,7 +1562,7 @@ function DatasetManager() {
}
// Only add db field for DB area
- if (fallbackConfig.area === "db") {
+ if (fallbackConfig.area === "DB") {
fallbackConfig.db = 1
}
@@ -1573,7 +1573,7 @@ function DatasetManager() {
// Return basic defaults on error
const errorConfig = {
name: currentVariable.name || symbolName,
- area: "db", // Default to DB area
+ area: "DB", // Default to DB area
offset: 0,
type: "real",
bit: 0,
@@ -1581,7 +1581,7 @@ function DatasetManager() {
}
// Only add db field for DB area
- if (errorConfig.area === "db") {
+ if (errorConfig.area === "DB") {
errorConfig.db = 1
}
diff --git a/requirements.txt b/requirements.txt
index 1660e74..0396db1 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,7 +3,7 @@ Flask==2.3.3
Flask-Cors==4.0.0
# PLC Communication
-python-snap7==1.3
+python-snap7==2.0.2
# System Monitoring & Process Management
psutil==5.9.5
diff --git a/system_state.json b/system_state.json
index 657cc85..33afb79 100644
--- a/system_state.json
+++ b/system_state.json
@@ -1,11 +1,10 @@
{
"last_state": {
- "should_connect": true,
+ "should_connect": false,
"should_stream": false,
- "active_datasets": [
- "DAR"
- ]
+ "active_datasets": []
},
"auto_recovery_enabled": true,
- "last_update": "2025-08-25T16:01:38.412207"
+ "last_update": "2025-08-25T17:50:18.320817",
+ "plotjuggler_path": "C:\\Program Files\\PlotJuggler\\plotjuggler.exe"
}
\ No newline at end of file
diff --git a/utils/optimized_batch_reader.py b/utils/optimized_batch_reader.py
index 4f0d9f5..c3aa381 100644
--- a/utils/optimized_batch_reader.py
+++ b/utils/optimized_batch_reader.py
@@ -32,7 +32,7 @@ except ImportError:
import snap7
import snap7.util
-import snap7.types
+import snap7.type
import time
import threading
import ctypes
@@ -40,7 +40,7 @@ from typing import Dict, Any, Optional, List
# Try to import S7DataItem with fallback for different snap7 versions
try:
- from snap7.types import S7DataItem
+ from snap7.type import S7DataItem
SNAP7_TYPES_AVAILABLE = True
except ImportError:
@@ -213,15 +213,19 @@ class OptimizedBatchReader:
# Convert to ctypes array for read_multi_vars (CRITICAL for snap7 v2)
items_array = (S7DataItem * len(items_to_read))(*items_to_read)
-
+
# Perform the multi-variable read for the current chunk
result = self.plc_client.plc.read_multi_vars(items_array)
-
+
# Handle result format (result code, array of items)
if isinstance(result, tuple) and len(result) == 2:
ret_code, read_results = result
if ret_code != 0:
- error_msg = snap7.util.get_error_text(ret_code) if hasattr(snap7.util, 'get_error_text') else f"Error code: {ret_code}"
+ error_msg = (
+ snap7.util.get_error_text(ret_code)
+ if hasattr(snap7.util, "get_error_text")
+ else f"Error code: {ret_code}"
+ )
self._log_error(f"read_multi_vars failed: {error_msg}")
for var_name, _ in chunk:
chunk_results[var_name] = None
@@ -244,7 +248,11 @@ class OptimizedBatchReader:
chunk_results[var_name] = None
else:
# Handle read error
- error_msg = snap7.util.get_error_text(item_result.Result) if hasattr(snap7.util, 'get_error_text') else f"Error: {item_result.Result}"
+ error_msg = (
+ snap7.util.get_error_text(item_result.Result)
+ if hasattr(snap7.util, "get_error_text")
+ else f"Error: {item_result.Result}"
+ )
self._log_error(f"Failed to read '{var_name}': {error_msg}")
chunk_results[var_name] = None
@@ -292,6 +300,14 @@ class OptimizedBatchReader:
"mw": 131,
"md": 131,
"mb": 131,
+ # PEW/PAW area mappings
+ "pew": 129, # Process Input Words
+ "paw": 130, # Process Output Words
+ # Additional PE/PA area mappings for consistency with plc_client.py
+ "ped": 129, # Process Input Double word (REAL)
+ "peb": 129, # Process Input Byte
+ "pad": 130, # Process Output Double word (REAL)
+ "pab": 130, # Process Output Byte
}
return area_map.get(area_str.lower(), 132) # Default to DB