Semantic conventions for OpenShift metrics

Status: Development

OpenShift metrics

This document describes instruments and attributes for common OpenShift specific metrics in OpenTelemetry. These metrics are collected from OpenShift’s, well-defined API.

Metrics in openshift. instruments SHOULD be attached to an OpenShift Resource and therefore inherit its attributes, like openshift.clusterquota.name and openshift.clusterquota.uid.

ClusterResourceQuota metrics

Description: ClusterResourceQuota level metrics captured under the namespace openshift.clusterquota.

Metric: openshift.clusterquota.cpu.limit.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.cpu.limit.hardUpDownCounter{cpu}The enforced hard limit of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.cpu.limit.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.cpu.limit.usedUpDownCounter{cpu}The current observed total usage of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.cpu.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.cpu.request.hardUpDownCounter{cpu}The enforced hard limit of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.cpu.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.cpu.request.usedUpDownCounter{cpu}The current observed total usage of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.memory.limit.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.memory.limit.hardUpDownCounterByThe enforced hard limit of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.memory.limit.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.memory.limit.usedUpDownCounterByThe current observed total usage of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.memory.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.memory.request.hardUpDownCounterByThe enforced hard limit of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.memory.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.memory.request.usedUpDownCounterByThe current observed total usage of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.hugepage_count.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.hugepage_count.request.hardUpDownCounter{hugepage}The enforced hard limit of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.hugepage.sizeDevelopmentRequiredstringThe size (identifier) of the K8s huge page.2Mi

Metric: openshift.clusterquota.hugepage_count.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.hugepage_count.request.usedUpDownCounter{hugepage}The current observed total usage of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.hugepage.sizeDevelopmentRequiredstringThe size (identifier) of the K8s huge page.2Mi

Metric: openshift.clusterquota.storage.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.storage.request.hardUpDownCounterByThe enforced hard limit of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.storageclass.nameDevelopmentConditionally Required [1]stringThe name of K8s StorageClass object.gold.storageclass.storage.k8s.io

[1] k8s.storageclass.name: The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

Metric: openshift.clusterquota.storage.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.storage.request.usedUpDownCounterByThe current observed total usage of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.storageclass.nameDevelopmentConditionally Required [1]stringThe name of K8s StorageClass object.gold.storageclass.storage.k8s.io

[1] k8s.storageclass.name: The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

Metric: openshift.clusterquota.persistentvolumeclaim_count.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.persistentvolumeclaim_count.hardUpDownCounter{persistentvolumeclaim}The enforced hard limit of the resource across all projects. [1]Development

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.storageclass.nameDevelopmentConditionally Required [1]stringThe name of K8s StorageClass object.gold.storageclass.storage.k8s.io

[1] k8s.storageclass.name: The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

Metric: openshift.clusterquota.persistentvolumeclaim_count.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.persistentvolumeclaim_count.usedUpDownCounter{persistentvolumeclaim}The current observed total usage of the resource across all projects. [1]Development

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.storageclass.nameDevelopmentConditionally Required [1]stringThe name of K8s StorageClass object.gold.storageclass.storage.k8s.io

[1] k8s.storageclass.name: The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

Metric: openshift.clusterquota.ephemeral_storage.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.ephemeral_storage.request.hardUpDownCounterByThe enforced hard limit of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.ephemeral_storage.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.ephemeral_storage.request.usedUpDownCounterByThe current observed total usage of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.ephemeral_storage.limit.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.ephemeral_storage.limit.hardUpDownCounterByThe enforced hard limit of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.ephemeral_storage.limit.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.ephemeral_storage.limit.usedUpDownCounterByThe current observed total usage of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Metric: openshift.clusterquota.object_count.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.object_count.hardUpDownCounter{object}The enforced hard limit of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Hard field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.resourcequota.resource_nameDevelopmentRequiredstringThe name of the K8s resource a resource quota defines. [1]count/replicationcontrollers

[1] k8s.resourcequota.resource_name: The value for this attribute can be either the full count/<resource>[.<group>] string (e.g., count/deployments.apps, count/pods), or, for certain core Kubernetes resources, just the resource name (e.g., pods, services, configmaps). Both forms are supported by Kubernetes for object count quotas. See Kubernetes Resource Quotas documentation for more details.

Metric: openshift.clusterquota.object_count.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
openshift.clusterquota.object_count.usedUpDownCounter{object}The current observed total usage of the resource across all projects. [1]Developmentopenshift.clusterquota

[1]: This metric is retrieved from the Status.Total.Used field of the K8s ResourceQuotaStatus of the ClusterResourceQuota.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.resourcequota.resource_nameDevelopmentRequiredstringThe name of the K8s resource a resource quota defines. [1]count/replicationcontrollers

[1] k8s.resourcequota.resource_name: The value for this attribute can be either the full count/<resource>[.<group>] string (e.g., count/deployments.apps, count/pods), or, for certain core Kubernetes resources, just the resource name (e.g., pods, services, configmaps). Both forms are supported by Kubernetes for object count quotas. See Kubernetes Resource Quotas documentation for more details.