code cleanup
box@home root committed
Mar 30, 2015 at 02:10 UTC
5846ccf08ee46425c4406a8b34c4e0f44cf83148
2 files changed
+64
-53
src/plugins.d/apps_plugin.c
+62
-51
@@ -619,60 +619,71 @@ int read_proc_pid_stat(struct pid_stat *p) {
619
620
file_counter++;
621
622
- int len = strlen(procfile_lineword(ff, 0, 1));
623
- if(len < 2) {
624
- error("apps.plugin: File %s states too small command name '%s'. Ignoring file.", filename, procfile_lineword(ff, 0, 1));
625
- procfile_close(ff);
626
- return 1;
627
- }
622
+ p->comm[0] = '\0';
623
+ p->comm[MAX_COMPARE_NAME] = '\0';
624
+ size_t blen = 0;
625
+
626
+ char *s = procfile_lineword(ff, 0, 1);
627
+ if(*s == '(') s++;
628
+ size_t len = strlen(s);
629
+ unsigned int i = 0;
630
+ while(len && s[len - 1] != ')') {
631
+ if(blen < MAX_COMPARE_NAME) {
632
+ strncpy(&p->comm[blen], s, MAX_COMPARE_NAME - blen);
633
+ blen = strlen(p->comm);
634
+ }
635
629
- len -= 2; // remove ()
630
- if(len > MAX_COMPARE_NAME) len = MAX_COMPARE_NAME;
631
- strncpy(p->comm, &(procfile_lineword(ff, 0, 1))[1], len);
636
+ i++;
637
+ s = procfile_lineword(ff, 0, 1+i);
638
+ len = strlen(s);
639
+ }
640
+ if(len && s[len - 1] == ')') s[len - 1] = '\0';
641
+ if(blen < MAX_COMPARE_NAME)
642
+ strncpy(&p->comm[blen], s, MAX_COMPARE_NAME - blen);
643
633
- // p->pid = atol(procfile_lineword(ff, 0, 0));
644
+ // p->pid = atol(procfile_lineword(ff, 0, 0+i));
645
// comm is at 1
635
- // p->state = *(procfile_lineword(ff, 0, 2));
636
- p->ppid = atol(procfile_lineword(ff, 0, 3));
637
- // p->pgrp = atol(procfile_lineword(ff, 0, 4));
638
- // p->session = atol(procfile_lineword(ff, 0, 5));
639
- // p->tty_nr = atol(procfile_lineword(ff, 0, 6));
640
- // p->tpgid = atol(procfile_lineword(ff, 0, 7));
641
- // p->flags = strtoull(procfile_lineword(ff, 0, 8), NULL, 10);
642
- p->minflt = strtoull(procfile_lineword(ff, 0, 9), NULL, 10);
643
- p->cminflt = strtoull(procfile_lineword(ff, 0, 10), NULL, 10);
644
- p->majflt = strtoull(procfile_lineword(ff, 0, 11), NULL, 10);
645
- p->cmajflt = strtoull(procfile_lineword(ff, 0, 12), NULL, 10);
646
- p->utime = strtoull(procfile_lineword(ff, 0, 13), NULL, 10);
647
- p->stime = strtoull(procfile_lineword(ff, 0, 14), NULL, 10);
648
- p->cutime = strtoull(procfile_lineword(ff, 0, 15), NULL, 10);
649
- p->cstime = strtoull(procfile_lineword(ff, 0, 16), NULL, 10);
650
- // p->priority = strtoull(procfile_lineword(ff, 0, 17), NULL, 10);
651
- // p->nice = strtoull(procfile_lineword(ff, 0, 18), NULL, 10);
652
- p->num_threads = atol(procfile_lineword(ff, 0, 19));
653
- // p->itrealvalue = strtoull(procfile_lineword(ff, 0, 20), NULL, 10);
654
- // p->starttime = strtoull(procfile_lineword(ff, 0, 21), NULL, 10);
655
- // p->vsize = strtoull(procfile_lineword(ff, 0, 22), NULL, 10);
656
- p->rss = strtoull(procfile_lineword(ff, 0, 23), NULL, 10);
657
- // p->rsslim = strtoull(procfile_lineword(ff, 0, 24), NULL, 10);
658
- // p->starcode = strtoull(procfile_lineword(ff, 0, 25), NULL, 10);
659
- // p->endcode = strtoull(procfile_lineword(ff, 0, 26), NULL, 10);
660
- // p->startstack = strtoull(procfile_lineword(ff, 0, 27), NULL, 10);
661
- // p->kstkesp = strtoull(procfile_lineword(ff, 0, 28), NULL, 10);
662
- // p->kstkeip = strtoull(procfile_lineword(ff, 0, 29), NULL, 10);
663
- // p->signal = strtoull(procfile_lineword(ff, 0, 30), NULL, 10);
664
- // p->blocked = strtoull(procfile_lineword(ff, 0, 31), NULL, 10);
665
- // p->sigignore = strtoull(procfile_lineword(ff, 0, 32), NULL, 10);
666
- // p->sigcatch = strtoull(procfile_lineword(ff, 0, 33), NULL, 10);
667
- // p->wchan = strtoull(procfile_lineword(ff, 0, 34), NULL, 10);
668
- // p->nswap = strtoull(procfile_lineword(ff, 0, 35), NULL, 10);
669
- // p->cnswap = strtoull(procfile_lineword(ff, 0, 36), NULL, 10);
670
- // p->exit_signal = atol(procfile_lineword(ff, 0, 37));
671
- // p->processor = atol(procfile_lineword(ff, 0, 38));
672
- // p->rt_priority = strtoul(procfile_lineword(ff, 0, 39), NULL, 10);
673
- // p->policy = strtoul(procfile_lineword(ff, 0, 40), NULL, 10);
674
- // p->delayacct_blkio_ticks = strtoull(procfile_lineword(ff, 0, 41), NULL, 10);
675
- // p->guest_time = strtoull(procfile_lineword(ff, 0, 42), NULL, 10);
646
+ // p->state = *(procfile_lineword(ff, 0, 2+i));
647
+ p->ppid = atol(procfile_lineword(ff, 0, 3+i));
648
+ // p->pgrp = atol(procfile_lineword(ff, 0, 4+i));
649
+ // p->session = atol(procfile_lineword(ff, 0, 5+i));
650
+ // p->tty_nr = atol(procfile_lineword(ff, 0, 6+i));
651
+ // p->tpgid = atol(procfile_lineword(ff, 0, 7+i));
652
+ // p->flags = strtoull(procfile_lineword(ff, 0, 8+i), NULL, 10);
653
+ p->minflt = strtoull(procfile_lineword(ff, 0, 9+i), NULL, 10);
654
+ p->cminflt = strtoull(procfile_lineword(ff, 0, 10+i), NULL, 10);
655
+ p->majflt = strtoull(procfile_lineword(ff, 0, 11+i), NULL, 10);
656
+ p->cmajflt = strtoull(procfile_lineword(ff, 0, 12+i), NULL, 10);
657
+ p->utime = strtoull(procfile_lineword(ff, 0, 13+i), NULL, 10);
658
+ p->stime = strtoull(procfile_lineword(ff, 0, 14+i), NULL, 10);
659
+ p->cutime = strtoull(procfile_lineword(ff, 0, 15+i), NULL, 10);
660
+ p->cstime = strtoull(procfile_lineword(ff, 0, 16+i), NULL, 10);
661
+ // p->priority = strtoull(procfile_lineword(ff, 0, 17+i), NULL, 10);
662
+ // p->nice = strtoull(procfile_lineword(ff, 0, 18+i), NULL, 10);
663
+ p->num_threads = atol(procfile_lineword(ff, 0, 19+i));
664
+ // p->itrealvalue = strtoull(procfile_lineword(ff, 0, 20+i), NULL, 10);
665
+ // p->starttime = strtoull(procfile_lineword(ff, 0, 21+i), NULL, 10);
666
+ // p->vsize = strtoull(procfile_lineword(ff, 0, 22+i), NULL, 10);
667
+ p->rss = strtoull(procfile_lineword(ff, 0, 23+i), NULL, 10);
668
+ // p->rsslim = strtoull(procfile_lineword(ff, 0, 24+i), NULL, 10);
669
+ // p->starcode = strtoull(procfile_lineword(ff, 0, 25+i), NULL, 10);
670
+ // p->endcode = strtoull(procfile_lineword(ff, 0, 26+i), NULL, 10);
671
+ // p->startstack = strtoull(procfile_lineword(ff, 0, 27+i), NULL, 10);
672
+ // p->kstkesp = strtoull(procfile_lineword(ff, 0, 28+i), NULL, 10);
673
+ // p->kstkeip = strtoull(procfile_lineword(ff, 0, 29+i), NULL, 10);
674
+ // p->signal = strtoull(procfile_lineword(ff, 0, 30+i), NULL, 10);
675
+ // p->blocked = strtoull(procfile_lineword(ff, 0, 31+i), NULL, 10);
676
+ // p->sigignore = strtoull(procfile_lineword(ff, 0, 32+i), NULL, 10);
677
+ // p->sigcatch = strtoull(procfile_lineword(ff, 0, 33+i), NULL, 10);
678
+ // p->wchan = strtoull(procfile_lineword(ff, 0, 34+i), NULL, 10);
679
+ // p->nswap = strtoull(procfile_lineword(ff, 0, 35+i), NULL, 10);
680
+ // p->cnswap = strtoull(procfile_lineword(ff, 0, 36+i), NULL, 10);
681
+ // p->exit_signal = atol(procfile_lineword(ff, 0, 37+i));
682
+ // p->processor = atol(procfile_lineword(ff, 0, 38+i));
683
+ // p->rt_priority = strtoul(procfile_lineword(ff, 0, 39+i), NULL, 10);
684
+ // p->policy = strtoul(procfile_lineword(ff, 0, 40+i), NULL, 10);
685
+ // p->delayacct_blkio_ticks = strtoull(procfile_lineword(ff, 0, 41+i), NULL, 10);
686
+ // p->guest_time = strtoull(procfile_lineword(ff, 0, 42+i), NULL, 10);
687
// p->cguest_time = strtoull(procfile_lineword(ff, 0, 43), NULL, 10);
688
689
if(debug || (p->target && p->target->debug)) fprintf(stderr, "apps.plugin: VALUES: %s utime=%llu, stime=%llu, cutime=%llu, cstime=%llu, minflt=%llu, majflt=%llu, cminflt=%llu, cmajflt=%llu, threads=%d\n", p->comm, p->utime, p->stime, p->cutime, p->cstime, p->minflt, p->majflt, p->cminflt, p->cmajflt, p->num_threads);
src/procfile.c
+2
-2
@@ -131,7 +131,7 @@ void pflines_free(pflines *fl) {
131
#define PF_CHAR_IS_WORD 2
132
133
void procfile_close(procfile *ff) {
134
- debug(D_PROCFILE, PF_PREFIX ": Closing file '%s'. Reason: %s", ff->filename, strerror(errno));
134
+ debug(D_PROCFILE, PF_PREFIX ": Closing file '%s'", ff->filename);
135
136
if(ff->lines) pflines_free(ff->lines);
137
if(ff->words) pfwords_free(ff->words);
@@ -181,7 +181,7 @@ procfile *procfile_parser(procfile *ff) {
181
ff->lines->lines[l].words++;
182
w++;
183
184
- debug(D_PROCFILE, PF_PREFIX ": ended line %d with %d words", l, ff->lines->lines[l].words);
184
+ // debug(D_PROCFILE, PF_PREFIX ": ended line %d with %d words", l, ff->lines->lines[l].words);
185
186
ff->lines = pflines_add(ff->lines, w);
187
if(!ff->lines) goto cleanup;