Skip to content

Commit

Permalink
[receiver/k8s_cluster] move node metrics to pdata (open-telemetry#23438)
Browse files Browse the repository at this point in the history
Switch k8s.node metrics to use pdata.
  • Loading branch information
atoulme authored Jun 19, 2023
1 parent 5fff104 commit 6ee548b
Show file tree
Hide file tree
Showing 16 changed files with 1,448 additions and 132 deletions.
11 changes: 11 additions & 0 deletions .chloggen/switchk8snode.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: enhancement

# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
component: k8sclusterreceiver

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Switch k8s.node metrics to use pdata.

# One or more tracking issues related to the change
issues: [23438]
1 change: 0 additions & 1 deletion receiver/k8sclusterreceiver/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ require (
github.com/census-instrumentation/opencensus-proto v0.4.1
github.com/google/go-cmp v0.5.9
github.com/google/uuid v1.3.0
github.com/iancoleman/strcase v0.2.0
github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.79.0
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.79.0
github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.79.0
Expand Down
2 changes: 0 additions & 2 deletions receiver/k8sclusterreceiver/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ func (dc *DataCollector) SyncMetrics(obj interface{}) {
case *corev1.Pod:
md = ocsToMetrics(pod.GetMetrics(o, dc.settings.TelemetrySettings.Logger))
case *corev1.Node:
md = ocsToMetrics(node.GetMetrics(o, dc.nodeConditionsToReport, dc.allocatableTypesToReport, dc.settings.TelemetrySettings.Logger))
md = node.GetMetrics(dc.settings, o, dc.nodeConditionsToReport, dc.allocatableTypesToReport)
case *corev1.Namespace:
md = namespace.GetMetrics(dc.settings, o)
case *corev1.ReplicationController:
Expand Down
6 changes: 6 additions & 0 deletions receiver/k8sclusterreceiver/internal/node/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

//go:generate mdatagen metadata.yaml

package node // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver/internal/node"
93 changes: 93 additions & 0 deletions receiver/k8sclusterreceiver/internal/node/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
[comment]: <> (Code generated by mdatagen. DO NOT EDIT.)

# k8s/node

## Default Metrics

The following metrics are emitted by default. Each of them can be disabled by applying the following configuration:

```yaml
metrics:
<metric_name>:
enabled: false
```
### k8s.node.allocatable_cpu
How many CPU cores remaining that the node can allocate to pods
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {cores} | Gauge | Double |
### k8s.node.allocatable_ephemeral_storage
How many bytes of ephemeral storage remaining that the node can allocate to pods
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |
### k8s.node.allocatable_memory
How many bytes of RAM memory remaining that the node can allocate to pods
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |
### k8s.node.allocatable_storage
How many bytes of storage remaining that the node can allocate to pods
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |
### k8s.node.condition_disk_pressure
Whether this node is DiskPressure (1), not DiskPressure (0) or in an unknown state (-1)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| 1 | Gauge | Int |
### k8s.node.condition_memory_pressure
Whether this node is MemoryPressure (1), not MemoryPressure (0) or in an unknown state (-1)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| 1 | Gauge | Int |
### k8s.node.condition_network_unavailable
Whether this node is NetworkUnavailable (1), not NetworkUnavailable (0) or in an unknown state (-1)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| 1 | Gauge | Int |
### k8s.node.condition_pid_pressure
Whether this node is PidPressure (1), not PidPressure (0) or in an unknown state (-1)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| 1 | Gauge | Int |
### k8s.node.condition_ready
Whether this node is Ready (1), not Ready (0) or in an unknown state (-1)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| 1 | Gauge | Int |
## Resource Attributes
| Name | Description | Values | Enabled |
| ---- | ----------- | ------ | ------- |
| k8s.node.name | The k8s node name. | Any Str | true |
| k8s.node.uid | The k8s node uid. | Any Str | true |
| opencensus.resourcetype | The OpenCensus resource type. | Any Str | true |

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 6ee548b

Please sign in to comment.