@cryptotaxi247 / netdata-1 / commits / 3a153a9a4

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