Skip to content

Commit 53a526b

Browse files
Shashank Sinharitbl
andauthored
Merge release-0.32.1 to main (#514)
* PMM-9919: measure collector execution time (#511) * copy from #510 * refactor * update ref to client_golang * revert * style * refactor * fix collect * fix collection * update deps * update ref * refactor * refactor * update ref * fix tests and update ref * update ref * PMM-9320: fix auth creds (#497) * Cleaned up Golang modfile Co-authored-by: Alexey Mukas <[email protected]>
1 parent 8c69fa4 commit 53a526b

14 files changed

+49
-13
lines changed

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: '3'
1+
version: '3.8'
22
services:
33
mongo-1-1:
44
container_name: "mongo-1-1"

exporter/collstats_collector.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ func (d *collstatsCollector) Collect(ch chan<- prometheus.Metric) {
6060
}
6161

6262
func (d *collstatsCollector) collect(ch chan<- prometheus.Metric) {
63+
defer prometheus.MeasureCollectTime(ch, "mongodb", "collstats")()
64+
6365
collections := d.collections
6466

6567
client := d.base.client

exporter/dbstats_collector.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ func (d *dbstatsCollector) Collect(ch chan<- prometheus.Metric) {
5757
}
5858

5959
func (d *dbstatsCollector) collect(ch chan<- prometheus.Metric) {
60+
defer prometheus.MeasureCollectTime(ch, "mongodb", "dbstats")()
61+
6062
logger := d.base.logger
6163
client := d.base.client
6264

exporter/diagnostic_data_collector.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ func (d *diagnosticDataCollector) Collect(ch chan<- prometheus.Metric) {
5454
}
5555

5656
func (d *diagnosticDataCollector) collect(ch chan<- prometheus.Metric) {
57+
defer prometheus.MeasureCollectTime(ch, "mongodb", "diagnostic_data")()
58+
5759
var m bson.M
5860

5961
logger := d.base.logger

exporter/general_collector.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ func (d *generalCollector) Collect(ch chan<- prometheus.Metric) {
4949
}
5050

5151
func (d *generalCollector) collect(ch chan<- prometheus.Metric) {
52+
defer prometheus.MeasureCollectTime(ch, "mongodb", "dbstats")()
5253
ch <- mongodbUpMetric(d.ctx, d.base.client, d.base.logger)
5354
}
5455

exporter/general_collector_test.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ func TestGeneralCollector(t *testing.T) {
4141
expected := strings.NewReader(`
4242
# HELP mongodb_up Whether MongoDB is up.
4343
# TYPE mongodb_up gauge
44-
mongodb_up 1` + "\n")
44+
mongodb_up 1
45+
# HELP collector_scrape_time_ms Time taken for scrape by collector
46+
# TYPE collector_scrape_time_ms gauge
47+
collector_scrape_time_ms{collector="dbstats",exporter="mongodb"} 0` + "\n")
4548
err := testutil.CollectAndCompare(c, expected)
4649
require.NoError(t, err)
4750

@@ -50,7 +53,10 @@ func TestGeneralCollector(t *testing.T) {
5053
expected = strings.NewReader(`
5154
# HELP mongodb_up Whether MongoDB is up.
5255
# TYPE mongodb_up gauge
53-
mongodb_up 0` + "\n")
56+
mongodb_up 0
57+
# HELP collector_scrape_time_ms Time taken for scrape by collector
58+
# TYPE collector_scrape_time_ms gauge
59+
collector_scrape_time_ms{collector="dbstats",exporter="mongodb"} 0` + "\n")
5460
err = testutil.CollectAndCompare(c, expected)
5561
require.NoError(t, err)
5662
}

exporter/indexstats_collector.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ func (d *indexstatsCollector) Collect(ch chan<- prometheus.Metric) {
6161
}
6262

6363
func (d *indexstatsCollector) collect(ch chan<- prometheus.Metric) {
64+
defer prometheus.MeasureCollectTime(ch, "mongodb", "indexstats")()
65+
6466
collections := d.collections
6567

6668
logger := d.base.logger

exporter/indexstats_collector_test.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@ mongodb_indexstats_accesses_ops{collection="testcol_02",database="testdb",key_na
7979
mongodb_indexstats_accesses_ops{collection="testcol_02",database="testdb",key_name="idx_01"} 0` +
8080
"\n")
8181

82-
err := testutil.CollectAndCompare(c, expected)
82+
// on race run we will have collector_scrape_time_ms > 0, in normal run it will be fast and will 0
83+
filter := []string{
84+
"mongodb_indexstats_accesses_ops",
85+
}
86+
err := testutil.CollectAndCompare(c, expected, filter...)
8387
assert.NoError(t, err)
8488
}
8589

@@ -127,7 +131,12 @@ func TestDescendingIndexOverride(t *testing.T) {
127131
mongodb_indexstats_accesses_ops{collection="testcol_02",database="testdb",key_name="_id_"} 0
128132
mongodb_indexstats_accesses_ops{collection="testcol_02",database="testdb",key_name="f1_1"} 0
129133
mongodb_indexstats_accesses_ops{collection="testcol_02",database="testdb",key_name="f1_DESC"} 0` + "\n")
130-
err := testutil.CollectAndCompare(c, expected)
134+
135+
// on race run we will have collector_scrape_time_ms > 0, in normal run it will be fast and will 0
136+
filter := []string{
137+
"mongodb_indexstats_accesses_ops",
138+
}
139+
err := testutil.CollectAndCompare(c, expected, filter...)
131140
assert.NoError(t, err)
132141
}
133142

exporter/replset_status_collector.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ func (d *replSetGetStatusCollector) Collect(ch chan<- prometheus.Metric) {
5858
}
5959

6060
func (d *replSetGetStatusCollector) collect(ch chan<- prometheus.Metric) {
61+
defer prometheus.MeasureCollectTime(ch, "mongodb", "replset_status")()
62+
6163
logger := d.base.logger
6264
client := d.base.client
6365

exporter/replset_status_collector_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,10 @@ func TestReplsetStatusCollectorNoSharding(t *testing.T) {
6969

7070
c := newReplicationSetStatusCollector(ctx, client, logrus.New(), false, ti)
7171

72-
expected := strings.NewReader(``)
72+
expected := strings.NewReader(`
73+
# HELP collector_scrape_time_ms Time taken for scrape by collector
74+
# TYPE collector_scrape_time_ms gauge
75+
collector_scrape_time_ms{collector="replset_status",exporter="mongodb"} 0` + "\n")
7376
err := testutil.CollectAndCompare(c, expected)
7477
assert.NoError(t, err)
7578
}

0 commit comments

Comments
 (0)