SIENTIAPDE-1314
Enhance OPC Metrics Handling and Refactor Write Operations - Updated the OPC class to return response times for write operations, improving metrics tracking. - Refactored the Gates activity to incorporate OPC metrics into the metrics writing process. - Adjusted the manage_output_tags method in OpcRepository to return response times for each tag written. - Modified tests to validate the new metrics structure and ensure correct behavior of the updated methods.
This commit is contained in:
@@ -14,8 +14,6 @@ from sientia_do.notifications.models import NotificationLevel
|
||||
from sientia_do.observability.logger import Logger
|
||||
from sientia_do.temporal.activities.base import BaseActivity
|
||||
|
||||
from laborious import metrics
|
||||
|
||||
data_type_map = {
|
||||
'float': {
|
||||
'converter': float,
|
||||
@@ -395,21 +393,8 @@ class OpcRepository(BaseActivity):
|
||||
try:
|
||||
await node_obj.write_value(ua_data)
|
||||
|
||||
metrics.PREDICTION_OPC_WRITING_COUNT.labels(
|
||||
pod_id=self.pod_id,
|
||||
model_name=metadata['model_name'],
|
||||
pipeline_name=metadata['workflow_name'],
|
||||
opc_server_id=self.id,
|
||||
).inc()
|
||||
|
||||
end_time = time.time()
|
||||
response_time = end_time - start_time
|
||||
metrics.PREDICTION_OPC_WRITING_RESPONSE_TIME_MONITOR.labels(
|
||||
pod_id=self.pod_id,
|
||||
model_name=metadata['model_name'],
|
||||
pipeline_name=metadata['workflow_name'],
|
||||
opc_server_id=self.id,
|
||||
).observe(response_time)
|
||||
|
||||
except Exception as e:
|
||||
trace = traceback.format_exc()
|
||||
@@ -424,4 +409,6 @@ class OpcRepository(BaseActivity):
|
||||
}
|
||||
self.error_count = 0
|
||||
|
||||
return True, {}
|
||||
return True, {
|
||||
'response_time': response_time,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user