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
},