internally use memory variables in kB
Costa Tsaousis (ktsaou) committed
Feb 17, 2018 at 17:19 UTC
87bacf1e44f6346a5f71a336d8168ed790ef0b03
1 file changed
+10
-12
src/apps_plugin.c
+10
-12
@@ -346,7 +346,6 @@ struct pid_stat {
346
};
347
348
size_t pagesize;
349
-size_t kb_per_page;
349
350
// log each problem once per process
351
// log flood protection flags (log_thrown)
@@ -909,7 +908,7 @@ void arl_callback_status_vmsize(const char *name, uint32_t hash, const char *val
908
struct arl_callback_ptr *aptr = (struct arl_callback_ptr *)dst;
909
if(unlikely(procfile_linewords(aptr->ff, aptr->line) < 3)) return;
910
912
- aptr->p->status_vmsize = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1)) / kb_per_page;
911
+ aptr->p->status_vmsize = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1));
912
}
913
914
void arl_callback_status_vmswap(const char *name, uint32_t hash, const char *value, void *dst) {
@@ -917,7 +916,7 @@ void arl_callback_status_vmswap(const char *name, uint32_t hash, const char *val
916
struct arl_callback_ptr *aptr = (struct arl_callback_ptr *)dst;
917
if(unlikely(procfile_linewords(aptr->ff, aptr->line) < 3)) return;
918
920
- aptr->p->status_vmswap = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1)) / kb_per_page;
919
+ aptr->p->status_vmswap = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1));
920
}
921
922
void arl_callback_status_vmrss(const char *name, uint32_t hash, const char *value, void *dst) {
@@ -925,7 +924,7 @@ void arl_callback_status_vmrss(const char *name, uint32_t hash, const char *valu
924
struct arl_callback_ptr *aptr = (struct arl_callback_ptr *)dst;
925
if(unlikely(procfile_linewords(aptr->ff, aptr->line) < 3)) return;
926
928
- aptr->p->status_vmrss = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1)) / kb_per_page;
927
+ aptr->p->status_vmrss = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1));
928
}
929
930
void arl_callback_status_rssfile(const char *name, uint32_t hash, const char *value, void *dst) {
@@ -933,7 +932,7 @@ void arl_callback_status_rssfile(const char *name, uint32_t hash, const char *va
932
struct arl_callback_ptr *aptr = (struct arl_callback_ptr *)dst;
933
if(unlikely(procfile_linewords(aptr->ff, aptr->line) < 3)) return;
934
936
- aptr->p->status_rssfile = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1)) / kb_per_page;
935
+ aptr->p->status_rssfile = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1));
936
}
937
938
void arl_callback_status_rssshmem(const char *name, uint32_t hash, const char *value, void *dst) {
@@ -941,7 +940,7 @@ void arl_callback_status_rssshmem(const char *name, uint32_t hash, const char *v
940
struct arl_callback_ptr *aptr = (struct arl_callback_ptr *)dst;
941
if(unlikely(procfile_linewords(aptr->ff, aptr->line) < 3)) return;
942
944
- aptr->p->status_rssshmem = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1)) / kb_per_page;
943
+ aptr->p->status_rssshmem = str2kernel_uint_t(procfile_lineword(aptr->ff, aptr->line, 1));
944
}
945
#endif // !__FreeBSD__
946
@@ -958,8 +957,8 @@ static inline int read_proc_pid_status(struct pid_stat *p, void *ptr) {
957
958
p->uid = proc_info->ki_uid;
959
p->gid = proc_info->ki_groups[0];
961
- p->status_vmsize = proc_info->ki_size / pagesize;
962
- p->status_vmrss = proc_info->ki_rssize;
960
+ p->status_vmsize = proc_info->ki_size / 1024; // in kB
961
+ p->status_vmrss = proc_info->ki_rssize * pagesize / 1024; // in kB
962
// FIXME: what about shared and swap memory on FreeBSD?
963
return 1;
964
#else
@@ -3164,13 +3163,13 @@ static void send_charts_updates_to_netdata(struct target *root, const char *type
3163
fprintf(stdout, "CHART %s.mem '' '%s Real Memory (w/o shared)' 'MB' mem %s.mem stacked 20003 %d\n", type, title, type, update_every);
3164
for (w = root; w ; w = w->next) {
3165
if(unlikely(w->exposed))
3167
- fprintf(stdout, "DIMENSION %s '' absolute %zu %ld\n", w->name, pagesize, 1024L*1024L);
3166
+ fprintf(stdout, "DIMENSION %s '' absolute %ld %ld\n", w->name, 1L, 1024L);
3167
}
3168
3169
fprintf(stdout, "CHART %s.vmem '' '%s Virtual Memory Size' 'MB' mem %s.vmem stacked 20005 %d\n", type, title, type, update_every);
3170
for (w = root; w ; w = w->next) {
3171
if(unlikely(w->exposed))
3173
- fprintf(stdout, "DIMENSION %s '' absolute %zu %ld\n", w->name, pagesize, 1024L*1024L);
3172
+ fprintf(stdout, "DIMENSION %s '' absolute %ld %ld\n", w->name, 1L, 1024L);
3173
}
3174
3175
fprintf(stdout, "CHART %s.threads '' '%s Threads' 'threads' processes %s.threads stacked 20006 %d\n", type, title, type, update_every);
@@ -3208,7 +3207,7 @@ static void send_charts_updates_to_netdata(struct target *root, const char *type
3207
fprintf(stdout, "CHART %s.swap '' '%s Swap Memory' 'MB' swap %s.swap stacked 20011 %d\n", type, title, type, update_every);
3208
for (w = root; w ; w = w->next) {
3209
if(unlikely(w->exposed))
3211
- fprintf(stdout, "DIMENSION %s '' absolute %zu %ld\n", w->name, pagesize, 1024L*1024L);
3210
+ fprintf(stdout, "DIMENSION %s '' absolute %ld %ld\n", w->name, 1L, 1024L);
3211
}
3212
3213
fprintf(stdout, "CHART %s.major_faults '' '%s Major Page Faults (swap read)' 'page faults/s' swap %s.major_faults stacked 20012 %d\n", type, title, type, update_every);
@@ -3503,7 +3502,6 @@ int main(int argc, char **argv) {
3502
// debug_flags = D_PROCFILE;
3503
3504
pagesize = (size_t)sysconf(_SC_PAGESIZE);
3506
- kb_per_page = pagesize / 1024;
3505
3506
// set the name for logging
3507
program_name = "apps.plugin";