@cryptotaxi247 / netdata-1 / commits / 691224808

chore(go.d): set default update_every to 10 for all functions (#21616)

Ilya Mashchenko committed Jan 22, 2026 at 21:53 UTC 6912248086281cf18fc5c826b7669951721bf1f7
16 files changed +201 -155
src/go/plugin/go.d/agent/jobmgr/funcshandler.go
+6
@@ -133,8 +133,14 @@ func (m *Manager) handleMethodFuncInfo(moduleName, methodID string, fn functions
133 help = fmt.Sprintf("%s %s data function", moduleName, methodID)
134 }
135
136 + updateEvery := 1
137 + if methodCfg.UpdateEvery > 1 {
138 + updateEvery = methodCfg.UpdateEvery
139 + }
140 +
141 resp := map[string]any{
142 "v": 3,
143 + "update_every": updateEvery,
144 "status": 200,
145 "type": "table",
146 "has_history": false,
src/go/plugin/go.d/agent/module/registry.go
+1
@@ -27,6 +27,7 @@ type Defaults struct {
27 type MethodConfig struct {
28 ID string // Method ID (e.g., "top-queries")
29 Name string // Display name (e.g., "Top Queries")
30 + UpdateEvery int // Default UI refresh interval
31 Help string // Description for UI
32 RequiredParams []funcapi.ParamConfig // Required parameters for this method (including __sort if used)
33 }
src/go/plugin/go.d/collector/clickhouse/functions.go
+16 -13
@@ -97,19 +97,22 @@ type clickhouseJSONResponse struct {
97
98 func clickhouseMethods() []module.MethodConfig {
99 sortOptions := buildClickHouseSortOptions(clickhouseAllColumns)
100 - return []module.MethodConfig{{
101 - ID: "top-queries",
102 - Name: "Top Queries",
103 - Help: "Top SQL queries from ClickHouse system.query_log",
104 - RequiredParams: []funcapi.ParamConfig{{
105 - ID: paramSort,
106 - Name: "Filter By",
107 - Help: "Select the primary sort column",
108 - Selection: funcapi.ParamSelect,
109 - Options: sortOptions,
110 - UniqueView: true,
111 - }},
112 - }}
100 + return []module.MethodConfig{
101 + {
102 + UpdateEvery: 10,
103 + ID: "top-queries",
104 + Name: "Top Queries",
105 + Help: "Top SQL queries from ClickHouse system.query_log",
106 + RequiredParams: []funcapi.ParamConfig{{
107 + ID: paramSort,
108 + Name: "Filter By",
109 + Help: "Select the primary sort column",
110 + Selection: funcapi.ParamSelect,
111 + Options: sortOptions,
112 + UniqueView: true,
113 + }},
114 + },
115 + }
116 }
117
118 func clickhouseMethodParams(ctx context.Context, job *module.Job, method string) ([]funcapi.ParamConfig, error) {
src/go/plugin/go.d/collector/cockroachdb/functions.go
+8 -6
@@ -118,17 +118,19 @@ var crdbRunningColumns = []crdbColumnMeta{
118 func cockroachMethods() []module.MethodConfig {
119 return []module.MethodConfig{
120 {
121 - ID: "top-queries",
122 - Name: "Top Queries",
123 - Help: "Top SQL statements from crdb_internal.cluster_statement_statistics. WARNING: Query text may contain unmasked literals (potential PII).",
121 + UpdateEvery: 10,
122 + ID: "top-queries",
123 + Name: "Top Queries",
124 + Help: "Top SQL statements from crdb_internal.cluster_statement_statistics. WARNING: Query text may contain unmasked literals (potential PII).",
125 RequiredParams: []funcapi.ParamConfig{
126 buildCrdbSortParam(crdbTopColumns),
127 },
128 },
129 {
129 - ID: "running-queries",
130 - Name: "Running Queries",
131 - Help: "Currently running SQL statements from SHOW CLUSTER STATEMENTS. WARNING: Query text may contain unmasked literals (potential PII).",
130 + UpdateEvery: 10,
131 + ID: "running-queries",
132 + Name: "Running Queries",
133 + Help: "Currently running SQL statements from SHOW CLUSTER STATEMENTS. WARNING: Query text may contain unmasked literals (potential PII).",
134 RequiredParams: []funcapi.ParamConfig{
135 buildCrdbSortParam(crdbRunningColumns),
136 },
src/go/plugin/go.d/collector/couchbase/functions.go
+16 -13
@@ -130,19 +130,22 @@ type cbRow struct {
130
131 func couchbaseMethods() []module.MethodConfig {
132 sortOptions := buildCouchbaseSortOptions(couchbaseAllColumns)
133 - return []module.MethodConfig{{
134 - ID: "top-queries",
135 - Name: "Top Queries",
136 - Help: "Top N1QL requests from system:completed_requests",
137 - RequiredParams: []funcapi.ParamConfig{{
138 - ID: paramSort,
139 - Name: "Filter By",
140 - Help: "Select the primary sort column",
141 - Selection: funcapi.ParamSelect,
142 - Options: sortOptions,
143 - UniqueView: true,
144 - }},
145 - }}
133 + return []module.MethodConfig{
134 + {
135 + UpdateEvery: 10,
136 + ID: "top-queries",
137 + Name: "Top Queries",
138 + Help: "Top N1QL requests from system:completed_requests",
139 + RequiredParams: []funcapi.ParamConfig{{
140 + ID: paramSort,
141 + Name: "Filter By",
142 + Help: "Select the primary sort column",
143 + Selection: funcapi.ParamSelect,
144 + Options: sortOptions,
145 + UniqueView: true,
146 + }},
147 + },
148 + }
149 }
150
151 func couchbaseMethodParams(_ context.Context, _ *module.Job, method string) ([]funcapi.ParamConfig, error) {
src/go/plugin/go.d/collector/elasticsearch/functions.go
+17 -13
@@ -117,19 +117,23 @@ type esTaskRow struct {
117
118 func elasticsearchMethods() []module.MethodConfig {
119 sortOptions := buildElasticsearchSortOptions(esAllColumns)
120 - return []module.MethodConfig{{
121 - ID: "top-queries",
122 - Name: "Top Queries",
123 - Help: "Running queries from Elasticsearch Tasks API",
124 - RequiredParams: []funcapi.ParamConfig{{
125 - ID: paramSort,
126 - Name: "Filter By",
127 - Help: "Select the primary sort column",
128 - Selection: funcapi.ParamSelect,
129 - Options: sortOptions,
130 - UniqueView: true,
131 - }},
132 - }}
120 + return []module.MethodConfig{
121 + {
122 + UpdateEvery: 10,
123 + ID: "top-queries",
124 + Name: "Top Queries",
125 + Help: "Running queries from Elasticsearch Tasks API",
126 + RequiredParams: []funcapi.ParamConfig{
127 + {
128 + ID: paramSort,
129 + Name: "Filter By",
130 + Help: "Select the primary sort column",
131 + Selection: funcapi.ParamSelect,
132 + Options: sortOptions,
133 + UniqueView: true,
134 + }},
135 + },
136 + }
137 }
138
139 func elasticsearchMethodParams(_ context.Context, _ *module.Job, method string) ([]funcapi.ParamConfig, error) {
src/go/plugin/go.d/collector/mongodb/functions.go
+4 -3
@@ -275,9 +275,10 @@ func mongoMethods() []module.MethodConfig {
275 }
276
277 return []module.MethodConfig{{
278 - ID: "top-queries",
279 - Name: "Top Queries",
280 - Help: topQueriesHelpText,
278 + UpdateEvery: 10,
279 + ID: "top-queries",
280 + Name: "Top Queries",
281 + Help: topQueriesHelpText,
282 RequiredParams: []funcapi.ParamConfig{
283 {
284 ID: paramSort,
src/go/plugin/go.d/collector/mssql/functions.go
+16 -13
@@ -206,21 +206,24 @@ func mssqlMethods() []module.MethodConfig {
206 }
207 }
208
209 - return []module.MethodConfig{{
210 - ID: "top-queries",
211 - Name: "Top Queries",
212 - Help: "Top SQL queries from Query Store",
213 - RequiredParams: []funcapi.ParamConfig{
214 - {
215 - ID: paramSort,
216 - Name: "Filter By",
217 - Help: "Select the primary sort column",
218 - Selection: funcapi.ParamSelect,
219 - Options: sortOptions,
220 - UniqueView: true,
209 + return []module.MethodConfig{
210 + {
211 + UpdateEvery: 10,
212 + ID: "top-queries",
213 + Name: "Top Queries",
214 + Help: "Top SQL queries from Query Store",
215 + RequiredParams: []funcapi.ParamConfig{
216 + {
217 + ID: paramSort,
218 + Name: "Filter By",
219 + Help: "Select the primary sort column",
220 + Selection: funcapi.ParamSelect,
221 + Options: sortOptions,
222 + UniqueView: true,
223 + },
224 },
225 },
223 - }}
226 + }
227 }
228
229 func mssqlMethodParams(ctx context.Context, job *module.Job, method string) ([]funcapi.ParamConfig, error) {
src/go/plugin/go.d/collector/mysql/functions.go
+16 -13
@@ -185,21 +185,24 @@ func mysqlMethods() []module.MethodConfig {
185 }
186 }
187
188 - return []module.MethodConfig{{
189 - ID: "top-queries",
190 - Name: "Top Queries",
191 - Help: "Top SQL queries from performance_schema",
192 - RequiredParams: []funcapi.ParamConfig{
193 - {
194 - ID: paramSort,
195 - Name: "Filter By",
196 - Help: "Select the primary sort column",
197 - Selection: funcapi.ParamSelect,
198 - Options: sortOptions,
199 - UniqueView: true,
188 + return []module.MethodConfig{
189 + {
190 + UpdateEvery: 10,
191 + ID: "top-queries",
192 + Name: "Top Queries",
193 + Help: "Top SQL queries from performance_schema",
194 + RequiredParams: []funcapi.ParamConfig{
195 + {
196 + ID: paramSort,
197 + Name: "Filter By",
198 + Help: "Select the primary sort column",
199 + Selection: funcapi.ParamSelect,
200 + Options: sortOptions,
201 + UniqueView: true,
202 + },
203 },
204 },
202 - }}
205 + }
206 }
207
208 func mysqlMethodParams(ctx context.Context, job *module.Job, method string) ([]funcapi.ParamConfig, error) {
src/go/plugin/go.d/collector/oracledb/functions.go
+8 -6
@@ -115,17 +115,19 @@ var oracleRunningColumns = []oracleColumnMeta{
115 func oracleMethods() []module.MethodConfig {
116 return []module.MethodConfig{
117 {
118 - ID: "top-queries",
119 - Name: "Top Queries",
120 - Help: "Top SQL statements from V$SQLSTATS. WARNING: Query text may contain unmasked literals (potential PII).",
118 + UpdateEvery: 10,
119 + ID: "top-queries",
120 + Name: "Top Queries",
121 + Help: "Top SQL statements from V$SQLSTATS. WARNING: Query text may contain unmasked literals (potential PII).",
122 RequiredParams: []funcapi.ParamConfig{
123 buildOracleSortParam(oracleTopColumns),
124 },
125 },
126 {
126 - ID: "running-queries",
127 - Name: "Running Queries",
128 - Help: "Currently running SQL statements from V$SESSION. WARNING: Query text may contain unmasked literals (potential PII).",
127 + UpdateEvery: 10,
128 + ID: "running-queries",
129 + Name: "Running Queries",
130 + Help: "Currently running SQL statements from V$SESSION. WARNING: Query text may contain unmasked literals (potential PII).",
131 RequiredParams: []funcapi.ParamConfig{
132 buildOracleSortParam(oracleRunningColumns),
133 },
src/go/plugin/go.d/collector/postgres/functions.go
+16 -13
@@ -212,21 +212,24 @@ func pgMethods() []module.MethodConfig {
212 }
213 }
214
215 - return []module.MethodConfig{{
216 - ID: "top-queries",
217 - Name: "Top Queries",
218 - Help: "Top SQL queries from pg_stat_statements",
219 - RequiredParams: []funcapi.ParamConfig{
220 - {
221 - ID: paramSort,
222 - Name: "Filter By",
223 - Help: "Select the primary sort column",
224 - Selection: funcapi.ParamSelect,
225 - Options: sortOptions,
226 - UniqueView: true,
215 + return []module.MethodConfig{
216 + {
217 + UpdateEvery: 10,
218 + ID: "top-queries",
219 + Name: "Top Queries",
220 + Help: "Top SQL queries from pg_stat_statements",
221 + RequiredParams: []funcapi.ParamConfig{
222 + {
223 + ID: paramSort,
224 + Name: "Filter By",
225 + Help: "Select the primary sort column",
226 + Selection: funcapi.ParamSelect,
227 + Options: sortOptions,
228 + UniqueView: true,
229 + },
230 },
231 },
229 - }}
232 + }
233 }
234
235 func pgMethodParams(ctx context.Context, job *module.Job, method string) ([]funcapi.ParamConfig, error) {
src/go/plugin/go.d/collector/proxysql/functions.go
+16 -13
@@ -91,19 +91,22 @@ var proxysqlAllColumns = []proxysqlColumnMeta{
91
92 func proxysqlMethods() []module.MethodConfig {
93 sortOptions := buildProxySQLSortOptions(proxysqlAllColumns)
94 - return []module.MethodConfig{{
95 - ID: "top-queries",
96 - Name: "Top Queries",
97 - Help: "Top SQL queries from ProxySQL query digest stats",
98 - RequiredParams: []funcapi.ParamConfig{{
99 - ID: paramSort,
100 - Name: "Filter By",
101 - Help: "Select the primary sort column",
102 - Selection: funcapi.ParamSelect,
103 - Options: sortOptions,
104 - UniqueView: true,
105 - }},
106 - }}
94 + return []module.MethodConfig{
95 + {
96 + UpdateEvery: 10,
97 + ID: "top-queries",
98 + Name: "Top Queries",
99 + Help: "Top SQL queries from ProxySQL query digest stats",
100 + RequiredParams: []funcapi.ParamConfig{{
101 + ID: paramSort,
102 + Name: "Filter By",
103 + Help: "Select the primary sort column",
104 + Selection: funcapi.ParamSelect,
105 + Options: sortOptions,
106 + UniqueView: true,
107 + }},
108 + },
109 + }
110 }
111
112 func proxysqlMethodParams(ctx context.Context, job *module.Job, method string) ([]funcapi.ParamConfig, error) {
src/go/plugin/go.d/collector/redis/functions.go
+16 -13
@@ -82,19 +82,22 @@ var redisAllColumns = []redisColumnMeta{
82
83 func redisMethods() []module.MethodConfig {
84 sortOptions := buildRedisSortOptions(redisAllColumns)
85 - return []module.MethodConfig{{
86 - ID: "top-queries",
87 - Name: "Top Queries",
88 - Help: "Slow commands from Redis SLOWLOG. WARNING: Command arguments may contain unmasked literals (potential PII).",
89 - RequiredParams: []funcapi.ParamConfig{{
90 - ID: paramSort,
91 - Name: "Filter By",
92 - Help: "Select the primary sort column",
93 - Selection: funcapi.ParamSelect,
94 - Options: sortOptions,
95 - UniqueView: true,
96 - }},
97 - }}
85 + return []module.MethodConfig{
86 + {
87 + UpdateEvery: 10,
88 + ID: "top-queries",
89 + Name: "Top Queries",
90 + Help: "Slow commands from Redis SLOWLOG. WARNING: Command arguments may contain unmasked literals (potential PII).",
91 + RequiredParams: []funcapi.ParamConfig{{
92 + ID: paramSort,
93 + Name: "Filter By",
94 + Help: "Select the primary sort column",
95 + Selection: funcapi.ParamSelect,
96 + Options: sortOptions,
97 + UniqueView: true,
98 + }},
99 + },
100 + }
101 }
102
103 func redisMethodParams(_ context.Context, _ *module.Job, method string) ([]funcapi.ParamConfig, error) {
src/go/plugin/go.d/collector/rethinkdb/functions.go
+17 -13
@@ -75,19 +75,23 @@ var rethinkRunningColumns = []rethinkColumnMeta{
75
76 func rethinkdbMethods() []module.MethodConfig {
77 sortOptions := buildRethinkSortOptions(rethinkRunningColumns)
78 - return []module.MethodConfig{{
79 - ID: "running-queries",
80 - Name: "Running Queries",
81 - Help: "Currently running queries from rethinkdb.jobs. WARNING: Query text may contain unmasked literals (potential PII).",
82 - RequiredParams: []funcapi.ParamConfig{{
83 - ID: paramSort,
84 - Name: "Filter By",
85 - Help: "Select the primary sort column",
86 - Selection: funcapi.ParamSelect,
87 - Options: sortOptions,
88 - UniqueView: true,
89 - }},
90 - }}
78 + return []module.MethodConfig{
79 + {
80 + UpdateEvery: 10,
81 + ID: "running-queries",
82 + Name: "Running Queries",
83 + Help: "Currently running queries from rethinkdb.jobs. WARNING: Query text may contain unmasked literals (potential PII).",
84 + RequiredParams: []funcapi.ParamConfig{
85 + {
86 + ID: paramSort,
87 + Name: "Filter By",
88 + Help: "Select the primary sort column",
89 + Selection: funcapi.ParamSelect,
90 + Options: sortOptions,
91 + UniqueView: true,
92 + }},
93 + },
94 + }
95 }
96
97 func rethinkdbMethodParams(_ context.Context, _ *module.Job, method string) ([]funcapi.ParamConfig, error) {
src/go/plugin/go.d/collector/snmp/func_interfaces.go
+20 -17
@@ -23,23 +23,26 @@ func newFuncInterfaces(cache *ifaceCache) *funcInterfaces {
23
24 // methods returns the method configurations for this function.
25 func (f *funcInterfaces) methods() []module.MethodConfig {
26 - return []module.MethodConfig{{
27 - ID: "interfaces",
28 - Name: "Network Interfaces",
29 - Help: "Network interface traffic and status metrics",
30 - RequiredParams: []funcapi.ParamConfig{{
31 - ID: funcIfacesParamTypeGroup,
32 - Name: "Type Group",
33 - Help: "Filter by interface type group",
34 - Selection: funcapi.ParamSelect,
35 - Options: []funcapi.ParamOption{
36 - {ID: "ethernet", Name: "Ethernet", Default: true},
37 - {ID: "aggregation", Name: "Aggregation"},
38 - {ID: "virtual", Name: "Virtual"},
39 - {ID: "other", Name: "Other"},
40 - },
41 - }},
42 - }}
26 + return []module.MethodConfig{
27 + {
28 + UpdateEvery: 10,
29 + ID: "interfaces",
30 + Name: "Network Interfaces",
31 + Help: "Network interface traffic and status metrics",
32 + RequiredParams: []funcapi.ParamConfig{{
33 + ID: funcIfacesParamTypeGroup,
34 + Name: "Type Group",
35 + Help: "Filter by interface type group",
36 + Selection: funcapi.ParamSelect,
37 + Options: []funcapi.ParamOption{
38 + {ID: "ethernet", Name: "Ethernet", Default: true},
39 + {ID: "aggregation", Name: "Aggregation"},
40 + {ID: "virtual", Name: "Virtual"},
41 + {ID: "other", Name: "Other"},
42 + },
43 + }},
44 + },
45 + }
46 }
47
48 // methodParams returns params for the given method.
src/go/plugin/go.d/collector/yugabytedb/functions.go
+8 -6
@@ -109,17 +109,19 @@ var ybRunningColumns = []ybColumnMeta{
109 func yugabyteMethods() []module.MethodConfig {
110 return []module.MethodConfig{
111 {
112 - ID: "top-queries",
113 - Name: "Top Queries",
114 - Help: "Top SQL queries from pg_stat_statements. WARNING: Query text may contain unmasked literals (potential PII).",
112 + UpdateEvery: 10,
113 + ID: "top-queries",
114 + Name: "Top Queries",
115 + Help: "Top SQL queries from pg_stat_statements. WARNING: Query text may contain unmasked literals (potential PII).",
116 RequiredParams: []funcapi.ParamConfig{
117 buildYBSortParam(ybTopColumns),
118 },
119 },
120 {
120 - ID: "running-queries",
121 - Name: "Running Queries",
122 - Help: "Currently running SQL statements from pg_stat_activity. WARNING: Query text may contain unmasked literals (potential PII).",
121 + UpdateEvery: 10,
122 + ID: "running-queries",
123 + Name: "Running Queries",
124 + Help: "Currently running SQL statements from pg_stat_activity. WARNING: Query text may contain unmasked literals (potential PII).",
125 RequiredParams: []funcapi.ParamConfig{
126 buildYBSortParam(ybRunningColumns),
127 },