@@ -41,6 +41,7 @@ func TestScraper(t *testing.T) {
41
41
42
42
cfg := createDefaultConfig ().(* Config )
43
43
cfg .Databases = []string {"otel" }
44
+ cfg .Metrics .PostgresqlWalDelay .Enabled = true
44
45
cfg .Metrics .PostgresqlDeadlocks .Enabled = true
45
46
cfg .Metrics .PostgresqlTempFiles .Enabled = true
46
47
cfg .Metrics .PostgresqlSequentialScans .Enabled = true
@@ -71,13 +72,17 @@ func TestScraperNoDatabaseSingle(t *testing.T) {
71
72
defer testutil .SetFeatureGateForTest (t , separateSchemaAttrGate , separateSchemaAttr )()
72
73
73
74
cfg := createDefaultConfig ().(* Config )
74
- require .True (t , cfg .Metrics .PostgresqlDeadlocks .Enabled == false )
75
+
76
+ // Validate expected default config values and then enable all metrics
77
+ require .False (t , cfg .Metrics .PostgresqlWalDelay .Enabled )
78
+ cfg .Metrics .PostgresqlWalDelay .Enabled = true
79
+ require .False (t , cfg .Metrics .PostgresqlDeadlocks .Enabled )
75
80
cfg .Metrics .PostgresqlDeadlocks .Enabled = true
76
- require .True (t , cfg .Metrics .PostgresqlTempFiles .Enabled == false )
81
+ require .False (t , cfg .Metrics .PostgresqlTempFiles .Enabled )
77
82
cfg .Metrics .PostgresqlTempFiles .Enabled = true
78
- require .True (t , cfg .Metrics .PostgresqlSequentialScans .Enabled == false )
83
+ require .False (t , cfg .Metrics .PostgresqlSequentialScans .Enabled )
79
84
cfg .Metrics .PostgresqlSequentialScans .Enabled = true
80
- require .True (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled == false )
85
+ require .False (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled )
81
86
cfg .Metrics .PostgresqlDatabaseLocks .Enabled = true
82
87
83
88
scraper := newPostgreSQLScraper (receivertest .NewNopCreateSettings (), cfg , factory )
@@ -91,6 +96,7 @@ func TestScraperNoDatabaseSingle(t *testing.T) {
91
96
require .NoError (t , pmetrictest .CompareMetrics (expectedMetrics , actualMetrics , pmetrictest .IgnoreResourceMetricsOrder (),
92
97
pmetrictest .IgnoreMetricDataPointsOrder (), pmetrictest .IgnoreStartTimestamp (), pmetrictest .IgnoreTimestamp ()))
93
98
99
+ cfg .Metrics .PostgresqlWalDelay .Enabled = false
94
100
cfg .Metrics .PostgresqlDeadlocks .Enabled = false
95
101
cfg .Metrics .PostgresqlTempFiles .Enabled = false
96
102
cfg .Metrics .PostgresqlSequentialScans .Enabled = false
@@ -112,21 +118,25 @@ func TestScraperNoDatabaseSingle(t *testing.T) {
112
118
runTest (false , "expected.yaml" , "expected_default_metrics.yaml" )
113
119
}
114
120
115
- func TestScraperNoDatabaseMultiple (t * testing.T ) {
121
+ func TestScraperNoDatabaseMultipleWithoutPreciseLag (t * testing.T ) {
116
122
factory := mockClientFactory {}
117
123
factory .initMocks ([]string {"otel" , "open" , "telemetry" })
118
124
119
125
runTest := func (separateSchemaAttr bool , file string ) {
120
126
defer testutil .SetFeatureGateForTest (t , separateSchemaAttrGate , separateSchemaAttr )()
127
+ defer testutil .SetFeatureGateForTest (t , preciseLagMetricsFg , false )()
121
128
122
129
cfg := createDefaultConfig ().(* Config )
123
- require .True (t , cfg .Metrics .PostgresqlDeadlocks .Enabled == false )
130
+
131
+ // Validate expected default config values and then enable all metrics except wal delay
132
+ require .False (t , cfg .Metrics .PostgresqlWalDelay .Enabled )
133
+ require .False (t , cfg .Metrics .PostgresqlDeadlocks .Enabled )
124
134
cfg .Metrics .PostgresqlDeadlocks .Enabled = true
125
- require .True (t , cfg .Metrics .PostgresqlTempFiles .Enabled == false )
135
+ require .False (t , cfg .Metrics .PostgresqlTempFiles .Enabled )
126
136
cfg .Metrics .PostgresqlTempFiles .Enabled = true
127
- require .True (t , cfg .Metrics .PostgresqlSequentialScans .Enabled == false )
137
+ require .False (t , cfg .Metrics .PostgresqlSequentialScans .Enabled )
128
138
cfg .Metrics .PostgresqlSequentialScans .Enabled = true
129
- require .True (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled == false )
139
+ require .False (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled )
130
140
cfg .Metrics .PostgresqlDatabaseLocks .Enabled = true
131
141
scraper := newPostgreSQLScraper (receivertest .NewNopCreateSettings (), cfg , & factory )
132
142
@@ -141,11 +151,11 @@ func TestScraperNoDatabaseMultiple(t *testing.T) {
141
151
pmetrictest .IgnoreMetricDataPointsOrder (), pmetrictest .IgnoreStartTimestamp (), pmetrictest .IgnoreTimestamp ()))
142
152
}
143
153
144
- runTest (true , "expected_schemaattr .yaml" )
145
- runTest (false , "expected .yaml" )
154
+ runTest (true , "expected_imprecise_lag_schemaattr .yaml" )
155
+ runTest (false , "expected_imprecise_lag .yaml" )
146
156
}
147
157
148
- func TestScraperNoDatabaseMultipleWithPreciseLagFeatureGate (t * testing.T ) {
158
+ func TestScraperNoDatabaseMultiple (t * testing.T ) {
149
159
factory := mockClientFactory {}
150
160
factory .initMocks ([]string {"otel" , "open" , "telemetry" })
151
161
@@ -154,17 +164,16 @@ func TestScraperNoDatabaseMultipleWithPreciseLagFeatureGate(t *testing.T) {
154
164
155
165
cfg := createDefaultConfig ().(* Config )
156
166
157
- testutil .SetFeatureGateForTest (t , preciseLagMetricsFg , true )
167
+ // Validate expected default config values and then enable all metrics
168
+ require .False (t , cfg .Metrics .PostgresqlWalDelay .Enabled )
158
169
cfg .Metrics .PostgresqlWalDelay .Enabled = true
159
- defer testutil .SetFeatureGateForTest (t , preciseLagMetricsFg , false )
160
-
161
- require .True (t , cfg .Metrics .PostgresqlDeadlocks .Enabled == false )
170
+ require .False (t , cfg .Metrics .PostgresqlDeadlocks .Enabled )
162
171
cfg .Metrics .PostgresqlDeadlocks .Enabled = true
163
- require .True (t , cfg .Metrics .PostgresqlTempFiles .Enabled == false )
172
+ require .False (t , cfg .Metrics .PostgresqlTempFiles .Enabled )
164
173
cfg .Metrics .PostgresqlTempFiles .Enabled = true
165
- require .True (t , cfg .Metrics .PostgresqlSequentialScans .Enabled == false )
174
+ require .False (t , cfg .Metrics .PostgresqlSequentialScans .Enabled )
166
175
cfg .Metrics .PostgresqlSequentialScans .Enabled = true
167
- require .True (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled == false )
176
+ require .False (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled )
168
177
cfg .Metrics .PostgresqlDatabaseLocks .Enabled = true
169
178
scraper := newPostgreSQLScraper (receivertest .NewNopCreateSettings (), cfg , & factory )
170
179
@@ -179,8 +188,8 @@ func TestScraperNoDatabaseMultipleWithPreciseLagFeatureGate(t *testing.T) {
179
188
pmetrictest .IgnoreMetricDataPointsOrder (), pmetrictest .IgnoreStartTimestamp (), pmetrictest .IgnoreTimestamp ()))
180
189
}
181
190
182
- runTest (true , "expected_precise_lag_schemaattr .yaml" )
183
- runTest (false , "expected_precise_lag .yaml" )
191
+ runTest (true , "expected_schemaattr .yaml" )
192
+ runTest (false , "expected .yaml" )
184
193
}
185
194
186
195
func TestScraperWithResourceAttributeFeatureGate (t * testing.T ) {
@@ -191,14 +200,19 @@ func TestScraperWithResourceAttributeFeatureGate(t *testing.T) {
191
200
defer testutil .SetFeatureGateForTest (t , separateSchemaAttrGate , separateSchemaAttr )()
192
201
193
202
cfg := createDefaultConfig ().(* Config )
194
- require .True (t , cfg .Metrics .PostgresqlDeadlocks .Enabled == false )
203
+
204
+ // Validate expected default config values and then enable all metrics
205
+ require .False (t , cfg .Metrics .PostgresqlWalDelay .Enabled )
206
+ cfg .Metrics .PostgresqlWalDelay .Enabled = true
207
+ require .False (t , cfg .Metrics .PostgresqlDeadlocks .Enabled )
195
208
cfg .Metrics .PostgresqlDeadlocks .Enabled = true
196
- require .True (t , cfg .Metrics .PostgresqlTempFiles .Enabled == false )
209
+ require .False (t , cfg .Metrics .PostgresqlTempFiles .Enabled )
197
210
cfg .Metrics .PostgresqlTempFiles .Enabled = true
198
- require .True (t , cfg .Metrics .PostgresqlSequentialScans .Enabled == false )
211
+ require .False (t , cfg .Metrics .PostgresqlSequentialScans .Enabled )
199
212
cfg .Metrics .PostgresqlSequentialScans .Enabled = true
200
- require .True (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled == false )
213
+ require .False (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled )
201
214
cfg .Metrics .PostgresqlDatabaseLocks .Enabled = true
215
+
202
216
scraper := newPostgreSQLScraper (receivertest .NewNopCreateSettings (), cfg , & factory )
203
217
204
218
actualMetrics , err := scraper .scrape (context .Background ())
@@ -224,13 +238,17 @@ func TestScraperWithResourceAttributeFeatureGateSingle(t *testing.T) {
224
238
defer testutil .SetFeatureGateForTest (t , separateSchemaAttrGate , separateSchemaAttr )()
225
239
226
240
cfg := createDefaultConfig ().(* Config )
227
- require .True (t , cfg .Metrics .PostgresqlDeadlocks .Enabled == false )
241
+
242
+ // Validate expected default config values and then enable all metrics
243
+ require .False (t , cfg .Metrics .PostgresqlWalDelay .Enabled )
244
+ cfg .Metrics .PostgresqlWalDelay .Enabled = true
245
+ require .False (t , cfg .Metrics .PostgresqlDeadlocks .Enabled )
228
246
cfg .Metrics .PostgresqlDeadlocks .Enabled = true
229
- require .True (t , cfg .Metrics .PostgresqlTempFiles .Enabled == false )
247
+ require .False (t , cfg .Metrics .PostgresqlTempFiles .Enabled )
230
248
cfg .Metrics .PostgresqlTempFiles .Enabled = true
231
- require .True (t , cfg .Metrics .PostgresqlSequentialScans .Enabled == false )
249
+ require .False (t , cfg .Metrics .PostgresqlSequentialScans .Enabled )
232
250
cfg .Metrics .PostgresqlSequentialScans .Enabled = true
233
- require .True (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled == false )
251
+ require .False (t , cfg .Metrics .PostgresqlDatabaseLocks .Enabled )
234
252
cfg .Metrics .PostgresqlDatabaseLocks .Enabled = true
235
253
scraper := newPostgreSQLScraper (receivertest .NewNopCreateSettings (), cfg , & factory )
236
254
0 commit comments