{
  "attributes": {
    "condition": {
      "description": "the name of Kubernetes Node condition. Example: Ready, Memory, PID, DiskPressure",
      "type": "string"
    },
    "k8s.container.status.reason": {
      "description": "The reason of the current container status.",
      "enum": [
        "Completed",
        "ContainerCannotRun",
        "ContainerCreating",
        "CrashLoopBackOff",
        "CreateContainerConfigError",
        "ErrImagePull",
        "Error",
        "ImagePullBackOff",
        "OOMKilled"
      ],
      "type": "string"
    },
    "k8s.container.status.state": {
      "description": "The state of the container (terminated, running, waiting). See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstate-v1-core for details.",
      "enum": [
        "running",
        "terminated",
        "waiting"
      ],
      "type": "string"
    },
    "k8s.namespace.name": {
      "description": "The k8s namespace name.",
      "type": "string"
    },
    "k8s.persistentvolume.status.phase": {
      "description": "The phase of the PersistentVolume.",
      "enum": [
        "Available",
        "Bound",
        "Failed",
        "Pending",
        "Released"
      ],
      "type": "string"
    },
    "k8s.persistentvolumeclaim.status.phase": {
      "description": "The phase of the PersistentVolumeClaim.",
      "enum": [
        "Bound",
        "Lost",
        "Pending"
      ],
      "type": "string"
    },
    "k8s.service.endpoint.address_type": {
      "description": "The address type of the endpoint.",
      "enum": [
        "FQDN",
        "IPv4",
        "IPv6"
      ],
      "type": "string"
    },
    "k8s.service.endpoint.condition": {
      "description": "The condition of the service endpoint.",
      "enum": [
        "ready",
        "serving",
        "terminating"
      ],
      "type": "string"
    },
    "k8s.service.endpoint.zone": {
      "description": "The zone of the service endpoint, typically corresponding to a failure domain.",
      "type": "string"
    },
    "resource": {
      "description": "the name of the resource on which the quota is applied",
      "type": "string"
    }
  },
  "description": "The Kubernetes Cluster receiver collects cluster-level metrics and entity events from the Kubernetes API server. It uses the K8s API to listen for updates. A single instance of this receiver should be used to monitor a cluster.",
  "display_name": "Kubernetes Cluster Receiver",
  "distribution": "contrib",
  "ecosystem": "collector",
  "id": "contrib-k8sclusterreceiver",
  "metrics": {
    "k8s.container.cpu_limit": {
      "description": "Maximum resource limit set for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details",
      "enabled": true,
      "gauge": {
        "value_type": "double"
      },
      "stability": "development",
      "unit": "{cpu}"
    },
    "k8s.container.cpu_request": {
      "description": "Resource requested for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details",
      "enabled": true,
      "gauge": {
        "value_type": "double"
      },
      "stability": "development",
      "unit": "{cpu}"
    },
    "k8s.container.ephemeralstorage_limit": {
      "description": "Maximum resource limit set for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "k8s.container.ephemeralstorage_request": {
      "description": "Resource requested for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "k8s.container.memory_limit": {
      "description": "Maximum resource limit set for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "k8s.container.memory_request": {
      "description": "Resource requested for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "k8s.container.ready": {
      "description": "Whether a container has passed its readiness probe (0 for no, 1 for yes)",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": ""
    },
    "k8s.container.restarts": {
      "description": "How many times the container has restarted in the recent past. This value is pulled directly from the K8s API and the value can go indefinitely high and be reset to 0 at any time depending on how your kubelet is configured to prune dead containers. It is best to not depend too much on the exact value but rather look at it as either == 0, in which case you can conclude there were no restarts in the recent past, or > 0, in which case you can conclude there were restarts in the recent past, and not try and analyze the value beyond that.",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{restart}"
    },
    "k8s.container.status.reason": {
      "attributes": [
        "k8s.container.status.reason"
      ],
      "description": "Experimental metric, may experience breaking changes. Describes the number of K8s containers that are currently in a state for a given reason. All possible container state reasons will be reported at each time interval to avoid missing metrics. Only the value corresponding to the current state reason will be non-zero.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{container}"
    },
    "k8s.container.status.state": {
      "attributes": [
        "k8s.container.status.state"
      ],
      "description": "Experimental metric, may experience breaking changes. Describes the number of K8s containers that are currently in a given state. All possible container states will be reported at each time interval to avoid missing metrics. Only the value corresponding to the current state will be non-zero.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{container}"
    },
    "k8s.container.storage_limit": {
      "description": "Maximum resource limit set for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "k8s.container.storage_request": {
      "description": "Resource requested for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "k8s.cronjob.active_jobs": {
      "description": "The number of actively running jobs for a cronjob",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{job}"
    },
    "k8s.daemonset.current_scheduled_nodes": {
      "description": "Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{node}"
    },
    "k8s.daemonset.desired_scheduled_nodes": {
      "description": "Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod)",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{node}"
    },
    "k8s.daemonset.misscheduled_nodes": {
      "description": "Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{node}"
    },
    "k8s.daemonset.ready_nodes": {
      "description": "Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{node}"
    },
    "k8s.deployment.available": {
      "description": "Total number of available pods (ready for at least minReadySeconds) targeted by this deployment",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.deployment.desired": {
      "description": "Number of desired pods in this deployment",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.hpa.current_replicas": {
      "description": "Current number of pod replicas managed by this autoscaler.",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.hpa.desired_replicas": {
      "description": "Desired number of pod replicas managed by this autoscaler.",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.hpa.max_replicas": {
      "description": "Maximum number of replicas to which the autoscaler can scale up.",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.hpa.min_replicas": {
      "description": "Minimum number of replicas to which the autoscaler can scale up.",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.job.active_pods": {
      "description": "The number of actively running pods for a job",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.job.desired_successful_pods": {
      "description": "The desired number of successfully finished pods the job should be run with",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.job.failed_pods": {
      "description": "The number of pods which reached phase Failed for a job",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.job.max_parallel_pods": {
      "description": "The max desired number of pods the job should run at any given time",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.job.successful_pods": {
      "description": "The number of pods which reached phase Succeeded for a job",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.namespace.phase": {
      "description": "The current phase of namespaces (1 for active and 0 for terminating)",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": ""
    },
    "k8s.node.condition": {
      "attributes": [
        "condition"
      ],
      "description": "The condition of a particular Node.",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{condition}"
    },
    "k8s.persistentvolume.status.phase": {
      "attributes": [
        "k8s.persistentvolume.status.phase"
      ],
      "description": "The current phase of the PersistentVolume (1 for the current phase, 0 for others).",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{persistentvolume}"
    },
    "k8s.persistentvolume.storage.capacity": {
      "description": "The storage capacity of the PersistentVolume.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "By"
    },
    "k8s.persistentvolumeclaim.status.phase": {
      "attributes": [
        "k8s.persistentvolumeclaim.status.phase"
      ],
      "description": "The current phase of the PersistentVolumeClaim (1 for the current phase, 0 for others).",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{persistentvolumeclaim}"
    },
    "k8s.persistentvolumeclaim.storage.capacity": {
      "description": "The actual storage capacity provisioned for the PersistentVolumeClaim. Only available when bound.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "By"
    },
    "k8s.persistentvolumeclaim.storage.request": {
      "description": "The storage requested by the PersistentVolumeClaim.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "By"
    },
    "k8s.pod.phase": {
      "description": "Current phase of the pod (1 - Pending, 2 - Running, 3 - Succeeded, 4 - Failed, 5 - Unknown)",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": ""
    },
    "k8s.pod.status_reason": {
      "description": "Current status reason of the pod (1 - Evicted, 2 - NodeAffinity, 3 - NodeLost, 4 - Shutdown, 5 - UnexpectedAdmissionError, 6 - Unknown)",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": ""
    },
    "k8s.replicaset.available": {
      "description": "Total number of available pods (ready for at least minReadySeconds) targeted by this replicaset",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.replicaset.desired": {
      "description": "Number of desired pods in this replicaset",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.replication_controller.available": {
      "description": "Total number of available pods (ready for at least minReadySeconds) targeted by this replication_controller",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.replication_controller.desired": {
      "description": "Number of desired pods in this replication_controller",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.resource_quota.hard_limit": {
      "attributes": [
        "resource"
      ],
      "description": "The upper limit for a particular resource in a specific namespace. Will only be sent if a quota is specified. CPU requests/limits will be sent as millicores",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{resource}"
    },
    "k8s.resource_quota.used": {
      "attributes": [
        "resource"
      ],
      "description": "The usage for a particular resource in a specific namespace. Will only be sent if a quota is specified. CPU requests/limits will be sent as millicores",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{resource}"
    },
    "k8s.service.endpoint.count": {
      "attributes": [
        "k8s.service.endpoint.address_type",
        "k8s.service.endpoint.condition",
        "k8s.service.endpoint.zone"
      ],
      "description": "The number of endpoints for a service, broken down by condition, address type, and zone.",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{endpoint}"
    },
    "k8s.service.load_balancer.ingress.count": {
      "description": "The number of load balancer ingress points (external IPs/hostnames) assigned to the service.",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{ingress}"
    },
    "k8s.statefulset.current_pods": {
      "description": "The number of pods created by the StatefulSet controller from the StatefulSet version",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.statefulset.desired_pods": {
      "description": "Number of desired pods in the stateful set (the `spec.replicas` field)",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.statefulset.ready_pods": {
      "description": "Number of pods created by the stateful set that have the `Ready` condition",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "k8s.statefulset.updated_pods": {
      "description": "Number of pods created by the StatefulSet controller from the StatefulSet version",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{pod}"
    },
    "openshift.appliedclusterquota.limit": {
      "attributes": [
        "k8s.namespace.name",
        "resource"
      ],
      "description": "The upper limit for a particular resource in a specific namespace.",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{resource}"
    },
    "openshift.appliedclusterquota.used": {
      "attributes": [
        "k8s.namespace.name",
        "resource"
      ],
      "description": "The usage for a particular resource in a specific namespace.",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{resource}"
    },
    "openshift.clusterquota.limit": {
      "attributes": [
        "resource"
      ],
      "description": "The configured upper limit for a particular resource.",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{resource}"
    },
    "openshift.clusterquota.used": {
      "attributes": [
        "resource"
      ],
      "description": "The usage for a particular resource with a configured limit.",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{resource}"
    }
  },
  "name": "k8sclusterreceiver",
  "repository": "opentelemetry-collector-contrib",
  "status": {
    "class": "receiver",
    "codeowners": {
      "active": [
        "dmitryax",
        "TylerHelmuth",
        "povilasv",
        "ChrsMark"
      ]
    },
    "distributions": [
      "contrib",
      "k8s"
    ],
    "stability": {
      "beta": [
        "metrics"
      ],
      "development": [
        "logs"
      ]
    }
  },
  "type": "receiver"
}