Skip to content

Commit ed551af

Browse files
committed
Add node deletionTimestamp metric
Adds deletionTimestamp metric, for nodes. Signed-off-by: Pranshu Srivastava <[email protected]>
1 parent e27fb87 commit ed551af

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

docs/node-metrics.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@
1212
| kube_node_status_allocatable | Gauge | The allocatable for different resources of a node that are available for scheduling | `cpu`=&lt;core&gt; <br> `ephemeral_storage`=&lt;byte&gt; <br> `pods`=&lt;integer&gt; <br> `attachable_volumes_*`=&lt;byte&gt; <br> `hugepages_*`=&lt;byte&gt; <br> `memory`=&lt;byte&gt; |`node`=&lt;node-address&gt; <br> `resource`=&lt;resource-name&gt; <br> `unit`=&lt;resource-unit&gt;| STABLE |
1313
| kube_node_status_condition | Gauge | The condition of a cluster node | |`node`=&lt;node-address&gt; <br> `condition`=&lt;node-condition&gt; <br> `status`=&lt;true\|false\|unknown&gt; | STABLE |
1414
| kube_node_created | Gauge | Unix creation timestamp | seconds |`node`=&lt;node-address&gt;| STABLE |
15+
| kube_node_deletion_timestamp | Gauge | Unix creation timestamp | seconds |`node`=&lt;node-address&gt;| STABLE |

internal/store/node.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@ var (
4444

4545
func nodeMetricFamilies(allowAnnotationsList, allowLabelsList []string) []generator.FamilyGenerator {
4646
return []generator.FamilyGenerator{
47+
createNodeAnnotationsGenerator(allowAnnotationsList),
4748
createNodeCreatedFamilyGenerator(),
49+
createNodeDeletionTimestampFamilyGenerator(),
4850
createNodeInfoFamilyGenerator(),
49-
createNodeAnnotationsGenerator(allowAnnotationsList),
5051
createNodeLabelsGenerator(allowLabelsList),
5152
createNodeRoleFamilyGenerator(),
5253
createNodeSpecTaintFamilyGenerator(),
@@ -57,6 +58,29 @@ func nodeMetricFamilies(allowAnnotationsList, allowLabelsList []string) []genera
5758
}
5859
}
5960

61+
func createNodeDeletionTimestampFamilyGenerator() generator.FamilyGenerator {
62+
return *generator.NewFamilyGeneratorWithStability(
63+
"kube_node_deletion_timestamp",
64+
"Unix deletion timestamp",
65+
metric.Gauge,
66+
basemetrics.ALPHA,
67+
"",
68+
wrapNodeFunc(func(n *v1.Node) *metric.Family {
69+
var ms []*metric.Metric
70+
71+
if n.DeletionTimestamp != nil && !n.DeletionTimestamp.IsZero() {
72+
ms = append(ms, &metric.Metric{
73+
Value: float64(n.DeletionTimestamp.Unix()),
74+
})
75+
}
76+
77+
return &metric.Family{
78+
Metrics: ms,
79+
}
80+
}),
81+
)
82+
}
83+
6084
func createNodeCreatedFamilyGenerator() generator.FamilyGenerator {
6185
return *generator.NewFamilyGeneratorWithStability(
6286
"kube_node_created",

0 commit comments

Comments
 (0)