Skip to content

Commit 6bc689d

Browse files
authored
PMM-9403 Add extra label for replicaset metrics (#804)
1 parent a662340 commit 6bc689d

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

exporter/v1_compatibility.go

+7-8
Original file line numberDiff line numberDiff line change
@@ -999,8 +999,8 @@ func oplogStatus(ctx context.Context, client *mongo.Client) ([]prometheus.Metric
999999
return []prometheus.Metric{headMetric, tailMetric}, nil
10001000
}
10011001

1002-
func replSetMetrics(m bson.M) []prometheus.Metric {
1003-
replSetGetStatus, ok := m["replSetGetStatus"].(bson.M)
1002+
func replSetMetrics(d bson.M) []prometheus.Metric {
1003+
replSetGetStatus, ok := d["replSetGetStatus"].(bson.M)
10041004
if !ok {
10051005
return nil
10061006
}
@@ -1021,7 +1021,7 @@ func replSetMetrics(m bson.M) []prometheus.Metric {
10211021
for _, m := range repl.Members {
10221022
if m.StateStr == "PRIMARY" {
10231023
primaryOpTime = m.OptimeDate.Time()
1024-
gotPrimary = !primaryOpTime.IsZero()
1024+
gotPrimary = primaryOpTime.Unix() != 0
10251025

10261026
break
10271027
}
@@ -1044,20 +1044,19 @@ func replSetMetrics(m bson.M) []prometheus.Metric {
10441044
"name": m.Name,
10451045
"state": m.StateStr,
10461046
"set": repl.Set,
1047+
"self": "0",
10471048
}
10481049
if m.Self {
1049-
createMetric("my_name", "The replica state name of the current member.", 1, map[string]string{
1050-
"name": m.Name,
1051-
"set": repl.Set,
1052-
})
1050+
labels["self"] = "1"
1051+
createMetric("my_name", "The replica state name of the current member.", 1, labels)
10531052
}
10541053

10551054
if !m.ElectionTime.IsZero() {
10561055
createMetric("member_election_date",
10571056
"The timestamp the node was elected as replica leader",
10581057
float64(m.ElectionTime.T), labels)
10591058
}
1060-
if t := m.OptimeDate.Time(); gotPrimary && !t.IsZero() && m.StateStr != "PRIMARY" {
1059+
if t := m.OptimeDate.Time(); gotPrimary && t.Unix() != 0 && m.StateStr != "PRIMARY" {
10611060
val := math.Abs(float64(t.Unix() - primaryOpTime.Unix()))
10621061
createMetric("member_replication_lag",
10631062
"The replication lag that this member has with the primary.",

0 commit comments

Comments
 (0)