You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[!NOTE] Release version
This glossary is a point-in-time snapshot reflecting metrics available in helm-charts release 2026.4.9+ with v2 dashboard overhaul (PR #373). Metrics may change between releases. V1-only metrics are marked as such.
This page documents all metrics surfaced in the shipped Grafana dashboards and PrometheusRule definitions. It is organized by plane (controlplane / dataplane), then by dashboard section, followed by recording rules and alert rules.
Naming conventions
Union services use colon-separated metric names (e.g., flyte:admin:execution_manager:active_executions). The first segment identifies the service, subsequent segments identify the subsystem.
Infrastructure metrics from kube-state-metrics and cAdvisor use the standard underscore convention (e.g., kube_deployment_status_replicas_available).
Recording rules are prefixed with union:cp: (controlplane) or union:dp: (dataplane).
Current number of active client connections to ingress-nginx.
Connect / gRPC
Metric
Type
Description
connect:server_requests_handled_total
Counter
Connect protocol request throughput, labeled by service (e.g., ExecutionService, ClusterService), method, and code. The primary v2 request counter.
connect:server_request_duration_seconds_bucket
Histogram
Connect server request duration, labeled by service, method, type, code. Custom buckets: 0.05s–60s. Use histogram_quantile() for per-method latency (e.g., method="CreateRun").
grpc_server_handled_total
Counter
gRPC server request count, labeled by grpc_service, grpc_method, grpc_code. Used by CacheService (the only CP service using gRPC instead of Connect).
FlyteAdmin
Metric
Type
Description
flyte:admin:execution_manager:active_executions
Gauge
Current count of active workflow executions tracked by FlyteAdmin.
Dispatcher multi-step operation chain execution time, by operation type.
queue:state:get_duration_bucket
Histogram
State store get operation latency.
queue:state:put_duration_bucket
Histogram
State store put operation latency.
queue:state:active_states
Gauge
Number of active action states in the state store.
queue:state:terminal_states
Gauge
Number of terminal action states.
queue:eventer:record_action_errors
Counter
Eventer errors reporting action status to the executions service.
queue:scheduler:worker_capacity
Gauge
Remaining execution capacity per connected DP worker. Zero means worker is saturated.
queue:dispatcher:operation_failures
Counter
Failed dispatcher operations, by Go type. Indicates internal queue service errors.
queue:db:free_threads
Gauge
Idle worker goroutines in the DB pool. Zero means all threads busy.
queue:queue_client:free_threads
Gauge
Idle worker goroutines in the queue-client pool.
queue:state_client:free_threads
Gauge
Idle worker goroutines in the state-client pool.
Leasor (V2 lease scheduler)
The leasor is the V2 lease-based scheduler: it receives actions, assigns them to dataplane leaseworkers, and drives the full lease lifecycle. These metrics only appear on deployments running the V2 actions/leasor execution path. Counter metrics only emit series once there is activity, so an idle deployment reports fewer series than a busy one.
Metric
Type
Description
leasor:leases_by_state
Gauge
Lease count by state (unassigned, sent, pending_completion, pending_finalize, pending_retry, pending_abort_cascade) and type (run_action, finalize). The primary health signal: growing unassigned = scheduling is bottlenecked; growing sent = workers are stuck.
leasor:workers_connected
Gauge
Leaseworkers with an active lease stream. A sudden drop means workers disconnected.
leasor:active_runs
Gauge
Active runs in memory, by org.
leasor:active_actions
Gauge
Active actions in memory, by org.
leasor:queue_depth
Gauge
RunAction queue depth, by org and queue.
leasor:queue_active_runs
Gauge
Root runs holding queue run-concurrency capacity, by org/queue.
leasor:queue_max_run_concurrency
Gauge
Configured per-queue run-concurrency limit. Zero means unlimited.
leasor:schedule_skip_total
Counter
Leases the scheduler saw but could not place, by reason (e.g. no_workers, queue_at_run_concurrency, queue_no_cluster_workers, orphaned_lease).
leasor:dispatch_total
Counter
Lease dispatch attempts, by result (ok, worker_gone, persist_failed, ...). ok dropping to zero while leases wait indicates a dispatch outage.
leasor:enqueue_total
Counter
EnqueueAction results, by result (ok, backpressure, error) and org.
leasor:enqueue_reject_total
Counter
Enqueues rejected before the store on a routing precondition, by reason (unknown_queue, queue_not_active, cross_cluster_pool, ...).
leasor:queue_enqueue_reject_total
Counter
Queue-attributed enqueue rejects, by org, queue, reason.
leasor:terminal_total
Counter
Actions reaching a terminal state, by phase (succeeded, failed, aborted, timed_out).
leasor:expirations_total
Counter
Leases expired because the worker stopped heartbeating, by type.
leasor:enqueue_to_dispatch_seconds_bucket
Histogram
Time from enqueue (action enters unassigned) to dispatch delivery — the core "waiting for work" latency.
leasor:queue_wait_seconds_bucket
Histogram
Time a lease waited in unassigned before dispatch.
leasor:leaseworker_active
Gauge
Reported active worker slots, by org, worker_cluster, worker.
leasor:leaseworker_available
Gauge
Available scheduling slots on connected leaseworkers.
leasor:leaseworker_capacity
Gauge
Reported leaseworker capacity.
Actions (V2 action store)
The actions service is the sharded V2 front door for CreateRun: it stores actions and streams them to the leasor.
Metric
Type
Description
actions:actions_in_memory
Gauge
Actions currently held in the action store.
actions:active_watchers
Gauge
Active action watchers (streaming consumers).
actions:archive_queue_depth
Gauge
Depth of the archive/drain queue. Growing values indicate archival backpressure.
Cluster service
Metric
Type
Description
cluster:svc:update_status:updates_total
Counter
DP cluster status updates received.
cluster:svc:heartbeat:success_ms_count
Counter
Successful heartbeats received from DP clusters.
cluster:svc:update_status:success_ms
Summary
UpdateStatus RPC latency in milliseconds.
cluster:svc:heartbeat:success_ms
Summary
Heartbeat RPC latency in milliseconds.
cluster:svc:update_status:operator_restarts
Gauge
DP-reported operator restart count. Set by DP on each UpdateStatus call.
cluster:svc:update_status:propeller_restarts
Gauge
DP-reported propeller restart count.
cluster:database:postgres:errors:gorm_error
Counter
GORM-level database errors in the cluster service.
cluster:database:postgres:errors:postgres_error
Counter
Native PostgreSQL errors in the cluster service.
cluster:database:postgres:errors:not_found
Counter
Database not-found errors in the cluster service.
cluster:cluster_sync:health:unhealthy
Gauge
Cluster health status: 1=unhealthy, 0=healthy. Emitted per cluster on every Prometheus scrape.
cluster:cluster_sync:health:last_update_age
Gauge
Seconds since a cluster last sent a heartbeat. High values indicate a stale or disconnected cluster.
cluster:managed_cluster_client_cache:get:hits
Counter
LRU cache hits for managed cluster lookups.
cluster:managed_cluster_client_cache:get:miss
Counter
LRU cache misses for managed cluster lookups. High miss rate indicates excessive DB queries.
Propeller's total K8s API requests. High rates may indicate excessive pod watches or creates.
k8s_client_request_latency_unlabeled_bucket
Histogram
K8s API request latency distribution.
k8s_client_rate_limiter_latency_unlabeled_bucket
Histogram
Client-side rate limiter wait time distribution. Non-zero indicates the K8s API client is being throttled.
gRPC client (DP to CP)
Metric
Type
Description
grpc_client_handled_total
Counter
DP-to-CP gRPC client request count, labeled by grpc_service, grpc_method, grpc_code.
grpc_client_handling_seconds_bucket
Histogram
DP-to-CP gRPC call latency distribution. High latency indicates slow control plane or network issues.
Infrastructure
Metric
Type
Description
container_cpu_usage_seconds_total
Counter
Cumulative CPU time consumed per DP container.
container_memory_working_set_bytes
Gauge
Working set memory per DP container. Watch for values approaching resource limits.
kube_resourcequota
Gauge
Per-project ResourceQuota usage from kube-state-metrics, by namespace, resource, and type (hard/used). Backs the ResourceQuota utilization panels and the UnionDPResourceQuotaNearSaturation alert. Filter on resourcequota="project-quota" to exclude cluster/system quotas.
Recording rules
Recording rules are pre-computed by Prometheus and used in dashboard panels and alert conditions. They are defined in the PrometheusRule CRDs shipped with the Helm charts.
Controlplane recording rules (always active)
These rules are always enabled when monitoring.prometheusRules.enabled: true (default). Evaluation interval: 30s.