Principle:SeldonIO Seldon core Usage Metrics Collection
| Knowledge Sources | |
|---|---|
| Domains | Observability, Usage_Telemetry |
| Last Updated | 2026-02-13 14:00 GMT |
Overview
A metrics aggregation mechanism that gathers anonymous usage telemetry from a Seldon Core 2 deployment by querying the scheduler and Kubernetes APIs concurrently.
Description
Usage Metrics Collection is the process of periodically querying the Seldon Core 2 scheduler gRPC API and the Kubernetes API server to gather deployment-level telemetry. The collector operates at three levels of granularity (cluster, resource, feature), enabling tiered data collection that respects privacy constraints. At the cluster level, only Kubernetes version and Seldon Core version are collected. At the resource level, counts of models, pipelines, experiments, and servers are added. At the feature level, server configuration details such as multi-model serving, overcommit, and memory allocation are included.
The collection is performed concurrently using goroutines for each metric category (Kubernetes, scheduler, experiments, pipelines, servers, models), allowing the collector to gather all data in parallel within a single collection cycle.
Usage
Use this principle when designing or operating a telemetry system for ML serving platforms where anonymous usage data needs to be collected from heterogeneous sources (Kubernetes cluster, gRPC scheduler) with configurable granularity levels.
Theoretical Basis
The collection follows a fan-out/fan-in concurrency pattern:
Pseudo-code Logic:
# Abstract algorithm description
channels = [collect_k8s(), collect_scheduler(), collect_experiments(),
collect_pipelines(), collect_servers(), collect_models()]
results = await_all(channels)
metrics = merge(results, level=configured_level)
The tiered metrics levels form a hierarchy:
Where each higher level includes all data from lower levels plus additional detail.