@cryptotaxi247 / netdata-1 / commits / 37b1df005

tc plugin simplify config (#17835)

Ilya Mashchenko committed Jun 6, 2024 at 19:23 UTC 37b1df005ee9f32942a325268c77b28eae255b1a
1 file changed +27 -14
src/collectors/tc.plugin/plugin_tc.c
+27 -14
@@ -206,41 +206,54 @@ static inline void tc_device_classes_cleanup(struct tc_device *d) {
206 }
207
208 static inline void tc_device_commit(struct tc_device *d) {
209 - static int enable_new_interfaces = -1, enable_bytes = -1, enable_packets = -1, enable_dropped = -1, enable_tokens = -1, enable_ctokens = -1, enabled_all_classes_qdiscs = -1;
209 + static int enable_tokens = -1, enable_ctokens = -1, enabled_all_classes_qdiscs = -1;
210
211 - if(unlikely(enable_new_interfaces == -1)) {
212 - enable_new_interfaces = config_get_boolean_ondemand("plugin:tc", "enable new interfaces detected at runtime", CONFIG_BOOLEAN_YES);
213 - enable_bytes = config_get_boolean_ondemand("plugin:tc", "enable traffic charts for all interfaces", CONFIG_BOOLEAN_AUTO);
214 - enable_packets = config_get_boolean_ondemand("plugin:tc", "enable packets charts for all interfaces", CONFIG_BOOLEAN_AUTO);
215 - enable_dropped = config_get_boolean_ondemand("plugin:tc", "enable dropped charts for all interfaces", CONFIG_BOOLEAN_AUTO);
211 + if(unlikely(enabled_all_classes_qdiscs == -1)) {
212 enable_tokens = config_get_boolean_ondemand("plugin:tc", "enable tokens charts for all interfaces", CONFIG_BOOLEAN_NO);
213 enable_ctokens = config_get_boolean_ondemand("plugin:tc", "enable ctokens charts for all interfaces", CONFIG_BOOLEAN_NO);
214 enabled_all_classes_qdiscs = config_get_boolean_ondemand("plugin:tc", "enable show all classes and qdiscs for all interfaces", CONFIG_BOOLEAN_NO);
215 }
216
217 if(unlikely(d->enabled == (char)-1)) {
218 + d->enabled = CONFIG_BOOLEAN_YES;
219 + d->enabled_bytes = CONFIG_BOOLEAN_YES;
220 + d->enabled_packets = CONFIG_BOOLEAN_YES;
221 + d->enabled_dropped = CONFIG_BOOLEAN_YES;
222 + d->enabled_tokens = enable_tokens;
223 + d->enabled_ctokens = enable_ctokens;
224 + d->enabled_all_classes_qdiscs = enabled_all_classes_qdiscs;
225 +
226 +
227 char var_name[CONFIG_MAX_NAME + 1];
223 - snprintfz(var_name, CONFIG_MAX_NAME, "qos for %s", string2str(d->id));
228
225 - d->enabled = (char)config_get_boolean_ondemand("plugin:tc", var_name, enable_new_interfaces);
229 + snprintfz(var_name, CONFIG_MAX_NAME, "qos for %s", string2str(d->id));
230 + if (config_exists("plugin:tc", var_name))
231 + d->enabled = (char)config_get_boolean_ondemand("plugin:tc", var_name, d->enabled);
232
233 snprintfz(var_name, CONFIG_MAX_NAME, "traffic chart for %s", string2str(d->id));
228 - d->enabled_bytes = (char)config_get_boolean_ondemand("plugin:tc", var_name, enable_bytes);
234 + if (config_exists("plugin:tc", var_name))
235 + d->enabled_bytes = (char)config_get_boolean_ondemand("plugin:tc", var_name, d->enabled_bytes);
236
237 snprintfz(var_name, CONFIG_MAX_NAME, "packets chart for %s", string2str(d->id));
231 - d->enabled_packets = (char)config_get_boolean_ondemand("plugin:tc", var_name, enable_packets);
238 + if (config_exists("plugin:tc", var_name))
239 + d->enabled_packets = (char)config_get_boolean_ondemand("plugin:tc", var_name, d->enabled_packets);
240
241 snprintfz(var_name, CONFIG_MAX_NAME, "dropped packets chart for %s", string2str(d->id));
234 - d->enabled_dropped = (char)config_get_boolean_ondemand("plugin:tc", var_name, enable_dropped);
242 + if (config_exists("plugin:tc", var_name))
243 + d->enabled_dropped = (char)config_get_boolean_ondemand("plugin:tc", var_name, d->enabled_dropped);
244
245 snprintfz(var_name, CONFIG_MAX_NAME, "tokens chart for %s", string2str(d->id));
237 - d->enabled_tokens = (char)config_get_boolean_ondemand("plugin:tc", var_name, enable_tokens);
246 + if (config_exists("plugin:tc", var_name))
247 + d->enabled_tokens = (char)config_get_boolean_ondemand("plugin:tc", var_name, d->enabled_tokens);
248
249 snprintfz(var_name, CONFIG_MAX_NAME, "ctokens chart for %s", string2str(d->id));
240 - d->enabled_ctokens = (char)config_get_boolean_ondemand("plugin:tc", var_name, enable_ctokens);
250 + if (config_exists("plugin:tc", var_name))
251 + d->enabled_ctokens = (char)config_get_boolean_ondemand("plugin:tc", var_name, d->enabled_ctokens);
252
253 snprintfz(var_name, CONFIG_MAX_NAME, "show all classes for %s", string2str(d->id));
243 - d->enabled_all_classes_qdiscs = (char)config_get_boolean_ondemand("plugin:tc", var_name, enabled_all_classes_qdiscs);
254 + if (config_exists("plugin:tc", var_name))
255 + d->enabled_all_classes_qdiscs =
256 + (char)config_get_boolean_ondemand("plugin:tc", var_name, d->enabled_all_classes_qdiscs);
257 }
258
259 // we only need to add leaf classes