From 53dc930475547dca0a51c2a07e2b4c2a8b9082fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 19:36:32 +0000 Subject: [PATCH 01/12] initial --- .github/workflows/test.yml | 26 + .gitignore | 7 +- .golangci.yml | 43 + .tool-versions | 2 + Makefile | 63 ++ README.md | 230 ++++++ dashboards/README.md | 17 + dashboards/crd_conditions_browser.tpl.json | 740 ++++++++++++++++++ docs/img.png | Bin 0 -> 81263 bytes go.mod | 25 + go.sum | 45 ++ pkg/crd-condition-metrics/metrics.go | 116 +++ .../metrics_benchmark_test.go | 176 +++++ pkg/crd-condition-metrics/metrics_test.go | 131 ++++ renovate.json | 7 + 15 files changed, 1626 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/test.yml create mode 100644 .golangci.yml create mode 100644 .tool-versions create mode 100644 Makefile create mode 100644 README.md create mode 100644 dashboards/README.md create mode 100644 dashboards/crd_conditions_browser.tpl.json create mode 100644 docs/img.png create mode 100644 go.mod create mode 100644 go.sum create mode 100644 pkg/crd-condition-metrics/metrics.go create mode 100644 pkg/crd-condition-metrics/metrics_benchmark_test.go create mode 100644 pkg/crd-condition-metrics/metrics_test.go create mode 100644 renovate.json diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..e491144 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,26 @@ +name: Go +on: + push: + branches: ["master"] + pull_request: + branches: ["master"] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + + - name: Setup Go + uses: actions/setup-go@v6 + with: + go-version: '1.25.x' + + - name: Install golangci-lint + run: | + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh \ + | sh -s -- -b $(go env GOPATH)/bin v2.5.0 + + - name: Test + run: make all diff --git a/.gitignore b/.gitignore index aaadf73..25f3d24 100644 --- a/.gitignore +++ b/.gitignore @@ -28,5 +28,8 @@ go.work.sum .env # Editor/IDE -# .idea/ -# .vscode/ +.idea/ +.vscode/ + +# Generated dashboards +generated \ No newline at end of file diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..184edbb --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,43 @@ +version: "2" + +run: + timeout: 5m + allow-parallel-runners: true + relative-path-mode: cfg + +linters: + default: none + enable: + - dupl + - errcheck + - copyloopvar + - ginkgolinter + - goconst + - gocyclo + - govet + - ineffassign + - misspell + - nakedret + - unconvert + - unparam + - unused + - staticcheck + disable: + - prealloc + - revive + + settings: + revive: + rules: + - name: comment-spacings + +formatters: + enable: + - gofmt + - goimports + # example settings for formatters; remove if unused + settings: + gofmt: + simplify: true + +issues: {} \ No newline at end of file diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..db88104 --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +golang 1.25.1 +golangci-lint 2.5.0 \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a6f639a --- /dev/null +++ b/Makefile @@ -0,0 +1,63 @@ +##@ General + +# The help target prints out all targets with their descriptions organized +# beneath their categories. The categories are represented by '##@' and the +# target descriptions by '##'. The awk command is responsible for reading the +# entire set of makefiles included in this invocation, looking for lines of the +# file as xyz: ## something, and then pretty-format the target and help. Then, +# if there's a line with ##@ something, that gets pretty-printed as a category. +# More info on the usage of ANSI control characters for terminal formatting: +# https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters +# More info on the awk command: +# http://linuxcommand.org/lc3_adv_awk.php + +.PHONY: help +help: ## Display this help. + @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) + +.PHONY: all +all: fmt vet lint test + +##@ Development +.PHONY: fmt +fmt: ## Run go fmt against code. + go fmt ./... + +.PHONY: vet +vet: ## Run go vet against code. + go vet ./... + +.PHONY: lint +lint: ## Run linter + golangci-lint run + +.PHONY: lint-fix +lint-fix: ## Run linter and fix issues + golangci-lint run --fix + +.PHONY: test +test: ## Run project tests + go test ./... + +.PHONY: benchmark +benchmark: ## Run project benchmarks + go test -bench=. -benchtime=10000x -benchmem ./... + +METRIC_NAMESPACE ?= unset + +##@ Generate +.PHONY: dashboards +dashboards: ## Generate dashboards from templates + @# Fail if METRIC_NAMESPACE is unset + @[ "$(METRIC_NAMESPACE)" != "unset" ] && [ -n "$(METRIC_NAMESPACE)" ] || { \ + echo "Error: METRIC_NAMESPACE is required."; \ + echo "Usage: make dashboards METRIC_NAMESPACE=my_operator"; \ + exit 1; \ + } + @echo "Generating dashboards for $(METRIC_NAMESPACE)…" + @mkdir -p generated/dashboards + @find dashboards -type f -name '*.tpl.json' | while IFS= read -r file; do \ + base_name=`basename "$$file" .tpl.json`; \ + new_file="generated/dashboards/$$base_name.json"; \ + sed "s/{{operator_namespace}}/$(METRIC_NAMESPACE)_/g" "$$file" > "$$new_file"; \ + done diff --git a/README.md b/README.md new file mode 100644 index 0000000..a55581c --- /dev/null +++ b/README.md @@ -0,0 +1,230 @@ +# CRD Condition Metrics + +A simple and easy to integrate metric recording utility for kubernetes operators, giving you metrics +which are representative and kept in line with your [CRD status Conditions](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties). + +This package is built on the [Prometheus GaugeVecSet implementation for go](https://github.com/sourcehawk/go-prometheus-gaugevecset). + +Features: +- Provides consistency between your custom resource statuses and your metrics: + > The metrics are based on your status conditions and synced when you update the conditions +- Easy integration: + > Get metrics anywhere with little initial setup and a simple method calls +- Light weight and performant + > Small memory footprint at large scale, fast ops +- Keeps cardinality under control + > Only 1 metric series per (custom resource, condition type) combination, even with 10 unique labels! +- A dashboard is available to get you started! + ![img.png](docs/img.png) + +--- + +## Motivation + +Creating metrics for custom resources is an important topic for any operator or controller. +However, how to standardize these metrics and ensure they consistently represent the state of our custom resources is not +something I've seen. + +As `status.condtions` have become today's de facto standard to representing state of custom resources, it only makes +sense to utilize these conditions for metric recording. + +The `ConditionMetricsRecorder` is an implementation wrapper of `GaugeVecSet` for kubernetes operators. + +The metric is somewhat inspired by kube-state-metrics patterns for metrics such as `kube_pod_status_phase`. +Kube state metrics exports one time series per phase for each (namespace, pod), and marks exactly one as active (1) +while the others are inactive (0). + +Example: + +``` +kube_pod_status_phase{namespace="default", pod="nginx", phase="Running"} 1 +kube_pod_status_phase{namespace="default", pod="nginx", phase="Pending"} 0 +kube_pod_status_phase{namespace="default", pod="nginx", phase="Failed"} 0 +``` + +We adopt the same pattern for controller conditions, but we export only one time series per (custom resource, condition) +variant, meaning we delete all other variants in the group when we set the metric (e.g. we'd remove the "Pending" and +"Failed" metric in `kube_pod_status_phase`). This ensures the cardinality stays under control, as we at most have +`CR count * CR ConditionType` amount of series per CRD. + +Additionally, rather than using the value 1/0 indicating the activeness of the metric, which in our case is pointless +(we only expose the active metric), we set the last transition time of the condition as the value (unix timestamp), +allowing us to determine at what point in time the custom resource went into the current state. + +Example metric: + +``` +my_operator_controller_condition{ + controller="my_controller", + kind="MyCR", + name="my-cr", + namespace="default", + condition="Ready", + status="False", + reason="FailedToProvision" +} 17591743210 +``` + +### Operator Initialization + +The metric should be initialized and registered once. + +You can embed the `ConditionMetricRecorder` in your controller's recorder. + +```go +package my_metrics + +import ( + controllermetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + ocg "github.com/sourcehawk/go-crd-condition-metrics/pkg/operator-condition-metrics" +) + +// We need this variable later to create the ConditionMetricsRecorder +var OperatorConditionsGauge *ocg.OperatorConditionsGauge + +// Initialize the operator condition gauge once +func init() { + OperatorConditionsGauge = ocg.NewOperatorConditionsGauge("my_operator") + controllermetrics.Registry.MustRegister(OperatorConditionsGauge) +} + +// Embed in existing metrics recorder +type MyControllerRecorder struct { + ocg.ConditionMetricRecorder +} +``` + +When constructing your reconciler, initialize the condition metrics recorder with the +operator conditions gauge and a unique name for each controller. + +_cmd/main.go_ +```go +package main + +import ( + mymetrics "path/to/pkg/my_metrics" + ocg "github.com/sourcehawk/go-crd-condition-metrics/pkg/crd-condition-metrics" +) + +func main() { + // ... + recorder := mymetrics.MyControllerRecorder{ + ConditionMetricRecorder: ocg.ConditionMetricRecorder{ + Controller: "my-controller", // unique name per reconciler + OperatorConditionsGauge: mymetrics.OperatorConditionsGauge, + }, + } + + reconciler := &MyReconciler{ + Recorder: recorder, + } + // ... +} +``` + +## Controller Usage + +The easiest drop-in way to start using the metrics recorder is by creating a `SetStatusCondition` wrapper, which +comes instead of `meta.SetStatusCondition`. We call `RecordConditionFor` to record our metrics. + +To delete the metrics for a given custom resource, simply call `RemoveConditionsFor` and pass the object. + +```go +const ( + kind = "MyCR" +) + +// SetStatusCondition utility function which replaces and wraps meta.SetStatusCondition calls +func (r *MyReconciler) SetStatusCondition(cr *v1.MyCR, cond metav1.Condition) bool { + changed := meta.SetStatusCondition(&cr.Status.Conditions, cond) + // refetch the condition to get the updated version + updated := meta.FindStatusCondition(cr.Status.Conditions, cond.Type) + if updated != nil { + r.Recorder.RecordConditionFor( + kind, cr, updated.Type, string(updated.Status), updated.Reason, updated.LastTransitionTime, + ) + } + return changed +} + +func (r *MyReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { + // Get the resource we're reconciling + cr := new(v1.MyCR) + if err = r.Get(ctx, req.NamespacedName, cr); err != nil { + return ctrl.Result{}, client.IgnoreNotFound(err) + } + + // Remove the metrics when the CR is deleted + if cr.DeletionTimeStamp != nil { + r.Recorder.RemoveConditionsFor(kind, cr) + } + + // ... + + // Update the status conditions using the recorder (it records the metric if changed) + if r.SetStatusCondition(cr, condition) { + if err = r.Status().Update(ctx, cr); err != nil { + return ctrl.Result{}, err + } + } + + return ctrl.Result{}, nil +} +``` + +## PromQL usage examples + +Here are some examples of how we can query the metrics. + +The examples assume the `OperatorConditionsGauge` was +initialized with the namespace `my_operator` which results in the metric name being `my_operator_controller_condition`. + +In code: +```go +OperatorConditionsGauge = ocg.NewOperatorConditionsGauge("my_operator") +``` + +> [!INFO] Most of the time, the `namespace` label is reserved by the pod scraping the metrics. +> The `namespace` label we set is therefore in most cases labeled as `exported_namespace`. +> **The examples do not assume this to be the case.** + +--- + +Get all CR's of kind `App` that have the condition `Ready` set to `False`. + +```promql +my_operator_controller_condition{ + kind="App", + condition="Ready", + status="False", +} +``` + +Output: + +``` +my_operator_controller_condition{condition="Ready", controller="myctrlr", namespace="ns-1", id="ns-1/my-app-1", kind="App", name="my-app-1", reason="Foo", status="False"} 1759416292 +my_operator_controller_condition{condition="Ready", controller="myctrlr", namespace="ns-1", id="ns-1/my-app-2", kind="App", name="my-app-2", reason="Bar", status="False"} 1759329097 +my_operator_controller_condition{condition="Ready", controller="myctrlr", namespace="ns-2", id="ns-2/my-app", kind="App", name="my-app", reason="Foo", status="False"} 1759329145 +my_operator_controller_condition{condition="Ready", controller="myctrlr", namespace="ns-3", id="ns-3/my-app", kind="App", name="my-app", reason="Foo", status="False"} 1759406280 +``` + +--- + +Count the number of CR's of kind `App` that have `Ready` condition status `False` + +``` +count( + my_operator_controller_condition{ + kind="App", + condition="Ready", + status="False", + } > 0 +) +``` + +Output: + +``` +4 +``` \ No newline at end of file diff --git a/dashboards/README.md b/dashboards/README.md new file mode 100644 index 0000000..1866a4c --- /dev/null +++ b/dashboards/README.md @@ -0,0 +1,17 @@ +# Grafana dashboards + +The grafana dashboards are templated. To get a dashboard that fits your metric name, run the following command, using +the name of your metric namespace as input. + +```bash +make dashboards METRIC_NAMESPACE=your_operator +``` + +The generated files are placed in `generated/dashboards`. + +The name of your metric namespace is decided by the initialization of `OperatorConditionsGauge`. For instance, here +the namespace is `my_operator`: + +```go +OperatorConditionsGauge = ocg.NewOperatorConditionsGauge("my_operator") +``` diff --git a/dashboards/crd_conditions_browser.tpl.json b/dashboards/crd_conditions_browser.tpl.json new file mode 100644 index 0000000..d0f1cfe --- /dev/null +++ b/dashboards/crd_conditions_browser.tpl.json @@ -0,0 +1,740 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "Dashboard to monitor operator custom resource conditions", + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 177601, + "links": [], + "liveNow": true, + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 10, + "panels": [], + "title": "Operator Conditions", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Conditions matching the given filter criteria ", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "semi-dark-blue", + "mode": "fixed" + }, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": 0 + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 0, + "y": 1 + }, + "id": 6, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "same_as_value", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value", + "wideLayout": true + }, + "pluginVersion": "12.1.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "count(\n {{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\", status=~\"$status\", reason=~\"$reason\"} > 0\n)", + "legendFormat": "Total", + "range": true, + "refId": "A" + } + ], + "title": "Total Conditions Matching", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Table of $kind conditions of type $condition", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "transparent", + "mode": "fixed" + }, + "custom": { + "align": "auto", + "cellOptions": { + "applyToRow": false, + "mode": "basic", + "type": "color-background", + "wrapText": true + }, + "filterable": true, + "inspect": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "text", + "value": 0 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Namespace" + }, + "properties": [ + { + "id": "custom.width", + "value": 397 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Since" + }, + "properties": [ + { + "id": "unit", + "value": "dateTimeFromNow" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Status" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "False": { + "color": "red", + "index": 1, + "text": "False" + }, + "True": { + "color": "semi-dark-green", + "index": 0, + "text": "True" + }, + "Unknown": { + "color": "semi-dark-yellow", + "index": 2, + "text": "Unknown" + } + }, + "type": "value" + } + ] + } + ] + } + ] + }, + "gridPos": { + "h": 13, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 5, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "12.1.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum(\n {{operator_namespace}}controller_condition{\n kind=\"$kind\",\n condition=~\"$condition\",\n status=~\"$status\",\n reason=~\"$reason\",\n exported_namespace=~\"$namespace\"\n }\n) by (name, exported_namespace, condition, status, reason)", + "format": "table", + "instant": true, + "legendFormat": "__auto", + "range": false, + "refId": "A" + } + ], + "title": "$kind Conditions", + "transformations": [ + { + "id": "calculateField", + "options": { + "alias": "value_ms", + "binary": { + "left": { + "matcher": { + "id": "byName", + "options": "Value" + } + }, + "operator": "*", + "right": { + "fixed": "1000" + } + }, + "mode": "binary", + "reduce": { + "reducer": "sum" + } + } + }, + { + "id": "convertFieldType", + "options": { + "conversions": [ + { + "destinationType": "time", + "targetField": "value_ms" + } + ], + "fields": {} + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "Value": true + }, + "includeByName": {}, + "indexByName": { + "Time": 0, + "Value": 7, + "condition": 3, + "exported_namespace": 2, + "name": 1, + "reason": 5, + "status": 4, + "value_ms": 6 + }, + "renameByName": { + "Value": "", + "condition": "Condition", + "exported_namespace": "Namespace", + "name": "Name", + "reason": "Reason", + "status": "Status", + "value_ms": "Since" + } + } + } + ], + "type": "table" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 18 + }, + "id": 9, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Number of $kind $condition Conditions in a False state", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "semi-dark-red", + "mode": "thresholds" + }, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": 0 + }, + { + "color": "semi-dark-red", + "value": 1 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 19 + }, + "id": 7, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "percentChangeColorMode": "same_as_value", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value", + "wideLayout": true + }, + "pluginVersion": "12.1.1", + "repeat": "condition", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "count(\n {{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\", status=\"False\", reason=~\"$reason\"} > 0\n)", + "legendFormat": "Total", + "range": true, + "refId": "A" + } + ], + "title": "$condition=False", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "thanos-global-view" + }, + "description": "Number of $kind $condition Conditions in a Unknown state", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "semi-dark-red", + "mode": "thresholds" + }, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": 0 + }, + { + "color": "semi-dark-yellow", + "value": 1 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 24 + }, + "id": 11, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "percentChangeColorMode": "same_as_value", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value", + "wideLayout": true + }, + "pluginVersion": "12.1.1", + "repeat": "condition", + "repeatDirection": "h", + "targets": [ + { + "editorMode": "code", + "expr": "count(\n {{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\", status=\"Unknown\", reason=~\"$reason\"} > 0\n)", + "legendFormat": "Total", + "range": true, + "refId": "A" + } + ], + "title": "$condition=Unknown", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Number of $kind $condition Conditions in a True state", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "semi-dark-red", + "mode": "thresholds" + }, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": 0 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 29 + }, + "id": 8, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "percentChangeColorMode": "same_as_value", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value", + "wideLayout": true + }, + "pluginVersion": "12.1.1", + "repeat": "condition", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "count(\n {{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\", status=\"True\", reason=~\"$reason\"} > 0\n)", + "legendFormat": "Total", + "range": true, + "refId": "A" + } + ], + "title": "$condition=True", + "type": "stat" + } + ], + "title": "Status Counts Per Condition", + "type": "row" + } + ], + "preload": false, + "refresh": "1m", + "schemaVersion": 41, + "tags": [ + "kubernetes", + "kubernetes-operator" + ], + "templating": { + "list": [ + { + "current": { + "text": "", + "value": "" + }, + "description": "The data source to get the metrics from", + "label": "Datasource", + "name": "datasource", + "options": [], + "query": "prometheus", + "refresh": 1, + "regex": "", + "type": "datasource" + }, + { + "current": { + "text": "", + "value": "" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values({{operator_namespace}}controller_condition,kind)", + "description": "The resource kind to view", + "label": "Kind", + "name": "kind", + "options": [], + "query": { + "qryType": 1, + "query": "label_values({{operator_namespace}}controller_condition,kind)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 2, + "regex": "", + "type": "query" + }, + { + "current": { + "text": "All", + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values({{operator_namespace}}controller_condition{kind=\"$kind\"},condition)", + "description": "The condition type to display", + "includeAll": true, + "label": "Condition", + "multi": true, + "name": "condition", + "options": [], + "query": { + "qryType": 1, + "query": "label_values({{operator_namespace}}controller_condition{kind=\"$kind\"},condition)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 2, + "regex": "", + "type": "query" + }, + { + "allowCustomValue": true, + "current": { + "text": "All", + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values({{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\"},status)", + "description": "Filter for a specific status", + "includeAll": true, + "label": "Status", + "multi": true, + "name": "status", + "options": [], + "query": { + "qryType": 1, + "query": "label_values({{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\"},status)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "type": "query" + }, + { + "current": { + "text": "All", + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values({{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\", status=~\"$status\"},reason)", + "description": "Filter for condition reason", + "includeAll": true, + "label": "Reason", + "multi": true, + "name": "reason", + "options": [], + "query": { + "qryType": 1, + "query": "label_values({{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\", status=~\"$status\"},reason)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "type": "query" + }, + { + "current": { + "text": "All", + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "query_result(sum ({{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\"} > 0) by (exported_namespace))", + "description": "The namespaces in which to list the resources", + "includeAll": true, + "label": "Namespace", + "multi": true, + "name": "namespace", + "options": [], + "query": { + "qryType": 3, + "query": "query_result(sum ({{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\"} > 0) by (exported_namespace))", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 2, + "regex": "^.*exported_namespace=\"([^\"]+)\".*$", + "sort": 1, + "type": "query" + }, + { + "allowCustomValue": false, + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values({{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\", status=~\"$status\"},id)", + "description": "Namespace and resource name combination", + "hide": 2, + "includeAll": true, + "multi": true, + "name": "resource_id", + "options": [], + "query": { + "qryType": 1, + "query": "label_values({{operator_namespace}}controller_condition{kind=\"$kind\", condition=~\"$condition\", status=~\"$status\"},id)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "type": "query" + }, + { + "baseFilters": [], + "datasource": { + "type": "prometheus", + "uid": "" + }, + "filters": [], + "name": "Filters", + "type": "adhoc" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": { + "hidden": true + }, + "timezone": "browser", + "title": "CRD Conditions Browser", + "uid": "crd_conditions_browser", + "version": 1 +} \ No newline at end of file diff --git a/docs/img.png b/docs/img.png new file mode 100644 index 0000000000000000000000000000000000000000..c9da1d02bf63d09290dd4802039a79b9fc84a24e GIT binary patch literal 81263 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

;LA+s(B*!_Vj>E1$SFJFUjgm` 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 False with reason + rec.RecordConditionFor(kind, obj, "Ready", "False", "Failed", transitionTime) + + // Another condition Synchronized=True (independent group) + rec.RecordConditionFor(kind, obj, "Synchronized", "True", "", transitionTime) + + // Expect: Ready False(reason)=1, Synchronized True=1 + want := ` +# HELP test_record_transition_and_second_condition_controller_condition Condition status for a custom resource; one time series per (custom resource, condition type) combination. +# TYPE test_record_transition_and_second_condition_controller_condition gauge +test_record_transition_and_second_condition_controller_condition{condition="Ready",controller="my-controller",id="prod/cr-1",kind="MyCRD",name="cr-1",namespace="prod",reason="Failed",status="False"} 1735689600 +test_record_transition_and_second_condition_controller_condition{condition="Synchronized",controller="my-controller",id="prod/cr-1",kind="MyCRD",name="cr-1",namespace="prod",reason="",status="True"} 1735689600 +` + require.NoError(t, + testutil.GatherAndCompare( + reg, + strings.NewReader(want), + "test_record_transition_and_second_condition_controller_condition", + ), + ) + + removed := rec.RemoveConditionsFor(kind, obj) + assert.Equal(t, 2, removed) +} + +func TestConditionMetricRecorder_RemoveConditionsFor(t *testing.T) { + gauge := NewOperatorConditionsGauge("test_remove_conditions_for_condition") + reg := prometheus.NewRegistry() + _ = reg.Register(gauge) + // Arrange + rec := &ConditionMetricRecorder{ + Controller: "my-controller", + OperatorConditionsGauge: gauge, + } + kind := "MyCRD" + name := "cr-2" + ns := "staging" + transitionTime := time.Date(2025, time.January, 1, 0, 0, 0, 0, time.UTC) + obj := makeObj(name, ns) + + rec.RecordConditionFor(kind, obj, "Ready", "True", "", transitionTime) + rec.RecordConditionFor(kind, obj, "Synchronized", "False", "SyncPending", transitionTime) + + // Remove all condition series for this object + removed := rec.RemoveConditionsFor(kind, obj) + assert.Equal(t, 2, removed) + + // No series remain for this object + require.NoError(t, + testutil.GatherAndCompare( + reg, + strings.NewReader(""), + "test_remove_conditions_for_condition_controller_condition", + ), + ) +} + +func TestConditionMetricRecorder_SetsKindLabelFromObject(t *testing.T) { + gauge := NewOperatorConditionsGauge("test_sets_kind_label_from_object") + reg := prometheus.NewRegistry() + _ = reg.Register(gauge) + ctrl := "my-controller" + rec := &ConditionMetricRecorder{ + Controller: ctrl, + OperatorConditionsGauge: gauge, + } + kind := "FancyKind" + name := "obj-1" + ns := "ns-1" + transitionTime := time.Date(2025, time.January, 1, 0, 0, 0, 0, time.UTC) + obj := makeObj(name, ns) + + // Record a condition + rec.RecordConditionFor(kind, obj, "Ready", "True", "", transitionTime) + + // Expect the 'kind' label to reflect the object's Kind + want := ` +# HELP test_sets_kind_label_from_object_controller_condition Condition status for a custom resource; one time series per (custom resource, condition type) combination. +# TYPE test_sets_kind_label_from_object_controller_condition gauge +test_sets_kind_label_from_object_controller_condition{condition="Ready",controller="my-controller",id="ns-1/obj-1",kind="FancyKind",name="obj-1",namespace="ns-1",reason="",status="True"} 1735689600 +` + require.NoError(t, + testutil.GatherAndCompare( + reg, + strings.NewReader(want), + "test_sets_kind_label_from_object_controller_condition", + ), + ) + + assert.Equal(t, 1, gauge.DeleteByIndex(ctrl, kind, name, ns)) +} diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..7c846a7 --- /dev/null +++ b/renovate.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ], + "ignorePaths": [] +} \ No newline at end of file From 4857a688c402cdce36655497fad049fbfd957ca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 19:40:59 +0000 Subject: [PATCH 02/12] update import path in readme --- README.md | 14 +++++++------- dashboards/README.md | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index a55581c..ed7a154 100644 --- a/README.md +++ b/README.md @@ -76,21 +76,21 @@ package my_metrics import ( controllermetrics "sigs.k8s.io/controller-runtime/pkg/metrics" - ocg "github.com/sourcehawk/go-crd-condition-metrics/pkg/operator-condition-metrics" + ccm "github.com/sourcehawk/go-crd-condition-metrics/pkg/crd-condition-metrics" ) // We need this variable later to create the ConditionMetricsRecorder -var OperatorConditionsGauge *ocg.OperatorConditionsGauge +var OperatorConditionsGauge *ccm.OperatorConditionsGauge // Initialize the operator condition gauge once func init() { - OperatorConditionsGauge = ocg.NewOperatorConditionsGauge("my_operator") + OperatorConditionsGauge = ccm.NewOperatorConditionsGauge("my_operator") controllermetrics.Registry.MustRegister(OperatorConditionsGauge) } // Embed in existing metrics recorder type MyControllerRecorder struct { - ocg.ConditionMetricRecorder + ccm.ConditionMetricRecorder } ``` @@ -103,13 +103,13 @@ package main import ( mymetrics "path/to/pkg/my_metrics" - ocg "github.com/sourcehawk/go-crd-condition-metrics/pkg/crd-condition-metrics" + ccm "github.com/sourcehawk/go-crd-condition-metrics/pkg/crd-condition-metrics" ) func main() { // ... recorder := mymetrics.MyControllerRecorder{ - ConditionMetricRecorder: ocg.ConditionMetricRecorder{ + ConditionMetricRecorder: ccm.ConditionMetricRecorder{ Controller: "my-controller", // unique name per reconciler OperatorConditionsGauge: mymetrics.OperatorConditionsGauge, }, @@ -181,7 +181,7 @@ initialized with the namespace `my_operator` which results in the metric name be In code: ```go -OperatorConditionsGauge = ocg.NewOperatorConditionsGauge("my_operator") +OperatorConditionsGauge = ccm.NewOperatorConditionsGauge("my_operator") ``` > [!INFO] Most of the time, the `namespace` label is reserved by the pod scraping the metrics. diff --git a/dashboards/README.md b/dashboards/README.md index 1866a4c..74b3936 100644 --- a/dashboards/README.md +++ b/dashboards/README.md @@ -7,11 +7,11 @@ the name of your metric namespace as input. make dashboards METRIC_NAMESPACE=your_operator ``` -The generated files are placed in `generated/dashboards`. +The generated files are placed under `generated/dashboards`. The name of your metric namespace is decided by the initialization of `OperatorConditionsGauge`. For instance, here the namespace is `my_operator`: ```go -OperatorConditionsGauge = ocg.NewOperatorConditionsGauge("my_operator") +OperatorConditionsGauge = ccm.NewOperatorConditionsGauge("my_operator") ``` From bd2e84d8293a67d92742ceb0e5d5eb7f90d9ade5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 19:47:54 +0000 Subject: [PATCH 03/12] update readme --- README.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index ed7a154..45bc87e 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,18 @@ # CRD Condition Metrics A simple and easy to integrate metric recording utility for kubernetes operators, giving you metrics -which are representative and kept in line with your [CRD status Conditions](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties). +which are representative—and kept in line with your [CRD status Conditions](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties). This package is built on the [Prometheus GaugeVecSet implementation for go](https://github.com/sourcehawk/go-prometheus-gaugevecset). -Features: -- Provides consistency between your custom resource statuses and your metrics: - > The metrics are based on your status conditions and synced when you update the conditions -- Easy integration: - > Get metrics anywhere with little initial setup and a simple method calls -- Light weight and performant - > Small memory footprint at large scale, fast ops -- Keeps cardinality under control - > Only 1 metric series per (custom resource, condition type) combination, even with 10 unique labels! -- A dashboard is available to get you started! +## Features +- **Ensures consistency between your CRD statuses and your metrics**: The metrics are based on your status conditions and + synced when you update the conditions. +- **Easy integration**: Get metrics anywhere with little initial setup and a simple method calls. +- **Light weight and performant**: Small memory footprint at large scale, fast ops. +- **Keeps cardinality under control**: Only 1 metric series per (custom resource, condition type) combination. + Gives you low cardinality even with thousands of unique label combinations. +- [Dashboards available](/dashboards) to get you started! ![img.png](docs/img.png) --- From 78b64dd3f0ca34a29b054dc34c8c15ffb2f49c62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 19:52:09 +0000 Subject: [PATCH 04/12] move dashboard images --- README.md | 1 - dashboards/README.md | 6 ++++++ ...g => crd_conditions_browser_dashboard_1.png} | Bin docs/crd_conditions_browser_dashboard_2.png | Bin 0 -> 20944 bytes 4 files changed, 6 insertions(+), 1 deletion(-) rename docs/{img.png => crd_conditions_browser_dashboard_1.png} (100%) create mode 100644 docs/crd_conditions_browser_dashboard_2.png diff --git a/README.md b/README.md index 45bc87e..51a6bd9 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,6 @@ This package is built on the [Prometheus GaugeVecSet implementation for go](http - **Keeps cardinality under control**: Only 1 metric series per (custom resource, condition type) combination. Gives you low cardinality even with thousands of unique label combinations. - [Dashboards available](/dashboards) to get you started! - ![img.png](docs/img.png) --- diff --git a/dashboards/README.md b/dashboards/README.md index 74b3936..935d9c6 100644 --- a/dashboards/README.md +++ b/dashboards/README.md @@ -15,3 +15,9 @@ the namespace is `my_operator`: ```go OperatorConditionsGauge = ccm.NewOperatorConditionsGauge("my_operator") ``` + +## CRD Condition Browser Dashboard + +![crd_conditions_browser_dashboard_1.png](docs/crd_conditions_browser_dashboard_1.png) + +![crd_conditions_browser_dashboard_2.png](docs/crd_conditions_browser_dashboard_2.png) \ No newline at end of file diff --git a/docs/img.png b/docs/crd_conditions_browser_dashboard_1.png similarity index 100% rename from docs/img.png rename to docs/crd_conditions_browser_dashboard_1.png diff --git a/docs/crd_conditions_browser_dashboard_2.png b/docs/crd_conditions_browser_dashboard_2.png new file mode 100644 index 0000000000000000000000000000000000000000..50797f0351a335eb7fa72be3d1552d0faec53c55 GIT binary patch literal 20944 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 literal 0 HcmV?d00001 From 9a669ab95464a8f8f70773ba439cb7d6ccc6e1b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 19:53:35 +0000 Subject: [PATCH 05/12] fix img path --- dashboards/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dashboards/README.md b/dashboards/README.md index 935d9c6..2b66ed0 100644 --- a/dashboards/README.md +++ b/dashboards/README.md @@ -18,6 +18,6 @@ OperatorConditionsGauge = ccm.NewOperatorConditionsGauge("my_operator") ## CRD Condition Browser Dashboard -![crd_conditions_browser_dashboard_1.png](docs/crd_conditions_browser_dashboard_1.png) +![crd_conditions_browser_dashboard_1.png](/docs/crd_conditions_browser_dashboard_1.png) -![crd_conditions_browser_dashboard_2.png](docs/crd_conditions_browser_dashboard_2.png) \ No newline at end of file +![crd_conditions_browser_dashboard_2.png](/docs/crd_conditions_browser_dashboard_2.png) \ No newline at end of file From 5e181e3185b8483404ace45579cc8fe4dd949512 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 19:55:18 +0000 Subject: [PATCH 06/12] update image --- docs/crd_conditions_browser_dashboard_1.png | Bin 81263 -> 96125 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/crd_conditions_browser_dashboard_1.png b/docs/crd_conditions_browser_dashboard_1.png index c9da1d02bf63d09290dd4802039a79b9fc84a24e..050c43a7478acfbae90b9691ed6dff3978a86162 100644 GIT binary patch literal 96125 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

!*RRy?|dp-Opq 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 literal 81263 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

;LA+s(B*!_Vj>E1$SFJFUjgm` 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 Date: Fri, 3 Oct 2025 19:58:31 +0000 Subject: [PATCH 07/12] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 51a6bd9..60571dc 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ func (r *MyReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Re // ... - // Update the status conditions using the recorder (it records the metric if changed) + // Update the status conditions using our wrapper function if r.SetStatusCondition(cr, condition) { if err = r.Status().Update(ctx, cr); err != nil { return ctrl.Result{}, err From 6bd5cbfc25d3b46051cdaadf4b38afa6712b7b9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 20:13:42 +0000 Subject: [PATCH 08/12] update motivation section --- README.md | 89 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 71 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 60571dc..788215c 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,17 @@ which are representative—and kept in line with your [CRD status Conditions](ht This package is built on the [Prometheus GaugeVecSet implementation for go](https://github.com/sourcehawk/go-prometheus-gaugevecset). +## 📚 Table of Contents + +1. [Features](#features) +2. [Installation](#installation) +3. [Motivation](#motivation) +4. [Setup: Operator Initialization](#operator-initialization) +5. [Setup: Controller Usage](#controller-usage) +6. [PromQL Usage Examples](#promql-usage-examples) + +--- + ## Features - **Ensures consistency between your CRD statuses and your metrics**: The metrics are based on your status conditions and synced when you update the conditions. @@ -16,20 +27,45 @@ This package is built on the [Prometheus GaugeVecSet implementation for go](http --- +### Installation + +Install the go package + +```go +go get github.com/sourcehawk/go-crd-condition-metrics +``` + +Importing it: + +```go +import ( + ccm "github.com/sourcehawk/go-crd-condition-metrics/pkg/crd-condition-metrics" +) +``` + +--- + ## Motivation -Creating metrics for custom resources is an important topic for any operator or controller. -However, how to standardize these metrics and ensure they consistently represent the state of our custom resources is not -something I've seen. +Creating meaningful metrics for custom resources is an essential part of building observability into any Kubernetes +operator or controller. But despite its importance, there’s a lack of standardization—especially when it comes to +exposing metrics that accurately reflect the actual `status` of a CRD. + +In Kubernetes, the `status.conditions` field has become the de facto convention for representing the state of a +resource. It captures key lifecycle signals such as `Ready`, `Reconciled`, `Degraded`, or `FailedToProvision`, along +with rich metadata like `reason`, `status`, and `lastTransitionTime`. -As `status.condtions` have become today's de facto standard to representing state of custom resources, it only makes -sense to utilize these conditions for metric recording. +This package was created to **standardize the way we expose those conditions as metrics**, allowing you to: +- Derive metrics directly from your resource’s `status.conditions` +- Keep metric values and labels fully in sync with the real resource state +- Avoid excessive metric cardinality +- Gain visibility into when a condition last transitioned -The `ConditionMetricsRecorder` is an implementation wrapper of `GaugeVecSet` for kubernetes operators. +### Pattern inspiration: kube-state-metrics -The metric is somewhat inspired by kube-state-metrics patterns for metrics such as `kube_pod_status_phase`. -Kube state metrics exports one time series per phase for each (namespace, pod), and marks exactly one as active (1) -while the others are inactive (0). +This metric strategy is inspired by `kube_pod_status_phase` from [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics), +which exports one time series per `phase` for each `(namespace, pod)` pair and marks exactly one as active (`1`) while +the others are set to inactive (`0`). Example: @@ -39,16 +75,14 @@ kube_pod_status_phase{namespace="default", pod="nginx", phase="Pending"} 0 kube_pod_status_phase{namespace="default", pod="nginx", phase="Failed"} 0 ``` -We adopt the same pattern for controller conditions, but we export only one time series per (custom resource, condition) -variant, meaning we delete all other variants in the group when we set the metric (e.g. we'd remove the "Pending" and -"Failed" metric in `kube_pod_status_phase`). This ensures the cardinality stays under control, as we at most have -`CR count * CR ConditionType` amount of series per CRD. +We adopt a similar idea for `status.conditions`, but with some key differences: -Additionally, rather than using the value 1/0 indicating the activeness of the metric, which in our case is pointless -(we only expose the active metric), we set the last transition time of the condition as the value (unix timestamp), -allowing us to determine at what point in time the custom resource went into the current state. +- We expose **only one time series per (custom resource, condition type)**. All other condition variants + (status/reason combinations) are removed when a new one is set. +- Instead of using binary values (`1` or `0`), we set the **Unix timestamp of `lastTransitionTime`** as the metric + value. This allows you to query when a condition was last updated. -Example metric: +Example metric from this package: ``` my_operator_controller_condition{ @@ -62,7 +96,22 @@ my_operator_controller_condition{ } 17591743210 ``` -### Operator Initialization +This makes it easy to build dashboards and alerts like: +- Show all CRs currently in a non-`Ready` state +- Alert if a CR has been stuck in a given condition for too long +- Visualize how long a CR has remained in its current status + +### Why this matters + +When operating controllers at scale, consistency and cardinality matter. Metrics should reflect the actual resource +state—not drift from it—and they should not grow uncontrollably as conditions change. + +This package gives you a lightweight, plug-and-play way to track CRD condition metrics correctly, consistently, and +with full context. + +--- + +## Operator Initialization The metric should be initialized and registered once. @@ -119,6 +168,8 @@ func main() { } ``` +--- + ## Controller Usage The easiest drop-in way to start using the metrics recorder is by creating a `SetStatusCondition` wrapper, which @@ -169,6 +220,8 @@ func (r *MyReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Re } ``` +--- + ## PromQL usage examples Here are some examples of how we can query the metrics. From 39bfd8d4fe32530b180e0686f0c8d3db11898568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 20:17:27 +0000 Subject: [PATCH 09/12] remove line break --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 788215c..84c7a75 100644 --- a/README.md +++ b/README.md @@ -238,8 +238,6 @@ OperatorConditionsGauge = ccm.NewOperatorConditionsGauge("my_operator") > The `namespace` label we set is therefore in most cases labeled as `exported_namespace`. > **The examples do not assume this to be the case.** ---- - Get all CR's of kind `App` that have the condition `Ready` set to `False`. ```promql From a942e90f71a8d3bed892212571559fa1e31e7a7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 20:18:11 +0000 Subject: [PATCH 10/12] use IMPORTANT --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 84c7a75..f9efd7a 100644 --- a/README.md +++ b/README.md @@ -234,7 +234,7 @@ In code: OperatorConditionsGauge = ccm.NewOperatorConditionsGauge("my_operator") ``` -> [!INFO] Most of the time, the `namespace` label is reserved by the pod scraping the metrics. +> [!IMPORTANT] Most of the time, the `namespace` label is reserved by the pod scraping the metrics. > The `namespace` label we set is therefore in most cases labeled as `exported_namespace`. > **The examples do not assume this to be the case.** From 5df17a48a02afdd30811adabc91ef92eabcf9a4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 20:19:11 +0000 Subject: [PATCH 11/12] fix info --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f9efd7a..c951018 100644 --- a/README.md +++ b/README.md @@ -234,7 +234,8 @@ In code: OperatorConditionsGauge = ccm.NewOperatorConditionsGauge("my_operator") ``` -> [!IMPORTANT] Most of the time, the `namespace` label is reserved by the pod scraping the metrics. +> [!INFO] +> Most of the time, the `namespace` label is reserved by the pod scraping the metrics. > The `namespace` label we set is therefore in most cases labeled as `exported_namespace`. > **The examples do not assume this to be the case.** From ba53826be6f866336065965c2114eba2d103d671 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86gir=20M=C3=A1ni=20Hauksson?= Date: Fri, 3 Oct 2025 20:19:41 +0000 Subject: [PATCH 12/12] fix info --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c951018..ddd2e83 100644 --- a/README.md +++ b/README.md @@ -234,7 +234,7 @@ In code: OperatorConditionsGauge = ccm.NewOperatorConditionsGauge("my_operator") ``` -> [!INFO] +> [!IMPORTANT] > Most of the time, the `namespace` label is reserved by the pod scraping the metrics. > The `namespace` label we set is therefore in most cases labeled as `exported_namespace`. > **The examples do not assume this to be the case.**