Skip to main content
Testkube 2.9.0 is out! Open-Source Execution Viewer, AI and TestTrigger improvements, CLI Marketplace support, and much more. Read More

Control Plane Metrics

This page consolidates Testkube Control Plane Prometheus metrics, including scheduler metrics.

In v2.7+, Control Plane metrics are enabled by default with:

  • TK_CLOUD_METRICS_ENABLED=true

For context on the source-of-truth migration in v2.7, see Testkube Resource Management.

Availability and Enablement

Control Plane metrics are available in Testkube Cloud and Enterprise connected deployments and are exposed on the control plane /metrics endpoint.

  • Path: /metrics on the Control Plane API service.
  • TK_CLOUD_METRICS_ENABLED controls control-plane metrics emission (default true in v2.7+).
  • TK_SCHEDULER_METRICS_ENABLED controls scheduler metrics emission (default true).

Label Model (Control Plane)

  • environment_name.
  • runner_id (stable), runner_name (readable).
  • No dynamic maps/arrays: dropped labels, tags, testworkflow_uri, trigger causes.
  • triggered_by is normalized to manual, schedule, or trigger.
  • CRUD counters drop resource names to keep cardinality bounded.

Available Metrics

MetricTypeDescriptionLabels
Scheduler
testkube_scheduler_environment_queue_limitgaugeConfigured queue limit for the environmentenvironment_name
testkube_scheduler_queued_executionsgaugeNumber of queued executions awaiting assignmentenvironment_name
testkube_scheduler_active_executionsgaugeNumber of currently active executionsenvironment_name
testkube_scheduler_queue_oldest_age_secondsgaugeAge in seconds of the oldest queued execution (0 when none)environment_name
testkube_scheduler_runner_active_executionsgaugeActive executions attributed to each runnerenvironment_name, runner_id, runner_name
Workflow Executions
testkube_testworkflow_executions_totalcounterTotal number of test workflow executionsenvironment_name, workflow_name, workflow_result, triggered_by, runner_id, runner_name
testkube_testworkflow_executions_duration_secondshistogramDuration of test workflow executionsenvironment_name, workflow_name, workflow_result, triggered_by, runner_id, runner_name
testkube_testworkflow_aborts_totalcounterTotal number of test workflow abortsenvironment_name, workflow_name, workflow_result, triggered_by, runner_id, runner_name
Workflow Execution Steps
testkube_testworkflow_execution_steps_totalcounterTotal number of test workflow execution stepsexecution labels + step_name, step_status
testkube_testworkflow_execution_steps_duration_secondshistogramDuration of test workflow execution stepsexecution labels + step_name, step_status
testkube_testworkflow_execution_steps_start_time_secondshistogramStart time of test workflow execution stepsexecution labels + step_name, step_status
testkube_testworkflow_execution_steps_finish_time_secondshistogramFinish time of test workflow execution stepsexecution labels + step_name, step_status
Workflow Lifecycle (CRUD)
testkube_testworkflow_creations_totalcounterTotal number of test workflows createdenvironment_name, result
testkube_testworkflow_updates_totalcounterTotal number of test workflows updatedenvironment_name, result
testkube_testworkflow_deletes_totalcounterTotal number of test workflows deletedenvironment_name, result
Workflow Templates
testkube_testworkflowtemplate_creations_totalcounterTotal number of test workflow templates createdenvironment_name, workflow_template, result
testkube_testworkflowtemplate_updates_totalcounterTotal number of test workflow templates updatedenvironment_name, workflow_template, result
testkube_testworkflowtemplate_deletes_totalcounterTotal number of test workflow templates deletedenvironment_name, workflow_template, result
Triggers
testkube_testtrigger_creations_totalcounterTotal number of test trigger created eventsenvironment_name, result
testkube_testtrigger_updates_totalcounterTotal number of test trigger updated eventsenvironment_name, result
testkube_testtrigger_deletes_totalcounterTotal number of test trigger deleted eventsenvironment_name, result
testkube_testtrigger_bulk_updates_totalcounterTotal number of test trigger bulk update eventsenvironment_name, result
testkube_testtrigger_bulk_deletes_totalcounterTotal number of test trigger bulk delete eventsenvironment_name, result
Webhooks
testkube_webhook_executions_totalcounterTotal number of webhook executionsenvironment_name, webhook_name, event_type, result

Examples

# scheduler queue depth
testkube_scheduler_queued_executions{environment_name="prod-env"} 4

# workflow execution (control plane)
testkube_testworkflow_executions_total{
environment_name="prod-env",
workflow_name="metrics-demo",
workflow_result="passed",
triggered_by="manual",
runner_id="tkc_run_123",
runner_name="runner-a"
} 1

# workflow step duration (seconds, histogram)
testkube_testworkflow_execution_steps_duration_seconds_bucket{
environment_name="prod-env",
workflow_name="metrics-demo",
workflow_result="passed",
triggered_by="manual",
runner_id="tkc_run_123",
runner_name="runner-a",
step_name="build",
step_status="passed",
le="1"
} 0

# webhook execution
testkube_webhook_executions_total{
environment_name="prod-env",
webhook_name="notify",
event_type="END_TESTWORKFLOW_SUCCESS",
result="success"
} 3

Agent to Control-Plane Mapping

Every Agent metric has a corresponding Control Plane metric. The mapping follows a small set of consistent conventions described below.

Naming Conventions

  • Counter suffix: Agent metrics ending in _count become _total on the Control Plane (e.g. testkube_testworkflow_executions_counttestkube_testworkflow_executions_total).
  • Trigger name normalization: Agent trigger metrics using the plural testtriggers become singular testtrigger on the Control Plane (e.g. testkube_testtriggers_updates_counttestkube_testtrigger_updates_total).
  • Duration units: Agent timing metrics in milliseconds (_ms) become histograms in seconds (_seconds) on the Control Plane for cross-replica aggregation (e.g. testkube_testworkflow_executions_duration_mstestkube_testworkflow_executions_duration_seconds).

Label Changes

All Control Plane metrics gain environment_name for environment-level scoping. Beyond that:

  • Workflow execution and step metrics gain runner_id and runner_name for runner-level scoping, and rename agent labels for clarity: nameworkflow_name, resultworkflow_result, statusstep_status.
  • triggered_by is normalized to one of manual, schedule, or trigger.
  • High-cardinality labels are dropped: labels, tags, testworkflow_uri, and trigger causes are not carried to the Control Plane.
  • CRUD counters use only environment_name and result (workflow names are omitted to keep cardinality bounded). Template metrics additionally include workflow_template.
  • Webhook metrics rename namewebhook_name and eventTypeevent_type.

Metrics Not Mapped

Agent-only legacy test and test-suite metric families (testkube_test_*, testkube_testsuite_*) do not have Control Plane equivalents.

Full Mapping Reference

Agent MetricControl-Plane Metric
testkube_testworkflow_executions_counttestkube_testworkflow_executions_total
testkube_testworkflow_executions_duration_mstestkube_testworkflow_executions_duration_seconds
testkube_testworkflow_aborts_counttestkube_testworkflow_aborts_total
testkube_testworkflow_execution_steps_counttestkube_testworkflow_execution_steps_total
testkube_testworkflow_execution_steps_duration_mstestkube_testworkflow_execution_steps_duration_seconds
testkube_testworkflow_execution_steps_start_time_mstestkube_testworkflow_execution_steps_start_time_seconds
testkube_testworkflow_execution_steps_finish_time_mstestkube_testworkflow_execution_steps_finish_time_seconds
testkube_testworkflow_creations_counttestkube_testworkflow_creations_total
testkube_testworkflow_updates_counttestkube_testworkflow_updates_total
testkube_testworkflow_deletes_counttestkube_testworkflow_deletes_total
testkube_testworkflowtemplate_creations_counttestkube_testworkflowtemplate_creations_total
testkube_testworkflowtemplate_updates_counttestkube_testworkflowtemplate_updates_total
testkube_testworkflowtemplate_deletes_counttestkube_testworkflowtemplate_deletes_total
testkube_testtrigger_creations_counttestkube_testtrigger_creations_total
testkube_testtriggers_updates_counttestkube_testtrigger_updates_total
testkube_testtriggers_deletes_counttestkube_testtrigger_deletes_total
testkube_testtriggers_bulk_updates_counttestkube_testtrigger_bulk_updates_total
testkube_testtriggers_bulk_deletes_counttestkube_testtrigger_bulk_deletes_total
testkube_webhook_executions_counttestkube_webhook_executions_total