Three metrics in #476's per-object-state group cannot come from a workload cluster, and #510 takes the rest.
modelplane_cluster_connected is unreachable by construction: a collector running on a cluster you have lost cannot report that you have lost it. modelplane_replicas_desired is the user's intent, which exists only on the ModelDeployment. And the cost chain, modelplane_replica_allocated_time_seconds into modelplane_gpu_seconds_total, wants a vantage that survives the cluster going away, because that is when the billing question gets asked.
design/telemetry.md answers this with resource-state-metrics plus a control-plane collector. That is a sound answer to the measurement question and an expensive one to the operational question: it would be the first workload Modelplane installs on a control plane, and it brings a new XR or an install-guide component, with its own readiness, RBAC and upgrade story. TelemetryDestination is already cluster-scoped on the control plane and its function composes nothing, so it is the natural place to hang this if we do build it.
Two things to settle before anything is built.
A smaller first step exists. Shipping the ResourceMetricsMonitor definitions, and documenting that an operator scrapes them with the Prometheus they already run, gives the series without Modelplane owning an export path on the control plane.
And these three metrics are the fleet view rather than the cluster view, which is where the open source telemetry design and the Upbound Inference one divide. Worth agreeing which side of that line they fall on before either side builds them.
Three metrics in #476's per-object-state group cannot come from a workload cluster, and #510 takes the rest.
modelplane_cluster_connectedis unreachable by construction: a collector running on a cluster you have lost cannot report that you have lost it.modelplane_replicas_desiredis the user's intent, which exists only on theModelDeployment. And the cost chain,modelplane_replica_allocated_time_secondsintomodelplane_gpu_seconds_total, wants a vantage that survives the cluster going away, because that is when the billing question gets asked.design/telemetry.mdanswers this withresource-state-metricsplus a control-plane collector. That is a sound answer to the measurement question and an expensive one to the operational question: it would be the first workload Modelplane installs on a control plane, and it brings a new XR or an install-guide component, with its own readiness, RBAC and upgrade story.TelemetryDestinationis already cluster-scoped on the control plane and its function composes nothing, so it is the natural place to hang this if we do build it.Two things to settle before anything is built.
A smaller first step exists. Shipping the
ResourceMetricsMonitordefinitions, and documenting that an operator scrapes them with the Prometheus they already run, gives the series without Modelplane owning an export path on the control plane.And these three metrics are the fleet view rather than the cluster view, which is where the open source telemetry design and the Upbound Inference one divide. Worth agreeing which side of that line they fall on before either side builds them.