This commit renames the 'laborious' package to 'model_manager' across the entire project. This includes renaming directories, modules, references in code, configuration files, and documentation to reflect the new package name. This change improves clarity and consistency within the project.
73 lines
2.4 KiB
Python
73 lines
2.4 KiB
Python
"""
|
|
Laborious Metrics Module
|
|
|
|
This module defines all Prometheus metrics used by the Sientia DataOps Laborious system
|
|
for monitoring and observability. The metrics provide insights into system performance,
|
|
prediction quality, and operational health.
|
|
|
|
The metrics are designed to be scraped by Prometheus and can be visualized in
|
|
Grafana or other monitoring dashboards to provide real-time visibility into
|
|
the system's operation.
|
|
|
|
Key Metric Categories:
|
|
- Application Health: Overall system status and availability
|
|
- Prediction Operations: Count and performance of prediction operations
|
|
- Data Quality: Confidence levels and validation results
|
|
- Export Operations: Database and OPC export performance
|
|
- Response Times: Performance monitoring for various operations
|
|
|
|
Metric Labels:
|
|
- pod_id: Kubernetes pod identifier for multi-instance deployments
|
|
- model_name: Name of the ML model being used
|
|
- pipeline_name: Name of the prediction pipeline
|
|
- opc_server_id: Identifier for OPC server operations
|
|
"""
|
|
|
|
from prometheus_client import Gauge, Counter, Histogram
|
|
|
|
# Application health metric
|
|
APP_UP = Gauge(
|
|
"app_up",
|
|
"Indicates if the application is running (1) or shutting down (0)",
|
|
["pod_id"],
|
|
)
|
|
|
|
# Core labels used across multiple metrics
|
|
CORE_LABELS = ["pod_id", "model_name", "pipeline_name"]
|
|
|
|
# Prediction operation metrics
|
|
PREDICTIONS_WRITTEN_COUNT = Counter(
|
|
"laborious_predictions_written_count",
|
|
"Number of predictions written to the database table predictions",
|
|
CORE_LABELS,
|
|
)
|
|
|
|
# Prediction quality metrics
|
|
PREDICTION_CONFIDENCE_MONITOR = Gauge(
|
|
"laborious_prediction_confidence_monitor",
|
|
"Current confidence of each prediction",
|
|
CORE_LABELS,
|
|
)
|
|
|
|
# Performance monitoring metrics
|
|
PREDICTION_RESPONSE_TIME_MONITOR = Histogram(
|
|
"laborious_prediction_response_time_monitor",
|
|
"Current response time of each prediction",
|
|
CORE_LABELS,
|
|
buckets=[0.01, 0.05, 0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0]
|
|
)
|
|
|
|
# OPC export metrics
|
|
PREDICTION_OPC_WRITING_COUNT = Counter(
|
|
"laborious_prediction_opc_writing_count",
|
|
"Number of predictions written to the OPC server",
|
|
[*CORE_LABELS, "opc_server_id"],
|
|
)
|
|
|
|
PREDICTION_OPC_WRITING_RESPONSE_TIME_MONITOR = Histogram(
|
|
"laborious_prediction_opc_writing_response_time_monitor",
|
|
"Current response time of each prediction written to the OPC server",
|
|
[*CORE_LABELS, "opc_server_id"],
|
|
buckets=[0.01, 0.05, 0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0]
|
|
)
|