@cryptotaxi247 / netdata-1 / commits / 668ed2cfc

properly show not collected systemd services

Costa Tsaousis (ktsaou) committed Jan 18, 2017 at 03:03 UTC 668ed2cfc7c5825bbd9b5b69b69c7fb694eb191d
3 files changed +23 -29
src/inlined.h
+5 -1
@@ -59,10 +59,14 @@ static inline int read_single_number_file(const char *filename, unsigned long lo
59 char buffer[1024 + 1];
60
61 int fd = open(filename, O_RDONLY, 0666);
62 - if(unlikely(fd == -1)) return 1;
62 + if(unlikely(fd == -1)) {
63 + *result = 0;
64 + return 1;
65 + }
66
67 ssize_t r = read(fd, buffer, 1024);
68 if(unlikely(r == -1)) {
69 + *result = 0;
70 close(fd);
71 return 2;
72 }
src/main.c
+1 -1
@@ -251,7 +251,7 @@ void help(int exitcode) {
251 if(max_len_arg > 30) max_len_arg = 30;
252 if(max_len_arg < 20) max_len_arg = 20;
253
254 - fprintf(stream, "\n"
254 + fprintf(stream, "%s", "\n"
255 " ^\n"
256 " |.-. .-. .-. .-. . netdata \n"
257 " | '-' '-' '-' '-' real-time performance monitoring, done right! \n"
src/sys_fs_cgroup.c
+17 -27
@@ -313,7 +313,8 @@ struct memory {
313 char *filename_msw_usage_in_bytes;
314 char *filename_failcnt;
315
316 - int detailed_has_dirty_swap;
316 + int detailed_has_dirty;
317 + int detailed_has_swap;
318
319 // detailed metrics
320 unsigned long long cache;
@@ -707,13 +708,13 @@ static inline void cgroup_read_memory(struct memory *mem) {
708
709 if(unlikely(hash == dirty_hash && !strcmp(s, "dirty"))) {
710 mem->dirty = strtoull(procfile_lineword(ff, i, 1), NULL, 10);
710 - mem->detailed_has_dirty_swap = 1;
711 + mem->detailed_has_dirty = 1;
712 continue;
713 }
714
715 if(unlikely(hash == swap_hash && !strcmp(s, "swap"))) {
716 mem->swap = strtoull(procfile_lineword(ff, i, 1), NULL, 10);
716 - mem->detailed_has_dirty_swap = 1;
717 + mem->detailed_has_swap = 1;
718 continue;
719 }
720
@@ -866,26 +867,16 @@ memory_next:
867
868 // read usage_in_bytes
869 if(likely(mem->filename_usage_in_bytes)) {
869 - if(likely(!read_single_number_file(mem->filename_usage_in_bytes, &mem->usage_in_bytes))) {
870 - mem->updated_usage_in_bytes = 1;
871 -
872 - if(unlikely(mem->enabled_usage_in_bytes == CONFIG_ONDEMAND_ONDEMAND && mem->usage_in_bytes))
873 - mem->enabled_usage_in_bytes = CONFIG_ONDEMAND_YES;
874 - }
875 - else
876 - mem->updated_usage_in_bytes = 0;
870 + mem->updated_usage_in_bytes = !read_single_number_file(mem->filename_usage_in_bytes, &mem->usage_in_bytes);
871 + if(unlikely(mem->updated_usage_in_bytes && mem->enabled_usage_in_bytes == CONFIG_ONDEMAND_ONDEMAND && mem->usage_in_bytes))
872 + mem->enabled_usage_in_bytes = CONFIG_ONDEMAND_YES;
873 }
874
875 // read msw_usage_in_bytes
876 if(likely(mem->filename_msw_usage_in_bytes)) {
881 - if(likely(!read_single_number_file(mem->filename_msw_usage_in_bytes, &mem->msw_usage_in_bytes))) {
882 - mem->updated_msw_usage_in_bytes = 1;
883 -
884 - if(unlikely(mem->enabled_msw_usage_in_bytes == CONFIG_ONDEMAND_ONDEMAND && mem->msw_usage_in_bytes))
885 - mem->enabled_msw_usage_in_bytes = CONFIG_ONDEMAND_YES;
886 - }
887 - else
888 - mem->updated_msw_usage_in_bytes = 0;
877 + mem->updated_msw_usage_in_bytes = !read_single_number_file(mem->filename_msw_usage_in_bytes, &mem->msw_usage_in_bytes);
878 + if(unlikely(mem->updated_msw_usage_in_bytes && mem->enabled_msw_usage_in_bytes == CONFIG_ONDEMAND_ONDEMAND && mem->msw_usage_in_bytes))
879 + mem->enabled_msw_usage_in_bytes = CONFIG_ONDEMAND_YES;
880 }
881
882 // read failcnt
@@ -894,10 +885,9 @@ memory_next:
885 mem->updated_failcnt = 0;
886 mem->delay_counter_failcnt--;
887 }
897 - else if(likely(!read_single_number_file(mem->filename_failcnt, &mem->failcnt))) {
898 - mem->updated_failcnt = 1;
899 -
900 - if(unlikely(mem->enabled_failcnt == CONFIG_ONDEMAND_ONDEMAND)) {
888 + else {
889 + mem->updated_failcnt = !read_single_number_file(mem->filename_failcnt, &mem->failcnt);
890 + if(unlikely(mem->updated_failcnt && mem->enabled_failcnt == CONFIG_ONDEMAND_ONDEMAND)) {
891 if(unlikely(!mem->failcnt))
892 mem->delay_counter_failcnt = cgroup_recheck_zero_mem_failcnt_every_iterations;
893 else
@@ -2064,7 +2054,7 @@ void update_cgroup_charts(int update_every) {
2054
2055 rrddim_add(cg->st_mem, "cache", NULL, 1, 1024 * 1024, RRDDIM_ABSOLUTE);
2056 rrddim_add(cg->st_mem, "rss", NULL, 1, 1024 * 1024, RRDDIM_ABSOLUTE);
2067 - if(cg->memory.detailed_has_dirty_swap)
2057 + if(cg->memory.detailed_has_swap)
2058 rrddim_add(cg->st_mem, "swap", NULL, 1, 1024 * 1024, RRDDIM_ABSOLUTE);
2059 rrddim_add(cg->st_mem, "rss_huge", NULL, 1, 1024 * 1024, RRDDIM_ABSOLUTE);
2060 rrddim_add(cg->st_mem, "mapped_file", NULL, 1, 1024 * 1024, RRDDIM_ABSOLUTE);
@@ -2074,7 +2064,7 @@ void update_cgroup_charts(int update_every) {
2064
2065 rrddim_set(cg->st_mem, "cache", cg->memory.cache);
2066 rrddim_set(cg->st_mem, "rss", cg->memory.rss);
2077 - if(cg->memory.detailed_has_dirty_swap)
2067 + if(cg->memory.detailed_has_swap)
2068 rrddim_set(cg->st_mem, "swap", cg->memory.swap);
2069 rrddim_set(cg->st_mem, "rss_huge", cg->memory.rss_huge);
2070 rrddim_set(cg->st_mem, "mapped_file", cg->memory.mapped_file);
@@ -2087,14 +2077,14 @@ void update_cgroup_charts(int update_every) {
2077 cg->st_writeback = rrdset_create(type, "writeback", NULL, "mem", "cgroup.writeback", title, "MB", CHART_PRIORITY_CONTAINERS + 300, update_every, RRDSET_TYPE_AREA);
2078 }
2079
2090 - if(cg->memory.detailed_has_dirty_swap)
2080 + if(cg->memory.detailed_has_dirty)
2081 rrddim_add(cg->st_writeback, "dirty", NULL, 1, 1024 * 1024, RRDDIM_ABSOLUTE);
2082 rrddim_add(cg->st_writeback, "writeback", NULL, 1, 1024 * 1024, RRDDIM_ABSOLUTE);
2083 }
2084 else
2085 rrdset_next(cg->st_writeback);
2086
2097 - if(cg->memory.detailed_has_dirty_swap)
2087 + if(cg->memory.detailed_has_dirty)
2088 rrddim_set(cg->st_writeback, "dirty", cg->memory.dirty);
2089 rrddim_set(cg->st_writeback, "writeback", cg->memory.writeback);
2090 rrdset_done(cg->st_writeback);