diff options
106 files changed, 6989 insertions, 5163 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index c2dfcc02ef..02fc8304e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -220,7 +220,11 @@ pkg_check_modules(CURL libcurl) # ----------------------------------------------------------------------------- # Detect libcups -pkg_check_modules(CURL libcups) +pkg_check_modules(CUPS libcups) +IF(NOT CUPS_LIBRARIES) + pkg_check_modules(CUPS cups) +ENDIF() + # later we use: # ${CUPS_LIBRARIES} # ${CUPS_CFLAGS_OTHER} @@ -446,6 +450,8 @@ set(LIBNETDATA_FILES libnetdata/avl/avl.h libnetdata/buffer/buffer.c libnetdata/buffer/buffer.h + libnetdata/circular_buffer/circular_buffer.c + libnetdata/circular_buffer/circular_buffer.h libnetdata/clocks/clocks.c libnetdata/clocks/clocks.h libnetdata/completion/completion.c @@ -454,10 +460,15 @@ set(LIBNETDATA_FILES libnetdata/dictionary/dictionary.h libnetdata/eval/eval.c libnetdata/eval/eval.h + libnetdata/health/health.c + libnetdata/health/health.h libnetdata/inlined.h + libnetdata/json/json.c + libnetdata/json/json.h + libnetdata/json/jsmn.c + libnetdata/json/jsmn.h libnetdata/libnetdata.c libnetdata/libnetdata.h - libnetdata/required_dummies.h libnetdata/locks/locks.c libnetdata/locks/locks.h libnetdata/log/log.c @@ -470,6 +481,9 @@ set(LIBNETDATA_FILES libnetdata/popen/popen.h libnetdata/procfile/procfile.c libnetdata/procfile/procfile.h + libnetdata/required_dummies.h + libnetdata/socket/security.c + libnetdata/socket/security.h libnetdata/simple_pattern/simple_pattern.c libnetdata/simple_pattern/simple_pattern.h libnetdata/socket/socket.c @@ -478,23 +492,16 @@ set(LIBNETDATA_FILES libnetdata/statistical/statistical.h libnetdata/storage_number/storage_number.c libnetdata/storage_number/storage_number.h + libnetdata/string/string.c + libnetdata/string/string.h libnetdata/threads/threads.c libnetdata/threads/threads.h libnetdata/url/url.c libnetdata/url/url.h - libnetdata/json/json.c - libnetdata/json/json.h - libnetdata/json/jsmn.c - libnetdata/json/jsmn.h - libnetdata/health/health.c - libnetdata/health/health.h libnetdata/string/utf8.h - libnetdata/socket/security.c - libnetdata/socket/security.h libnetdata/worker_utilization/worker_utilization.c libnetdata/worker_utilization/worker_utilization.h - libnetdata/circular_buffer/circular_buffer.c - libnetdata/circular_buffer/circular_buffer.h) + ) IF(ENABLE_PLUGIN_EBPF) list(APPEND LIBNETDATA_FILES diff --git a/Makefile.am b/Makefile.am index e56a91f4fe..df535e1c77 100644 --- a/Makefile.am +++ b/Makefile.am @@ -173,6 +173,8 @@ LIBNETDATA_FILES = \ libnetdata/socket/security.h \ libnetdata/statistical/statistical.c \ libnetdata/statistical/statistical.h \ + libnetdata/string/string.c \ + libnetdata/string/string.h \ libnetdata/storage_number/storage_number.c \ libnetdata/storage_number/storage_number.h \ libnetdata/threads/threads.c \ diff --git a/collectors/cgroups.plugin/sys_fs_cgroup.c b/collectors/cgroups.plugin/sys_fs_cgroup.c index b214b3731b..74aedf2b52 100644 --- a/collectors/cgroups.plugin/sys_fs_cgroup.c +++ b/collectors/cgroups.plugin/sys_fs_cgroup.c @@ -857,16 +857,16 @@ struct cgroup { char *filename_cpu_cfs_quota; unsigned long long cpu_cfs_quota; - RRDSETVAR *chart_var_cpu_limit; + const RRDSETVAR_ACQUIRED *chart_var_cpu_limit; NETDATA_DOUBLE prev_cpu_usage; char *filename_memory_limit; unsigned long long memory_limit; - RRDSETVAR *chart_var_memory_limit; + const RRDSETVAR_ACQUIRED *chart_var_memory_limit; char *filename_memoryswap_limit; unsigned long long memoryswap_limit; - RRDSETVAR *chart_var_memoryswap_limit; + const RRDSETVAR_ACQUIRED *chart_var_memoryswap_limit; // services RRDDIM *rd_cpu; @@ -3708,10 +3708,10 @@ cpu_limits2_err: } } -static inline int update_memory_limits(char **filename, RRDSETVAR **chart_var, unsigned long long *value, const char *chart_var_name, struct cgroup *cg) { +static inline int update_memory_limits(char **filename, const RRDSETVAR_ACQUIRED **chart_var, unsigned long long *value, const char *chart_var_name, struct cgroup *cg) { if(*filename) { if(unlikely(!*chart_var)) { - *chart_var = rrdsetvar_custom_chart_variable_create(cg->st_mem_usage, chart_var_name); + *chart_var = rrdsetvar_custom_chart_variable_add_and_acquire(cg->st_mem_usage, chart_var_name); if(!*chart_var) { error("Cannot create cgroup %s chart variable '%s'. Will not update its limit anymore.", cg->id, chart_var_name); freez(*filename); @@ -3727,7 +3727,7 @@ static inline int update_memory_limits(char **filename, RRDSETVAR **chart_var, u *filename = NULL; } else { - rrdsetvar_custom_chart_variable_set(*chart_var, (NETDATA_DOUBLE)(*value / (1024 * 1024))); + rrdsetvar_custom_chart_variable_set(cg->st_mem_usage, *chart_var, (NETDATA_DOUBLE)(*value / (1024 * 1024))); return 1; } } else { @@ -3742,11 +3742,11 @@ static inline int update_memory_limits(char **filename, RRDSETVAR **chart_var, u char *s = "max\n\0"; if(strcmp(s, buffer) == 0){ *value = UINT64_MAX; - rrdsetvar_custom_chart_variable_set(*chart_var, (NETDATA_DOUBLE)(*value / (1024 * 1024))); + rrdsetvar_custom_chart_variable_set(cg->st_mem_usage, *chart_var, (NETDATA_DOUBLE)(*value / (1024 * 1024))); return 1; } *value = str2ull(buffer); - rrdsetvar_custom_chart_variable_set(*chart_var, (NETDATA_DOUBLE)(*value / (1024 * 1024))); + rrdsetvar_custom_chart_variable_set(cg->st_mem_usage, *chart_var, (NETDATA_DOUBLE)(*value / (1024 * 1024))); return 1; } } @@ -3843,7 +3843,7 @@ void update_cgroup_charts(int update_every) { } if(unlikely(!cg->chart_var_cpu_limit)) { - cg->chart_var_cpu_limit = rrdsetvar_custom_chart_variable_create(cg->st_cpu, "cpu_limit"); + cg->chart_var_cpu_limit = rrdsetvar_custom_chart_variable_add_and_acquire(cg->st_cpu, "cpu_limit"); if(!cg->chart_var_cpu_limit) { error("Cannot create cgroup %s chart variable 'cpu_limit'. Will not update its limit anymore.", cg->id); if(cg->filename_cpuset_cpus) freez(cg->filename_cpuset_cpus); @@ -3868,8 +3868,6 @@ void update_cgroup_charts(int update_every) { value = (NETDATA_DOUBLE)cg->cpuset_cpus * 100; } if(likely(value)) { - rrdsetvar_custom_chart_variable_set(cg->chart_var_cpu_limit, value); - if(unlikely(!cg->st_cpu_limit)) { snprintfz(title, CHART_TITLE_MAX, "CPU Usage within the limits"); @@ -3909,14 +3907,15 @@ void update_cgroup_charts(int update_every) { cg->prev_cpu_usage = cpu_usage; + rrdsetvar_custom_chart_variable_set(cg->st_cpu, cg->chart_var_cpu_limit, value); rrdset_done(cg->st_cpu_limit); } else { - rrdsetvar_custom_chart_variable_set(cg->chart_var_cpu_limit, NAN); |