SIENTIAPDE-1174
Update dependencies, modify replica count, and implement metrics tracking - Updated sientia-dataops-library version from 1.3.5 to 1.3.7 in requirements.txt. - Changed replicaCount in values.yaml from 5 to 3 and incremented image tag from 0.2.7 to 0.3.1. - Added Prometheus metrics tracking in gates.py and worker.py, including a new write_metrics method. - Configured Prometheus service and ServiceMonitor in values.yaml for metrics collection.
This commit is contained in:
@@ -15,6 +15,7 @@ with workflow.unsafe.imports_passed_through():
|
||||
)
|
||||
from pandas import DataFrame
|
||||
from datetime import datetime
|
||||
from laborious import metrics
|
||||
|
||||
input_filter_functions = {
|
||||
'SPECIFIC_VARIABLES_NULL_VALUES': filter_specific_variables_null_values,
|
||||
@@ -309,3 +310,34 @@ class Gates(BaseActivity):
|
||||
if data.empty:
|
||||
return datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
||||
return max(data['timestamp'].values.tolist())
|
||||
|
||||
@activity.defn(name="write_metrics")
|
||||
async def write_metrics(self, input_data: dict[str, Any]):
|
||||
"""
|
||||
Write metrics to the database.
|
||||
input_data:
|
||||
metadata: dict[str, Any]
|
||||
prediction: dict[str, Any]
|
||||
"""
|
||||
metadata = input_data['metadata']
|
||||
prediction = DataFrame(input_data['prediction'])
|
||||
prediction_confidence = prediction['prediction_confidence'].values[0]
|
||||
response_time = prediction['response_time'].values[0]
|
||||
|
||||
metrics.PREDICTIONS_WRITTEN_COUNT.labels(
|
||||
pod_id=self.pod_id,
|
||||
model_name=metadata['model_name'],
|
||||
pipeline_name=metadata['workflow_name']
|
||||
).inc()
|
||||
|
||||
metrics.PREDICTION_CONFIDENCE_MONITOR.labels(
|
||||
pod_id=self.pod_id,
|
||||
model_name=metadata['model_name'],
|
||||
pipeline_name=metadata['workflow_name']
|
||||
).set(prediction_confidence)
|
||||
|
||||
metrics.PREDICTION_RESPONSE_TIME_MONITOR.labels(
|
||||
pod_id=self.pod_id,
|
||||
model_name=metadata['model_name'],
|
||||
pipeline_name=metadata['workflow_name']
|
||||
).set(response_time)
|
||||
|
||||
Reference in New Issue
Block a user