From 85e8901c7c7493b50646fce1a1dc7ad3ce726630 Mon Sep 17 00:00:00 2001 From: Alex Savanovich <40720931+savme@users.noreply.github.com> Date: Fri, 19 Jun 2026 12:20:54 +0200 Subject: [PATCH] chore: add last_transition_time metrics --- .../networking-metrics.yaml | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/config/resource-metrics-policies/networking-metrics.yaml b/config/resource-metrics-policies/networking-metrics.yaml index f3a10bda..22df8c5e 100644 --- a/config/resource-metrics-policies/networking-metrics.yaml +++ b/config/resource-metrics-policies/networking-metrics.yaml @@ -74,6 +74,30 @@ spec: - name: status value: "item.status" + - name: network-status-condition-last-transition-time + resource: + group: networking.datumapis.com + version: v1alpha + resource: networks + families: + - name: datum_cloud_network_status_condition_last_transition_time + help: "last transition time for status conditions" + type: gauge + metrics: + - forEach: "has(object.status) && has(object.status.conditions) ? object.status.conditions : []" + value: "double(timestamp(item.lastTransitionTime).getSeconds())" + labels: + - name: name + value: "object.metadata.name" + - name: namespace + value: "object.metadata.namespace" + - name: condition + value: "item.type" + - name: reason + value: "item.reason" + - name: status + value: "item.status" + # ------------------------------------------------------------------------- # NetworkBinding # ------------------------------------------------------------------------- @@ -378,6 +402,34 @@ spec: - name: status value: "item.status" + - name: subnet-status-condition-last-transition-time + resource: + group: networking.datumapis.com + version: v1alpha + resource: subnets + families: + - name: datum_cloud_subnet_status_condition_last_transition_time + help: "last transition time for status conditions" + type: gauge + metrics: + - forEach: "has(object.status) && has(object.status.conditions) ? object.status.conditions : []" + value: "double(timestamp(item.lastTransitionTime).getSeconds())" + labels: + - name: name + value: "object.metadata.name" + - name: namespace + value: "object.metadata.namespace" + - name: network_name + value: "object.spec.network.name" + - name: network_namespace + value: "object.spec.network.namespace" + - name: condition + value: "item.type" + - name: reason + value: "item.reason" + - name: status + value: "item.status" + # ------------------------------------------------------------------------- # SubnetClaim # ------------------------------------------------------------------------- @@ -472,6 +524,34 @@ spec: - name: status value: "item.status" + - name: subnet-claim-status-condition-last-transition-time + resource: + group: networking.datumapis.com + version: v1alpha + resource: subnetclaims + families: + - name: datum_cloud_subnet_claim_status_condition_last_transition_time + help: "last transition time for status conditions" + type: gauge + metrics: + - forEach: "has(object.status) && has(object.status.conditions) ? object.status.conditions : []" + value: "double(timestamp(item.lastTransitionTime).getSeconds())" + labels: + - name: name + value: "object.metadata.name" + - name: namespace + value: "object.metadata.namespace" + - name: network_name + value: "object.spec.network.name" + - name: network_namespace + value: "object.spec.network.namespace" + - name: condition + value: "item.type" + - name: reason + value: "item.reason" + - name: status + value: "item.status" + # ------------------------------------------------------------------------- # Location # ------------------------------------------------------------------------- @@ -799,6 +879,30 @@ spec: - name: status value: "item.status" + - name: http-proxy-status-condition-last-transition-time + resource: + group: networking.datumapis.com + version: v1alpha + resource: httpproxies + families: + - name: datum_cloud_networking_http_proxy_status_condition_last_transition_time + help: "last transition time for status conditions" + type: gauge + metrics: + - forEach: "has(object.status) && has(object.status.conditions) ? object.status.conditions : []" + value: "double(timestamp(item.lastTransitionTime).getSeconds())" + labels: + - name: name + value: "object.metadata.name" + - name: namespace + value: "object.metadata.namespace" + - name: condition + value: "item.type" + - name: reason + value: "item.reason" + - name: status + value: "item.status" + - name: http-proxy-custom-hostname resource: group: networking.datumapis.com