chore(go.d/mssql): remove collect_ options (#21586)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Ilya Mashchenko committed
Jan 18, 2026 at 18:55 UTC
3a153a9a4475afa0dfb6a96c3c51b09927007531
6 files changed
+44
-253
src/go/plugin/go.d/collector/mssql/collect.go
+44
-68
@@ -36,35 +36,20 @@ func (c *Collector) collect() (map[string]int64, error) {
36
if err := c.collectInstanceMetrics(mx); err != nil {
37
return nil, err
38
}
39
-
40
- if c.CollectTransactions {
41
- if err := c.collectDatabaseMetrics(mx); err != nil {
42
- c.Warning(err)
43
- }
39
+ if err := c.collectDatabaseMetrics(mx); err != nil {
40
+ return nil, err
41
}
45
-
46
- if c.CollectLocks {
47
- if err := c.collectLockMetrics(mx); err != nil {
48
- c.Warning(err)
49
- }
42
+ if err := c.collectLockMetrics(mx); err != nil {
43
+ return nil, err
44
}
51
-
52
- if c.CollectWaits {
53
- if err := c.collectWaitStats(mx); err != nil {
54
- c.Warning(err)
55
- }
45
+ if err := c.collectWaitStats(mx); err != nil {
46
+ return nil, err
47
}
57
-
58
- if c.CollectJobs {
59
- if err := c.collectJobStatus(mx); err != nil {
60
- c.Warning(err)
61
- }
48
+ if err := c.collectJobStatus(mx); err != nil {
49
+ return nil, err
50
}
63
-
64
- if c.CollectReplication {
65
- if err := c.collectReplicationStatus(mx); err != nil {
66
- c.Warning(err)
67
- }
51
+ if err := c.collectReplicationStatus(mx); err != nil {
52
+ return nil, err
53
}
54
55
return mx, nil
@@ -100,54 +85,41 @@ func (c *Collector) queryVersion() (string, error) {
85
if err != nil {
86
return "", err
87
}
88
+
89
return version, nil
90
}
91
92
func (c *Collector) collectInstanceMetrics(mx map[string]int64) error {
107
- if c.CollectUserConnections {
108
- if err := c.collectUserConnections(mx); err != nil {
109
- c.Warning(err)
110
- }
93
+ if err := c.collectUserConnections(mx); err != nil {
94
+ return err
95
}
112
-
113
- if c.CollectBlockedProcesses {
114
- if err := c.collectBlockedProcesses(mx); err != nil {
115
- c.Warning(err)
116
- }
96
+ if err := c.collectBlockedProcesses(mx); err != nil {
97
+ return err
98
}
118
-
99
if err := c.collectBatchRequests(mx); err != nil {
120
- c.Warning(err)
100
+ return err
101
}
122
-
102
if err := c.collectCompilations(mx); err != nil {
124
- c.Warning(err)
103
+ return err
104
}
126
-
127
- if c.CollectSQLErrors {
128
- if err := c.collectSQLErrors(mx); err != nil {
129
- c.Warning(err)
130
- }
105
+ if err := c.collectSQLErrors(mx); err != nil {
106
+ return err
107
}
132
-
133
- if c.CollectBufferStats {
134
- if err := c.collectBufferManager(mx); err != nil {
135
- c.Warning(err)
136
- }
137
- if err := c.collectMemoryManager(mx); err != nil {
138
- c.Warning(err)
139
- }
140
- if err := c.collectAccessMethods(mx); err != nil {
141
- c.Warning(err)
142
- }
108
+ if err := c.collectBufferManager(mx); err != nil {
109
+ return err
110
+ }
111
+ if err := c.collectMemoryManager(mx); err != nil {
112
+ return err
113
+ }
114
+ if err := c.collectAccessMethods(mx); err != nil {
115
+ return err
116
}
144
-
117
// Process and OS memory metrics (always collected)
118
if err := c.collectProcessMemory(mx); err != nil {
147
- c.Warning(err)
119
+ return err
120
}
121
if err := c.collectOSMemory(mx); err != nil {
150
- c.Warning(err)
122
+ return err
123
}
124
125
return nil
@@ -167,6 +139,7 @@ func (c *Collector) collectUserConnections(mx map[string]int64) error {
139
// Session connections: user vs internal (system)
140
mx["session_connections_user"] = userConns
141
mx["session_connections_internal"] = sysConns
142
+
143
return nil
144
}
145
@@ -181,6 +154,7 @@ func (c *Collector) collectBlockedProcesses(mx map[string]int64) error {
154
}
155
156
mx["blocked_processes"] = blocked
157
+
158
return nil
159
}
160
@@ -195,6 +169,7 @@ func (c *Collector) collectBatchRequests(mx map[string]int64) error {
169
}
170
171
mx["batch_requests"] = value
172
+
173
return nil
174
}
175
@@ -325,6 +300,7 @@ func (c *Collector) collectAccessMethods(mx map[string]int64) error {
300
}
301
302
mx["page_splits"] = value
303
+
304
return nil
305
}
306
@@ -333,25 +309,22 @@ func (c *Collector) collectDatabaseMetrics(mx map[string]int64) error {
309
return err
310
}
311
if err := c.collectLockStatsByResourceType(mx); err != nil {
336
- c.Warning(err)
312
+ return err
313
}
338
- if c.CollectDatabaseSize {
339
- if err := c.collectDatabaseSize(mx); err != nil {
340
- c.Warning(err)
341
- }
314
+ if err := c.collectDatabaseSize(mx); err != nil {
315
+ return err
316
}
343
- if c.CollectDatabaseStatus {
344
- if err := c.collectDatabaseStatus(mx); err != nil {
345
- c.Warning(err)
346
- }
317
+ if err := c.collectDatabaseStatus(mx); err != nil {
318
+ return err
319
}
320
// Collect I/O stall and log growth metrics per database
321
if err := c.collectIOStall(mx); err != nil {
350
- c.Warning(err)
322
+ return err
323
}
324
if err := c.collectLogGrowths(mx); err != nil {
353
- c.Warning(err)
325
+ return err
326
}
327
+
328
return nil
329
}
330
@@ -588,6 +561,7 @@ func (c *Collector) collectSQLErrors(mx map[string]int64) error {
561
}
562
563
mx["sql_errors_total"] = value
564
+
565
return nil
566
}
567
@@ -749,6 +723,7 @@ func (c *Collector) collectProcessMemory(mx map[string]int64) error {
723
mx["process_memory_virtual"] = virtual
724
mx["process_memory_utilization"] = utilization
725
mx["process_page_faults"] = pageFaults
726
+
727
return nil
728
}
729
@@ -766,6 +741,7 @@ func (c *Collector) collectOSMemory(mx map[string]int64) error {
741
mx["os_memory_available"] = memAvailable
742
mx["os_pagefile_used"] = pagefileUsed
743
mx["os_pagefile_available"] = pagefileAvailable
744
+
745
return nil
746
}
747
src/go/plugin/go.d/collector/mssql/collector.go
-24
@@ -34,18 +34,6 @@ func New() *Collector {
34
Config: Config{
35
DSN: "sqlserver://localhost:1433",
36
Timeout: confopt.Duration(time.Second * 5),
37
-
38
- CollectTransactions: true,
39
- CollectWaits: true,
40
- CollectLocks: true,
41
- CollectJobs: true,
42
- CollectBufferStats: true,
43
- CollectDatabaseSize: true,
44
- CollectUserConnections: true,
45
- CollectBlockedProcesses: true,
46
- CollectSQLErrors: true,
47
- CollectDatabaseStatus: true,
48
- CollectReplication: true,
37
},
38
39
charts: instanceCharts.Copy(),
@@ -64,18 +52,6 @@ type Config struct {
52
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
53
DSN string `yaml:"dsn" json:"dsn"`
54
Timeout confopt.Duration `yaml:"timeout,omitempty" json:"timeout"`
67
-
68
- CollectTransactions bool `yaml:"collect_transactions,omitempty" json:"collect_transactions"`
69
- CollectWaits bool `yaml:"collect_waits,omitempty" json:"collect_waits"`
70
- CollectLocks bool `yaml:"collect_locks,omitempty" json:"collect_locks"`
71
- CollectJobs bool `yaml:"collect_jobs,omitempty" json:"collect_jobs"`
72
- CollectBufferStats bool `yaml:"collect_buffer_stats,omitempty" json:"collect_buffer_stats"`
73
- CollectDatabaseSize bool `yaml:"collect_database_size,omitempty" json:"collect_database_size"`
74
- CollectUserConnections bool `yaml:"collect_user_connections,omitempty" json:"collect_user_connections"`
75
- CollectBlockedProcesses bool `yaml:"collect_blocked_processes,omitempty" json:"collect_blocked_processes"`
76
- CollectSQLErrors bool `yaml:"collect_sql_errors,omitempty" json:"collect_sql_errors"`
77
- CollectDatabaseStatus bool `yaml:"collect_database_status,omitempty" json:"collect_database_status"`
78
- CollectReplication bool `yaml:"collect_replication,omitempty" json:"collect_replication"`
55
}
56
57
type Collector struct {
src/go/plugin/go.d/collector/mssql/config_schema.json
-82
@@ -29,72 +29,6 @@
29
"type": "number",
30
"minimum": 0.5,
31
"default": 5
32
- },
33
- "collect_transactions": {
34
- "title": "Collect transactions",
35
- "description": "Collect transaction metrics from performance counters.",
36
- "type": "boolean",
37
- "default": true
38
- },
39
- "collect_waits": {
40
- "title": "Collect wait statistics",
41
- "description": "Collect wait statistics from sys.dm_os_wait_stats.",
42
- "type": "boolean",
43
- "default": true
44
- },
45
- "collect_locks": {
46
- "title": "Collect locks",
47
- "description": "Collect lock metrics from sys.dm_tran_locks.",
48
- "type": "boolean",
49
- "default": true
50
- },
51
- "collect_jobs": {
52
- "title": "Collect jobs",
53
- "description": "Collect SQL Agent job status.",
54
- "type": "boolean",
55
- "default": true
56
- },
57
- "collect_buffer_stats": {
58
- "title": "Collect buffer stats",
59
- "description": "Collect buffer manager statistics.",
60
- "type": "boolean",
61
- "default": true
62
- },
63
- "collect_database_size": {
64
- "title": "Collect database size",
65
- "description": "Collect data file sizes for each database.",
66
- "type": "boolean",
67
- "default": true
68
- },
69
- "collect_user_connections": {
70
- "title": "Collect user connections",
71
- "description": "Collect user connection counts.",
72
- "type": "boolean",
73
- "default": true
74
- },
75
- "collect_blocked_processes": {
76
- "title": "Collect blocked processes",
77
- "description": "Collect blocked process count.",
78
- "type": "boolean",
79
- "default": true
80
- },
81
- "collect_sql_errors": {
82
- "title": "Collect SQL errors",
83
- "description": "Collect SQL error statistics.",
84
- "type": "boolean",
85
- "default": true
86
- },
87
- "collect_database_status": {
88
- "title": "Collect database status",
89
- "description": "Collect database state (online/offline/etc.) and read-only status.",
90
- "type": "boolean",
91
- "default": true
92
- },
93
- "collect_replication": {
94
- "title": "Collect replication",
95
- "description": "Collect replication monitoring metrics (requires distribution database).",
96
- "type": "boolean",
97
- "default": true
32
}
33
},
34
"required": [
@@ -129,22 +63,6 @@
63
"timeout",
64
"vnode"
65
]
132
- },
133
- {
134
- "title": "Collection options",
135
- "fields": [
136
- "collect_transactions",
137
- "collect_waits",
138
- "collect_locks",
139
- "collect_jobs",
140
- "collect_buffer_stats",
141
- "collect_database_size",
142
- "collect_user_connections",
143
- "collect_blocked_processes",
144
- "collect_sql_errors",
145
- "collect_database_status",
146
- "collect_replication"
147
- ]
66
}
67
]
68
}
src/go/plugin/go.d/collector/mssql/metadata.yaml
-56
@@ -136,62 +136,6 @@ modules:
136
required: false
137
group: Target
138
139
- - name: collect_transactions
140
- description: Collect per-database transaction metrics.
141
- default_value: true
142
- required: false
143
- group: Collection Options
144
- - name: collect_waits
145
- description: Collect wait statistics from sys.dm_os_wait_stats.
146
- default_value: true
147
- required: false
148
- group: Collection Options
149
- - name: collect_locks
150
- description: Collect lock metrics from sys.dm_tran_locks.
151
- default_value: true
152
- required: false
153
- group: Collection Options
154
- - name: collect_jobs
155
- description: Collect SQL Agent job status.
156
- default_value: true
157
- required: false
158
- group: Collection Options
159
- - name: collect_buffer_stats
160
- description: Collect buffer manager and memory statistics.
161
- default_value: true
162
- required: false
163
- group: Collection Options
164
- - name: collect_database_size
165
- description: Collect data file sizes for each database.
166
- default_value: true
167
- required: false
168
- group: Collection Options
169
- - name: collect_user_connections
170
- description: Collect user connection counts.
171
- default_value: true
172
- required: false
173
- group: Collection Options
174
- - name: collect_blocked_processes
175
- description: Collect blocked process count.
176
- default_value: true
177
- required: false
178
- group: Collection Options
179
- - name: collect_sql_errors
180
- description: Collect SQL error statistics.
181
- default_value: true
182
- required: false
183
- group: Collection Options
184
- - name: collect_database_status
185
- description: Collect database state and read-only status.
186
- default_value: true
187
- required: false
188
- group: Collection Options
189
- - name: collect_replication
190
- description: Collect replication monitoring metrics (requires distribution database).
191
- default_value: true
192
- required: false
193
- group: Collection Options
194
-
139
- name: vnode
140
description: Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).
141
default_value: ""
src/go/plugin/go.d/collector/mssql/mssql_test.go
-11
@@ -28,17 +28,6 @@ func TestCollector_Configuration(t *testing.T) {
28
29
// Verify defaults
30
assert.Equal(t, "sqlserver://localhost:1433", c.DSN)
31
- assert.True(t, c.CollectTransactions)
32
- assert.True(t, c.CollectWaits)
33
- assert.True(t, c.CollectLocks)
34
- assert.True(t, c.CollectJobs)
35
- assert.True(t, c.CollectBufferStats)
36
- assert.True(t, c.CollectDatabaseSize)
37
- assert.True(t, c.CollectUserConnections)
38
- assert.True(t, c.CollectBlockedProcesses)
39
- assert.True(t, c.CollectSQLErrors)
40
- assert.True(t, c.CollectDatabaseStatus)
41
- assert.True(t, c.CollectReplication)
31
}
32
33
func TestCollector_Charts(t *testing.T) {
src/go/plugin/go.d/config/go.d/mssql.conf
-12
@@ -15,15 +15,3 @@
15
# dsn: "sqlserver://netdata_user:password@localhost:1433"
16
# timeout: 5
17
# vnode: ""
18
-# # Collection options (all default to true)
19
-# collect_transactions: true
20
-# collect_waits: true
21
-# collect_locks: true
22
-# collect_jobs: true
23
-# collect_buffer_stats: true
24
-# collect_database_size: true
25
-# collect_user_connections: true
26
-# collect_blocked_processes: true
27
-# collect_sql_errors: true
28
-# collect_database_status: true
29
-# collect_replication: true