Skip to content

Commit 2efbbfd

Browse files
committed
[INTERNAL] Export number of members and assigned partitions for each topic in a consumer group ADDENDUM
Lower cardinality by not exporting group size for un-stable groups
1 parent bd13030 commit 2efbbfd

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

prometheus/collect_consumer_groups.go

+9-7
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,14 @@ func (e *Exporter) collectConsumerGroups(ctx context.Context, ch chan<- promethe
5353
)
5454

5555
// total number of members in consumer groups
56-
ch <- prometheus.MustNewConstMetric(
57-
e.consumerGroupMembers,
58-
prometheus.GaugeValue,
59-
float64(len(group.Members)),
60-
group.Group,
61-
)
56+
if len(group.Members) > 0 {
57+
ch <- prometheus.MustNewConstMetric(
58+
e.consumerGroupMembers,
59+
prometheus.GaugeValue,
60+
float64(len(group.Members)),
61+
group.Group,
62+
)
63+
}
6264

6365
// iterate all members and build two maps:
6466
// - {topic -> number-of-consumers}
@@ -108,7 +110,7 @@ func (e *Exporter) collectConsumerGroups(ctx context.Context, ch chan<- promethe
108110
}
109111

110112
// number of members with no assignment in a stable consumer group
111-
if membersWithEmptyAssignment > 0 {
113+
if membersWithEmptyAssignment > 0 && group.State == "Stable" {
112114
ch <- prometheus.MustNewConstMetric(
113115
e.consumerGroupMembersEmpty,
114116
prometheus.GaugeValue,

0 commit comments

Comments
 (0)