]> arthur.barton.de Git - netdata.git/commitdiff
code cleanup
authorbox@home root <costa@tsaousis.gr>
Sun, 29 Mar 2015 23:10:30 +0000 (02:10 +0300)
committerbox@home root <costa@tsaousis.gr>
Sun, 29 Mar 2015 23:10:30 +0000 (02:10 +0300)
src/plugins.d/apps_plugin.c
src/procfile.c

index 46f8ed758dae1c993253617e308e85c45cda30b6..02c974edf5f9acb500f35bd52eb97bf7201f9c0e 100755 (executable)
@@ -619,60 +619,71 @@ int read_proc_pid_stat(struct pid_stat *p) {
 
        file_counter++;
 
-       int len = strlen(procfile_lineword(ff, 0, 1));
-       if(len < 2) {
-               error("apps.plugin: File %s states too small command name '%s'. Ignoring file.", filename, procfile_lineword(ff, 0, 1));
-               procfile_close(ff);
-               return 1;
-       }
+       p->comm[0] = '\0';
+       p->comm[MAX_COMPARE_NAME] = '\0';
+       size_t blen = 0;
+
+       char *s = procfile_lineword(ff, 0, 1);
+       if(*s == '(') s++;
+       size_t len = strlen(s);
+       unsigned int i = 0;
+       while(len && s[len - 1] != ')') {
+               if(blen < MAX_COMPARE_NAME) {
+                       strncpy(&p->comm[blen], s, MAX_COMPARE_NAME - blen);
+                       blen = strlen(p->comm);
+               }
 
-       len -= 2; // remove ()
-       if(len > MAX_COMPARE_NAME) len = MAX_COMPARE_NAME;
-       strncpy(p->comm, &(procfile_lineword(ff, 0, 1))[1], len);
+               i++;
+               s = procfile_lineword(ff, 0, 1+i);
+               len = strlen(s);
+       }
+       if(len && s[len - 1] == ')') s[len - 1] = '\0';
+       if(blen < MAX_COMPARE_NAME)
+               strncpy(&p->comm[blen], s, MAX_COMPARE_NAME - blen);
 
-       // p->pid                       = atol(procfile_lineword(ff, 0, 0));
+       // p->pid                       = atol(procfile_lineword(ff, 0, 0+i));
        // comm is at 1
-       // p->state                     = *(procfile_lineword(ff, 0, 2));
-       p->ppid                         = atol(procfile_lineword(ff, 0, 3));
-       // p->pgrp                      = atol(procfile_lineword(ff, 0, 4));
-       // p->session           = atol(procfile_lineword(ff, 0, 5));
-       // p->tty_nr            = atol(procfile_lineword(ff, 0, 6));
-       // p->tpgid                     = atol(procfile_lineword(ff, 0, 7));
-       // p->flags                     = strtoull(procfile_lineword(ff, 0, 8), NULL, 10);
-       p->minflt                       = strtoull(procfile_lineword(ff, 0, 9), NULL, 10);
-       p->cminflt                      = strtoull(procfile_lineword(ff, 0, 10), NULL, 10);
-       p->majflt                       = strtoull(procfile_lineword(ff, 0, 11), NULL, 10);
-       p->cmajflt                      = strtoull(procfile_lineword(ff, 0, 12), NULL, 10);
-       p->utime                        = strtoull(procfile_lineword(ff, 0, 13), NULL, 10);
-       p->stime                        = strtoull(procfile_lineword(ff, 0, 14), NULL, 10);
-       p->cutime                       = strtoull(procfile_lineword(ff, 0, 15), NULL, 10);
-       p->cstime                       = strtoull(procfile_lineword(ff, 0, 16), NULL, 10);
-       // p->priority          = strtoull(procfile_lineword(ff, 0, 17), NULL, 10);
-       // p->nice                      = strtoull(procfile_lineword(ff, 0, 18), NULL, 10);
-       p->num_threads          = atol(procfile_lineword(ff, 0, 19));
-       // p->itrealvalue       = strtoull(procfile_lineword(ff, 0, 20), NULL, 10);
-       // p->starttime         = strtoull(procfile_lineword(ff, 0, 21), NULL, 10);
-       // p->vsize                     = strtoull(procfile_lineword(ff, 0, 22), NULL, 10);
-       p->rss                          = strtoull(procfile_lineword(ff, 0, 23), NULL, 10);
-       // p->rsslim            = strtoull(procfile_lineword(ff, 0, 24), NULL, 10);
-       // p->starcode          = strtoull(procfile_lineword(ff, 0, 25), NULL, 10);
-       // p->endcode           = strtoull(procfile_lineword(ff, 0, 26), NULL, 10);
-       // p->startstack        = strtoull(procfile_lineword(ff, 0, 27), NULL, 10);
-       // p->kstkesp           = strtoull(procfile_lineword(ff, 0, 28), NULL, 10);
-       // p->kstkeip           = strtoull(procfile_lineword(ff, 0, 29), NULL, 10);
-       // p->signal            = strtoull(procfile_lineword(ff, 0, 30), NULL, 10);
-       // p->blocked           = strtoull(procfile_lineword(ff, 0, 31), NULL, 10);
-       // p->sigignore         = strtoull(procfile_lineword(ff, 0, 32), NULL, 10);
-       // p->sigcatch          = strtoull(procfile_lineword(ff, 0, 33), NULL, 10);
-       // p->wchan                     = strtoull(procfile_lineword(ff, 0, 34), NULL, 10);
-       // p->nswap                     = strtoull(procfile_lineword(ff, 0, 35), NULL, 10);
-       // p->cnswap            = strtoull(procfile_lineword(ff, 0, 36), NULL, 10);
-       // p->exit_signal       = atol(procfile_lineword(ff, 0, 37));
-       // p->processor         = atol(procfile_lineword(ff, 0, 38));
-       // p->rt_priority       = strtoul(procfile_lineword(ff, 0, 39), NULL, 10);
-       // p->policy            = strtoul(procfile_lineword(ff, 0, 40), NULL, 10);
-       // p->delayacct_blkio_ticks             = strtoull(procfile_lineword(ff, 0, 41), NULL, 10);
-       // p->guest_time        = strtoull(procfile_lineword(ff, 0, 42), NULL, 10);
+       // p->state                     = *(procfile_lineword(ff, 0, 2+i));
+       p->ppid                         = atol(procfile_lineword(ff, 0, 3+i));
+       // p->pgrp                      = atol(procfile_lineword(ff, 0, 4+i));
+       // p->session           = atol(procfile_lineword(ff, 0, 5+i));
+       // p->tty_nr            = atol(procfile_lineword(ff, 0, 6+i));
+       // p->tpgid                     = atol(procfile_lineword(ff, 0, 7+i));
+       // p->flags                     = strtoull(procfile_lineword(ff, 0, 8+i), NULL, 10);
+       p->minflt                       = strtoull(procfile_lineword(ff, 0, 9+i), NULL, 10);
+       p->cminflt                      = strtoull(procfile_lineword(ff, 0, 10+i), NULL, 10);
+       p->majflt                       = strtoull(procfile_lineword(ff, 0, 11+i), NULL, 10);
+       p->cmajflt                      = strtoull(procfile_lineword(ff, 0, 12+i), NULL, 10);
+       p->utime                        = strtoull(procfile_lineword(ff, 0, 13+i), NULL, 10);
+       p->stime                        = strtoull(procfile_lineword(ff, 0, 14+i), NULL, 10);
+       p->cutime                       = strtoull(procfile_lineword(ff, 0, 15+i), NULL, 10);
+       p->cstime                       = strtoull(procfile_lineword(ff, 0, 16+i), NULL, 10);
+       // p->priority          = strtoull(procfile_lineword(ff, 0, 17+i), NULL, 10);
+       // p->nice                      = strtoull(procfile_lineword(ff, 0, 18+i), NULL, 10);
+       p->num_threads          = atol(procfile_lineword(ff, 0, 19+i));
+       // p->itrealvalue       = strtoull(procfile_lineword(ff, 0, 20+i), NULL, 10);
+       // p->starttime         = strtoull(procfile_lineword(ff, 0, 21+i), NULL, 10);
+       // p->vsize                     = strtoull(procfile_lineword(ff, 0, 22+i), NULL, 10);
+       p->rss                          = strtoull(procfile_lineword(ff, 0, 23+i), NULL, 10);
+       // p->rsslim            = strtoull(procfile_lineword(ff, 0, 24+i), NULL, 10);
+       // p->starcode          = strtoull(procfile_lineword(ff, 0, 25+i), NULL, 10);
+       // p->endcode           = strtoull(procfile_lineword(ff, 0, 26+i), NULL, 10);
+       // p->startstack        = strtoull(procfile_lineword(ff, 0, 27+i), NULL, 10);
+       // p->kstkesp           = strtoull(procfile_lineword(ff, 0, 28+i), NULL, 10);
+       // p->kstkeip           = strtoull(procfile_lineword(ff, 0, 29+i), NULL, 10);
+       // p->signal            = strtoull(procfile_lineword(ff, 0, 30+i), NULL, 10);
+       // p->blocked           = strtoull(procfile_lineword(ff, 0, 31+i), NULL, 10);
+       // p->sigignore         = strtoull(procfile_lineword(ff, 0, 32+i), NULL, 10);
+       // p->sigcatch          = strtoull(procfile_lineword(ff, 0, 33+i), NULL, 10);
+       // p->wchan                     = strtoull(procfile_lineword(ff, 0, 34+i), NULL, 10);
+       // p->nswap                     = strtoull(procfile_lineword(ff, 0, 35+i), NULL, 10);
+       // p->cnswap            = strtoull(procfile_lineword(ff, 0, 36+i), NULL, 10);
+       // p->exit_signal       = atol(procfile_lineword(ff, 0, 37+i));
+       // p->processor         = atol(procfile_lineword(ff, 0, 38+i));
+       // p->rt_priority       = strtoul(procfile_lineword(ff, 0, 39+i), NULL, 10);
+       // p->policy            = strtoul(procfile_lineword(ff, 0, 40+i), NULL, 10);
+       // p->delayacct_blkio_ticks             = strtoull(procfile_lineword(ff, 0, 41+i), NULL, 10);
+       // p->guest_time        = strtoull(procfile_lineword(ff, 0, 42+i), NULL, 10);
        // p->cguest_time       = strtoull(procfile_lineword(ff, 0, 43), NULL, 10);
 
        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);
index aed26f9c981e4cfeb8a58d5e4fee957cb8baccc0..ea18cb207d82e532fa64792f5ae17433d1356bc7 100755 (executable)
@@ -131,7 +131,7 @@ void pflines_free(pflines *fl) {
 #define PF_CHAR_IS_WORD                2
 
 void procfile_close(procfile *ff) {
-       debug(D_PROCFILE, PF_PREFIX ": Closing file '%s'. Reason: %s", ff->filename, strerror(errno));
+       debug(D_PROCFILE, PF_PREFIX ": Closing file '%s'", ff->filename);
 
        if(ff->lines) pflines_free(ff->lines);
        if(ff->words) pfwords_free(ff->words);
@@ -181,7 +181,7 @@ procfile *procfile_parser(procfile *ff) {
                                ff->lines->lines[l].words++;
                                w++;
 
-                               debug(D_PROCFILE, PF_PREFIX ":  ended line %d with %d words", l, ff->lines->lines[l].words);
+                               // debug(D_PROCFILE, PF_PREFIX ":       ended line %d with %d words", l, ff->lines->lines[l].words);
 
                                ff->lines = pflines_add(ff->lines, w);
                                if(!ff->lines) goto cleanup;