Skip to content

Include a prometheus exporter #217

Description

Improvement

We want to expose a certain number of metrics:

  • GoLang-related metrics to track operator performance and bottleneck
  • Custom resources related metrics, non-exhaustive list:
    • Number of CR per CR types
    • For each CR instance, the duration of the current status

Reason

We want to be able to track the performance of the operator and the status of the custom resource

Information

We can follow the pattern from Karpenter:

operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-47n8v",namespace="",reason="ConsistentStateFound",status="True",type="ConsistentStateFound"} 192060.802347201
operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-47n8v",namespace="",reason="Consolidatable",status="True",type="Consolidatable"} 187270.802359451
operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-47n8v",namespace="",reason="Initialized",status="True",type="Initialized"} 192626.802335205
operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-47n8v",namespace="",reason="Launched",status="True",type="Launched"} 192660.802308219
operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-47n8v",namespace="",reason="Ready",status="True",type="Ready"} 192626.802369478
operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-47n8v",namespace="",reason="Registered",status="True",type="Registered"} 192644.802322643
operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-f9pxp",namespace="",reason="ConsistentStateFound",status="True",type="ConsistentStateFound"} 181798.860843192
operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-f9pxp",namespace="",reason="Consolidatable",status="True",type="Consolidatable"} 104344.860856107
operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-f9pxp",namespace="",reason="Initialized",status="True",type="Initialized"} 182362.860828029
operator_nodeclaim_status_condition_current_status_seconds{karpenter_k8s_aws_ec2nodeclass="default",karpenter_sh_nodepool="monitoring",name="monitoring-f9pxp",namespace="",reason="Launched",status="True",type="Launched"} 182398.860800017

Definition of Done

Metrics are exposed and ready to be scrapped.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Fields

    No fields configured for Improvement.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions