Skip to main content

Overview

Action Metrics

See Thoras in action. These metrics provide insight into how Thoras actively manages your application resources across your environment. They track when Thoras takes autonomous action to scale horizontally or vertically, when replicas or resource allocations differ from Thoras’ desired values, and how each AIScaleTarget is currently operating. Together, these metrics give teams the visibility they need to understand scaling behavior, make informed decisions, and maintain efficient, well-performing applications.
Metric NameTypeDescriptionLabels
thoras_horizontal_scale_totalCounterCounts horizontal scaling actions in autonomous modeai_scale_target, scale_metric, namespace
thoras_vertical_scale_totalCounterCounts vertical scaling adjustments in autonomous modeai_scale_target, namespace
thoras_recommendationGaugeCurrent scaling recommendation per AIScaleTargetai_scale_target, resource, namespace, container, unit
thoras_scale_targetsGaugeThe count of AIScaleTargets in various operational modes (autonomous or recommendation)vertical, horizontal
thoras_provisioning_ratioGaugeRatio of current resource allocation to forecasted/recommended value. Values > 1.0 indicate over-provisioning, values < 1.0 indicate under-provisioning.ai_scale_target, namespace, scaling_mode, resource, container, mode
thoras_provisioning_deltaGaugeAbsolute difference between current and recommended/forecasted values. Units depend on resource type (bytes for memory, cores for CPU)ai_scale_target, namespace, scaling_mode, resource, container, mode

System Health Metrics

Observe the state of Thoras’ system health. These metrics offer a window into the health and performance of the Thoras platform. They can also be easily integrated into popular observability tools like Datadog, Grafana, giving your team the flexibility to monitor Thoras wherever you already track system performance.
Metric NameTypeDescriptionLabels
thoras_api_http_response_totalCounterTracks total HTTP responses from internal API; spikes may indicate issuespath, method, code
thoras_api_http_request_duration_secondsGaugeCaptures average internal API response time; highlights potential slowdownspath, method
thoras_forecast_queue_secondsGaugeReflects current max forecast queue wait time; signals worker or capacity issues

Advanced Usage

Provisioning Ratio

Metric: thoras_provisioning_ratio The provisioning ratio compares your current resource allocation to Thoras’ forecasted or recommended values. Interpretation: Note: Recommendations are based on the predicted maximum usage over the forecast window. Utilization ratio lowers when preemptive up-scaling occurs.
  • ratio > 1.0 — Current usage exceeds recommendation
  • ratio < 1.0 — Recommendations exceed current usage
Calculation:
  • Vertical scaling: current_avg_request / recommended_request
  • Horizontal scaling: current_total_usage / forecasted_value
Example Queries & Dashboards:
# Find workloads over-provisioned by more than 20%
thoras_provisioning_ratio{scaling_mode="horizontal"} > 1.2

# Find workloads under-provisioned by more than 10%
thoras_provisioning_ratio{scaling_mode="vertical"} < 0.9

# View provisioning ratio for a specific AIScaleTarget
thoras_provisioning_ratio{ai_scale_target="my-app"}

# Provisioning ratio over time (Grafana time series)
thoras_provisioning_ratio{ai_scale_target="my-app"}

# Count of AIScaleTargets by provisioning state
count by(namespace) (thoras_provisioning_ratio > 1.2)  # Over-provisioned
count by(namespace) (thoras_provisioning_ratio < 0.9)  # Under-provisioned
count by(namespace) (
  thoras_provisioning_ratio >= 0.9 and thoras_provisioning_ratio <= 1.2
)  # Healthy

Provisioning Delta

Metric: thoras_provisioning_delta The provisioning delta shows the absolute difference between your current allocation and Thoras recommendations. Units:
  • Memory: bytes
  • CPU: cores
Calculation:
  • abs(current_value - recommended_value)
Example Queries & Dashboards:
# Find memory deltas exceeding 1GB
thoras_provisioning_delta{resource="memory", unit="bytes"} > 1073741824

# View CPU delta for a specific workload
thoras_provisioning_delta{ai_scale_target="my-app", resource="cpu"}

# Memory waste from over-provisioning (in GB) - combines ratio + delta
(thoras_provisioning_delta{resource="memory", unit="bytes"}
  * on(ai_scale_target, namespace)
  (thoras_provisioning_ratio > 1)) / 1073741824
I