diff options
author | wiz <wiz@pkgsrc.org> | 2002-04-16 21:49:25 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2002-04-16 21:49:25 +0000 |
commit | 42a3e14049158639d9fce49df95a4b3afc61e17b (patch) | |
tree | 74c01cdb5b1578d0da6b9b87f4e6aadf4b7ccc13 /sysutils/bbsload | |
parent | 9771d9bf71f0fe37b739049383c7aee960674279 (diff) | |
download | pkgsrc-42a3e14049158639d9fce49df95a4b3afc61e17b.tar.gz |
Initial import of bbsload-0.2.5:
bbsload is one of the 'bbtools' for the BlackBox window manager.
It is a small (in dimensions) tool that will visualise various system
parameters, like avarage load and memory usage.
Provided by Martijn van Buul in pkg/16339.
Diffstat (limited to 'sysutils/bbsload')
-rw-r--r-- | sysutils/bbsload/DESCR | 3 | ||||
-rw-r--r-- | sysutils/bbsload/Makefile | 19 | ||||
-rw-r--r-- | sysutils/bbsload/PLIST | 6 | ||||
-rw-r--r-- | sysutils/bbsload/distinfo | 6 | ||||
-rw-r--r-- | sysutils/bbsload/patches/patch-aa | 331 | ||||
-rw-r--r-- | sysutils/bbsload/patches/patch-ab | 13 |
6 files changed, 378 insertions, 0 deletions
diff --git a/sysutils/bbsload/DESCR b/sysutils/bbsload/DESCR new file mode 100644 index 00000000000..2f91fc3d714 --- /dev/null +++ b/sysutils/bbsload/DESCR @@ -0,0 +1,3 @@ +Small (in dimensions) tool to display various statistics like average +load during the last minute, last 5 minutes and 15 minutes, memory +usage, swap usage and CPU usage. Especially suited for BlackBox. diff --git a/sysutils/bbsload/Makefile b/sysutils/bbsload/Makefile new file mode 100644 index 00000000000..4addd80404b --- /dev/null +++ b/sysutils/bbsload/Makefile @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.1.1.1 2002/04/16 21:49:25 wiz Exp $ +# + +DISTNAME= bbsload-0.2.5 +CATEGORIES= sysutils x11 wm +MASTER_SITES= http://bbtools.thelinuxcommunity.org/sources/ + +MAINTAINER= pino@dohd.org +HOMEPAGE= http://bbtools.thelinuxcommunity.org/ +COMMENT= Small (in dimensions) tool to display the avarage load + +GNU_CONFIGURE= YES +USE_BUILDLINK_ONLY= YES +USE_X11BASE= YES + +GNU_CONFIGURE= YES + +.include "../../mk/x11.buildlink.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/sysutils/bbsload/PLIST b/sysutils/bbsload/PLIST new file mode 100644 index 00000000000..ec05e88263c --- /dev/null +++ b/sysutils/bbsload/PLIST @@ -0,0 +1,6 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2002/04/16 21:49:27 wiz Exp $ +bin/bbsload +share/bbtools/README.bbsload +share/bbtools/bbsload.bb +share/bbtools/bbsload.nobb +@unexec ${RMDIR} %D/share/bbtools 2>/dev/null || true diff --git a/sysutils/bbsload/distinfo b/sysutils/bbsload/distinfo new file mode 100644 index 00000000000..b31e451d948 --- /dev/null +++ b/sysutils/bbsload/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1.1.1 2002/04/16 21:49:27 wiz Exp $ + +SHA1 (bbsload-0.2.5.tar.gz) = 4c4a023dd8ded57b959167e64877cc86c2709e52 +Size (bbsload-0.2.5.tar.gz) = 79203 bytes +SHA1 (patch-aa) = 51a725db6d11831f48bf2896304569a584ce41ef +SHA1 (patch-ab) = 3a14f1b186939e75a74468f481583d49a2a30b4e diff --git a/sysutils/bbsload/patches/patch-aa b/sysutils/bbsload/patches/patch-aa new file mode 100644 index 00000000000..5c5890dc15a --- /dev/null +++ b/sysutils/bbsload/patches/patch-aa @@ -0,0 +1,331 @@ +$NetBSD: patch-aa,v 1.1.1.1 2002/04/16 21:49:27 wiz Exp $ + +--- bbsload.cc.orig Mon May 22 20:53:37 2000 ++++ bbsload.cc +@@ -21,6 +21,12 @@ + + #include "bbsload.hh" + ++#ifdef __NetBSD__ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#include <uvm/uvm_param.h> ++#endif ++ + CheckLoad::CheckLoad(ToolWindow *toolwindow) { + bbtool=toolwindow; + timer=new BTimer(bbtool->getCurrentScreenInfo()->getBaseDisplay(),this) ; +@@ -40,97 +46,81 @@ + + void CheckLoad::timeout() + { +- FILE *fp; +- +- char loadstr[28]; +- char buffer[128]; +- bool redraw=False; +- struct stat file_status; +- static time_t last_mtime; +- static unsigned long old_user=0; +- static unsigned long old_nice=0; +- static unsigned long old_system=0; +- static unsigned long old_idle=0; +- broken=False; ++ static u_int64_t old_user=0, old_nice=0, old_system=0, ++ old_idle=0; ++ u_int64_t user,nice,system,idle,total; ++ u_int64_t cputimes[5]; ++ double lavg[3]; ++ struct uvmexp uvm_stat; ++ int ctl_name[3]; ++ size_t ctllen; + +- if (!(fp = fopen("/proc/loadavg", "r"))) +- broken=True; +- else +- { +- fstat(fileno(fp),&file_status); +- if (file_status.st_mtime != last_mtime) +- { +- fgets(loadstr, 28, fp); +- sscanf(loadstr,"%e %e %e %d/%d",&load.average1m, +- &load.average5m,&load.average15m,&task.running, +- &task.total); +- redraw=true; +- } +- } +- fclose(fp); +- if (!(fp = fopen("/proc/meminfo", "r"))) +- broken=True; +- else +- { +- fstat(fileno(fp),&file_status); +- if (file_status.st_mtime != last_mtime) +- { +- /* should work for now */ +- fgets(buffer,128,fp); +- fgets(buffer,128,fp); +- sscanf(buffer,"Mem: %lu %lu %lu %lu %lu %lu",&mem.total, +- &mem.used,&mem.free,&mem.shared,&mem.buffers, +- &mem.cached); +- fgets(buffer,128,fp); +- sscanf(buffer,"Swap: %lu %lu %lu", +- &swap.total,&swap.used,&swap.free); +- +- norm.total_used=(double)(mem.used+swap.used)/ +- (double)(mem.total+swap.total); +- norm.mem_used=(double)mem.used/(double)mem.total; +- if (swap.total!=0) +- norm.swap_used=(double)swap.used/(double)swap.total; +- +- redraw=true; +- } +- } +- fclose(fp); ++ int i; + +- if (!(fp = fopen("/proc/stat", "r"))) +- broken=True; +- else +- { +- fstat(fileno(fp),&file_status); +- if (file_status.st_mtime != last_mtime) +- { +- unsigned long user,nice,system,idle,total; +- /* should work for now */ +- fgets(buffer,128,fp); +- sscanf(buffer,"cpu %lu %lu %lu %lu",&user, +- &nice,&system,&idle); +- total=(user-old_user)+(nice-old_nice)+ +- (system-old_system)+(idle-old_idle); ++ broken=False; + +- if ((total!=0)&(old_user!=0)) +- { +- cpu.user=(user-old_user)/(double)total; +- cpu.nice=(nice-old_nice)/(double)user; +- cpu.system=(system-old_system)/(double)total; +- cpu.idle=(idle-old_idle)/(double)total; +- } +- else +- cpu.user=cpu.nice=cpu.system=cpu.idle=0; ++ /* Get system load */ + +- old_user=user; +- old_nice=nice; +- old_system=system; +- old_idle=idle; +- redraw=true; +- } +- } +- fclose(fp); +- if (redraw) +- bbtool->Redraw(); ++ getloadavg(lavg,3); ++ load.average1m=lavg[0]; ++ load.average5m=lavg[1]; ++ load.average15m=lavg[2]; ++ ++ /* Get total amount of processes */ ++ ++ ctl_name[0]=CTL_KERN; ++ ctl_name[1]=KERN_PROC; ++ ctl_name[2]=KERN_PROC_ALL; ++ sysctl(ctl_name, 3, NULL, &ctllen,NULL,0); /* get size of proc table */ ++ task.total=ctllen/sizeof(struct kinfo_proc); /* Anybody have an ++ alternative ? */ ++ ++ /* task.running is missing */ ++ /* get memory statistics */ ++ ctllen=sizeof(uvm_stat); ++ ctl_name[0]=CTL_VM; ++ ctl_name[1]=VM_UVMEXP; ++ sysctl(ctl_name,2,&uvm_stat,&ctllen,NULL,0); ++ ++ mem.total=uvm_stat.npages; ++ mem.used=uvm_stat.npages-uvm_stat.free; ++ ++ swap.total=uvm_stat.swpages; ++ swap.used=uvm_stat.swpgonly; /* Only count pages in swap which are ++ not also present in memory */ ++ ++ norm.total_used=(double)(mem.used+swap.used)/ ++ (double)(mem.total+swap.total); ++ norm.mem_used=(double)mem.used/(double)mem.total; ++ if (swap.total!=0) ++ norm.swap_used=(double)swap.used/(double)swap.total; ++ ++ ctl_name[0]=CTL_KERN; ++ ctl_name[1]=KERN_CP_TIME; ++ ctllen=sizeof(cputimes); ++ if(sysctl(ctl_name,2,cputimes,&ctllen,NULL,0)) ++ perror("sysctl"); ++ user=cputimes[0]; ++ nice=cputimes[1]; ++ system=cputimes[2] /*sys*/ ++ +cputimes[3]/*intr*/; ++ idle=cputimes[4]; ++ total=(user-old_user)+(nice-old_nice)+ ++ (system-old_system)+(idle-old_idle); ++ if ((total!=0)&(old_user!=0)) ++ { ++ cpu.user=(double)(user-old_user)/(double)total; ++ cpu.nice=(double)(nice-old_nice)/(double)total; ++ cpu.system=(double)(system-old_system)/(double)total; ++ cpu.idle=(double)(idle-old_idle)/(double)total; ++ } ++ else ++ cpu.user=cpu.nice=cpu.system=cpu.idle=0; ++ old_user=user; ++ old_nice=nice; ++ old_system=system; ++ old_idle=idle; ++ bbtool->Redraw(); + } + + +@@ -233,15 +223,15 @@ + label_counter++; + } + if (resource->show.label_totalused) { +- label.width[6] = XTextWidth(resource->label.font,"0.00",strlen("0.00")); ++ label.width[8] = XTextWidth(resource->label.font,"0.00",strlen("0.00")); + label_counter++; + } + if (resource->show.label_memused) { +- label.width[7] = XTextWidth(resource->label.font,"0.00",strlen("0.00")); ++ label.width[6] = XTextWidth(resource->label.font,"0.00",strlen("0.00")); + label_counter++; + } + if (resource->show.label_swapused) { +- label.width[8] = XTextWidth(resource->label.font,"0.00",strlen("0.00")); ++ label.width[7] = XTextWidth(resource->label.font,"0.00",strlen("0.00")); + label_counter++; + } + if (resource->show.label_usercpu) { +@@ -545,7 +535,7 @@ + } + } + +-void ToolWindow::RedrawLabel(double level,int labelnr) ++void ToolWindow::RedrawLabel(double level,int labelnr,int idx, BColor colour) + { + char t[6]; + +@@ -561,15 +551,14 @@ + xposition+=label.seperator_width; + } + +- XSetForeground(getXDisplay(),frameGC, +- resource->label.load1m_textColor.getPixel()); ++ XSetForeground(getXDisplay(),frameGC, colour.getPixel()); + labelnr++; + sprintf(t,"%1.2f",level); + XDrawString(getXDisplay(), labelwin, frameGC, xposition, + (label.height+resource->label.font->ascent- + resource->label.font->descent) / 2, + t, strlen(t)); +- xposition+=label.width[2]; ++ xposition+=label.width[idx]; + } + + void ToolWindow::Redraw() +@@ -577,12 +566,12 @@ + int offset=0; + if (resource->show.load1m) + { +- RedrawGauge(check_load->getLoad().average1m,offset); ++ RedrawGauge(check_load->getLoad().average1m,offset); + offset++; + } + if (resource->show.load5m) + { +- RedrawGauge(check_load->getLoad().average5m,offset); ++ RedrawGauge(check_load->getLoad().average5m,offset); + offset++; + } + if (resource->show.load15m) +@@ -678,53 +667,63 @@ + + if (resource->show.label_load1m) + { +- RedrawLabel(check_load->getLoad().average1m,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getLoad().average1m,offset,2, ++ resource->label.load1m_textColor); ++ offset++; + } + if (resource->show.label_load5m) + { +- RedrawLabel(check_load->getLoad().average5m,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getLoad().average5m,offset,3, ++ resource->label.load5m_textColor); ++ offset++; + } + if (resource->show.label_load15m) + { +- RedrawLabel(check_load->getLoad().average15m,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getLoad().average15m,offset,4, ++ resource->label.load15m_textColor); ++ offset++; + } + if (resource->show.label_memused) + { +- RedrawLabel(check_load->getNorm().mem_used,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getNorm().mem_used,offset,6, ++ resource->label.memUsed_textColor); ++ offset++; + } + if (resource->show.label_swapused) + { +- RedrawLabel(check_load->getNorm().swap_used,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getNorm().swap_used,offset,7, ++ resource->label.swapUsed_textColor); ++ offset++; + } + if (resource->show.label_totalused) + { +- RedrawLabel(check_load->getNorm().total_used,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getNorm().total_used,offset,8, ++ resource->label.totalUsed_textColor); ++ offset++; + } + if (resource->show.label_usercpu) + { +- RedrawLabel(check_load->getCpu().user,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getCpu().user,offset,9, ++ resource->label.seperator_textColor); ++ offset++; + } + if (resource->show.label_nicecpu) + { +- RedrawLabel(check_load->getCpu().nice,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getCpu().nice,offset,10, ++ resource->label.seperator_textColor); ++ offset++; + } + if (resource->show.label_systemcpu) + { +- RedrawLabel(check_load->getCpu().system,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getCpu().system,offset,11, ++ resource->label.seperator_textColor); ++ offset++; + } + if (resource->show.label_idlecpu) + { +- RedrawLabel(check_load->getCpu().idle,labelnr); +- labelnr++; ++ RedrawLabel(check_load->getCpu().idle,offset,12, ++ resource->label.seperator_textColor); ++ offset++; + } + } + diff --git a/sysutils/bbsload/patches/patch-ab b/sysutils/bbsload/patches/patch-ab new file mode 100644 index 00000000000..5ac16a450cb --- /dev/null +++ b/sysutils/bbsload/patches/patch-ab @@ -0,0 +1,13 @@ +$NetBSD: patch-ab,v 1.1.1.1 2002/04/16 21:49:27 wiz Exp $ + +--- bbsload.hh.orig Sun Apr 9 12:27:34 2000 ++++ bbsload.hh +@@ -150,7 +150,7 @@ + void reconfigure(void); + void CheckConfig(void); + void RedrawGauge(double,int); +- void RedrawLabel(double,int); ++ void RedrawLabel(double,int,int,BColor); + bool raised; + Resource *getResource(void) { return(resource); } + protected: |