DD2-monitor/essai.c

75 lines
1.4 KiB
C

/*
* essai.c
*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <curses.h>
#include <time.h>
#include "core/utils.h"
#include "core/sysmetrics.h"
#include "viz/curses/ecran.h"
int verbosity;
/* --------------------------------------------------------------- */
int affiche_loadavg(int nbloops, int k)
{
int idx, foo;
float lds[3];
for (idx=0; idx<nbloops; idx++) {
foo = get_loadavg(lds);
if (foo) fprintf(stderr, "get loadavg -> %d\n", foo);
foo = aff7segs_float(stdscr, 4, 9, lds[0]);
foo = aff7segs_float(stdscr, 14, 9, lds[1]);
foo = aff7segs_float(stdscr, 24, 9, lds[2]);
usleep(200*1000);
}
return 0;
}
/* --------------------------------------------------------------- */
static void finish(int signal)
{
endwin();
fprintf(stderr, "end of pid %d\n", getpid());
exit(0);
}
/* --------------------------------------------------------------- */
int main(int argc, char *argv[])
{
int opt, foo;
while ((opt = getopt(argc, argv, "v")) != -1) {
switch (opt) {
case 'v': verbosity++; break;
default: break;
}
}
initscr();
nonl(); cbreak(); noecho();
keypad(stdscr, TRUE); /* acces aux touches 'curseur' */
fond_ecran(" Demonstrator ");
affiche_loadavg(10000, 0);
/*
* plop, on a fini, il faut restaurer la console
*/
finish(0);
return 0;
}
/* --------------------------------------------------------------- */