Limitations :: Kloudfuse Docs

Limitations

Overview

Kloudfuse enforces hard limits on query result size to protect cluster stability. Some query patterns — particularly over_time functions applied to large metric sets, and binary join operations — carry additional performance costs that are worth understanding before writing production queries or alerts.

Series and data point limits

Kloudfuse caps both the number of time series and the number of individual data points returned by a single query.

To stay within limits:

Over_time function performance

Over_time functions (avg_over_time, max_over_time, etc.) evaluate a range window for every series in the result. Cost scales linearly with:

Subquery cost

When an over_time function is given a subquery expression (func(<expr>[<range>:<step>])) rather than a raw metric selector, the inner expression is evaluated from scratch at every step within the subquery window before the outer function aggregates the results. This can multiply evaluation work significantly:

# This evaluates rate() at every 1m step inside a 1h window — 60 inner evaluations per series
max_over_time(rate(http_requests_total[5m])[1h:1m])

Guidance for subqueries:

Join (binary operator) performance

Binary operators that match series from two sides of an expression (on(…​) or ignoring(…​)) perform an in-memory join. Performance degrades when either side has high cardinality:

Guidance for joins:

Algorithmic function limits

The Kloudfuse advanced functions (SARIMA, Prophet, DBSCAN, etc.) fit a model per input series and run in a separate advanced-functions service. Because model fitting is compute-intensive, these functions are more sensitive to series count than standard PromQL operators.