Hello,
I have written a program which gives CPU statistics, then what should i do
for putting this program in to the debian? This code is written to
take CPU loading statistics. cpustat; shows the usage load statistic of
your CPU. I Code tested for Intel Processors. After then code will be
ported for AMD. Can we add this debian?


$vi cpustat.c

/*
 *  /linux/fs/cpustat.c
 *
 *  Copyright (C) 2006 Ozgur Karatas
 */

/*
 *  This code is written to take CPU statistics. cpustat; shows the usage
statistic of your CPU.
 *  The Code tested for Intel Processors. After then code will be ported
for AMD.
 */
#include <stdio.h>

int main (void)
{
        FILE *fp;
        char *str;
        char buf[1000];
        unsigned long long int c_user = 0;
        unsigned long long int c_user_ = 0;
        unsigned long long int c_nice = 0;
        unsigned long long int c_nice_ = 0;
        unsigned long long int c_sys = 0;
        unsigned long long int c_sys_ = 0;
        unsigned long long int c_idle = 0;
        unsigned long long int c_idle_ = 0;
        double u;
        double n;
        double s;
        double i;
        double t;

again:
        fp = fopen("/proc/stat", "r");
        while (!feof(fp)) {
                fgets(buf, sizeof(buf), fp);
                if (strncmp(buf, "cpu ", 4) == 0) {
                        break;
                }
        }
        fclose(fp);

        c_user_ = c_user;
        c_nice_ = c_nice;
        c_sys_ = c_sys;
        c_idle_ = c_idle;

        str = buf + 4;
        c_user = strtoull(str, &str, 0);
        c_nice = strtoull(str, &str, 0);
        c_sys = strtoull(str, &str, 0);
        c_idle = strtoull(str, &str, 0);

        if (c_user == 0 &&
            c_nice == 0 &&
            c_sys == 0 &&
            c_idle == 0) {
                goto again;
        }

        u = (float) (c_user - c_user_);
        n = (float) (c_nice - c_nice_);
        s = (float) (c_sys - c_sys_);
        i = (float) (c_idle - c_idle_);
        t = u + n + s + i;
        u = (u * 100) / t;
        n = (n * 100) / t;
        s = (s * 100) / t;
        i = (i * 100) / t;

        printf("total:%.1f user:%.1f nice:%.1f sys:%.1f idle:%.1f\n", t, u, n, 
s,
i);

        sleep(1);
        goto again;

        return 0;
}

--

 ,''`.  Ozgur Karatas
: :' :  [EMAIL PROTECTED]
`. `'   http://www.ozgurkaratas.com
  `-    Powered By Debian GNU\Linux


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to