head	1.4;
access;
symbols
	pkgsrc-2026Q1:1.4.0.138
	pkgsrc-2026Q1-base:1.4
	pkgsrc-2025Q4:1.4.0.136
	pkgsrc-2025Q4-base:1.4
	pkgsrc-2025Q3:1.4.0.134
	pkgsrc-2025Q3-base:1.4
	pkgsrc-2025Q2:1.4.0.132
	pkgsrc-2025Q2-base:1.4
	pkgsrc-2025Q1:1.4.0.130
	pkgsrc-2025Q1-base:1.4
	pkgsrc-2024Q4:1.4.0.128
	pkgsrc-2024Q4-base:1.4
	pkgsrc-2024Q3:1.4.0.126
	pkgsrc-2024Q3-base:1.4
	pkgsrc-2024Q2:1.4.0.124
	pkgsrc-2024Q2-base:1.4
	pkgsrc-2024Q1:1.4.0.122
	pkgsrc-2024Q1-base:1.4
	pkgsrc-2023Q4:1.4.0.120
	pkgsrc-2023Q4-base:1.4
	pkgsrc-2023Q3:1.4.0.118
	pkgsrc-2023Q3-base:1.4
	pkgsrc-2023Q2:1.4.0.116
	pkgsrc-2023Q2-base:1.4
	pkgsrc-2023Q1:1.4.0.114
	pkgsrc-2023Q1-base:1.4
	pkgsrc-2022Q4:1.4.0.112
	pkgsrc-2022Q4-base:1.4
	pkgsrc-2022Q3:1.4.0.110
	pkgsrc-2022Q3-base:1.4
	pkgsrc-2022Q2:1.4.0.108
	pkgsrc-2022Q2-base:1.4
	pkgsrc-2022Q1:1.4.0.106
	pkgsrc-2022Q1-base:1.4
	pkgsrc-2021Q4:1.4.0.104
	pkgsrc-2021Q4-base:1.4
	pkgsrc-2021Q3:1.4.0.102
	pkgsrc-2021Q3-base:1.4
	pkgsrc-2021Q2:1.4.0.100
	pkgsrc-2021Q2-base:1.4
	pkgsrc-2021Q1:1.4.0.98
	pkgsrc-2021Q1-base:1.4
	pkgsrc-2020Q4:1.4.0.96
	pkgsrc-2020Q4-base:1.4
	pkgsrc-2020Q3:1.4.0.94
	pkgsrc-2020Q3-base:1.4
	pkgsrc-2020Q2:1.4.0.90
	pkgsrc-2020Q2-base:1.4
	pkgsrc-2020Q1:1.4.0.70
	pkgsrc-2020Q1-base:1.4
	pkgsrc-2019Q4:1.4.0.92
	pkgsrc-2019Q4-base:1.4
	pkgsrc-2019Q3:1.4.0.88
	pkgsrc-2019Q3-base:1.4
	pkgsrc-2019Q2:1.4.0.86
	pkgsrc-2019Q2-base:1.4
	pkgsrc-2019Q1:1.4.0.84
	pkgsrc-2019Q1-base:1.4
	pkgsrc-2018Q4:1.4.0.82
	pkgsrc-2018Q4-base:1.4
	pkgsrc-2018Q3:1.4.0.80
	pkgsrc-2018Q3-base:1.4
	pkgsrc-2018Q2:1.4.0.78
	pkgsrc-2018Q2-base:1.4
	pkgsrc-2018Q1:1.4.0.76
	pkgsrc-2018Q1-base:1.4
	pkgsrc-2017Q4:1.4.0.74
	pkgsrc-2017Q4-base:1.4
	pkgsrc-2017Q3:1.4.0.72
	pkgsrc-2017Q3-base:1.4
	pkgsrc-2017Q2:1.4.0.68
	pkgsrc-2017Q2-base:1.4
	pkgsrc-2017Q1:1.4.0.66
	pkgsrc-2017Q1-base:1.4
	pkgsrc-2016Q4:1.4.0.64
	pkgsrc-2016Q4-base:1.4
	pkgsrc-2016Q3:1.4.0.62
	pkgsrc-2016Q3-base:1.4
	pkgsrc-2016Q2:1.4.0.60
	pkgsrc-2016Q2-base:1.4
	pkgsrc-2016Q1:1.4.0.58
	pkgsrc-2016Q1-base:1.4
	pkgsrc-2015Q4:1.4.0.56
	pkgsrc-2015Q4-base:1.4
	pkgsrc-2015Q3:1.4.0.54
	pkgsrc-2015Q3-base:1.4
	pkgsrc-2015Q2:1.4.0.52
	pkgsrc-2015Q2-base:1.4
	pkgsrc-2015Q1:1.4.0.50
	pkgsrc-2015Q1-base:1.4
	pkgsrc-2014Q4:1.4.0.48
	pkgsrc-2014Q4-base:1.4
	pkgsrc-2014Q3:1.4.0.46
	pkgsrc-2014Q3-base:1.4
	pkgsrc-2014Q2:1.4.0.44
	pkgsrc-2014Q2-base:1.4
	pkgsrc-2014Q1:1.4.0.42
	pkgsrc-2014Q1-base:1.4
	pkgsrc-2013Q4:1.4.0.40
	pkgsrc-2013Q4-base:1.4
	pkgsrc-2013Q3:1.4.0.38
	pkgsrc-2013Q3-base:1.4
	pkgsrc-2013Q2:1.4.0.36
	pkgsrc-2013Q2-base:1.4
	pkgsrc-2013Q1:1.4.0.34
	pkgsrc-2013Q1-base:1.4
	pkgsrc-2012Q4:1.4.0.32
	pkgsrc-2012Q4-base:1.4
	pkgsrc-2012Q3:1.4.0.30
	pkgsrc-2012Q3-base:1.4
	pkgsrc-2012Q2:1.4.0.28
	pkgsrc-2012Q2-base:1.4
	pkgsrc-2012Q1:1.4.0.26
	pkgsrc-2012Q1-base:1.4
	pkgsrc-2011Q4:1.4.0.24
	pkgsrc-2011Q4-base:1.4
	pkgsrc-2011Q3:1.4.0.22
	pkgsrc-2011Q3-base:1.4
	pkgsrc-2011Q2:1.4.0.20
	pkgsrc-2011Q2-base:1.4
	pkgsrc-2011Q1:1.4.0.18
	pkgsrc-2011Q1-base:1.4
	pkgsrc-2010Q4:1.4.0.16
	pkgsrc-2010Q4-base:1.4
	pkgsrc-2010Q3:1.4.0.14
	pkgsrc-2010Q3-base:1.4
	pkgsrc-2010Q2:1.4.0.12
	pkgsrc-2010Q2-base:1.4
	pkgsrc-2010Q1:1.4.0.10
	pkgsrc-2010Q1-base:1.4
	pkgsrc-2009Q4:1.4.0.8
	pkgsrc-2009Q4-base:1.4
	pkgsrc-2009Q3:1.4.0.6
	pkgsrc-2009Q3-base:1.4
	pkgsrc-2009Q2:1.4.0.4
	pkgsrc-2009Q2-base:1.4
	pkgsrc-2009Q1:1.4.0.2
	pkgsrc-2009Q1-base:1.4
	pkgsrc-2008Q4:1.3.0.54
	pkgsrc-2008Q4-base:1.3
	pkgsrc-2008Q3:1.3.0.52
	pkgsrc-2008Q3-base:1.3
	cube-native-xorg:1.3.0.50
	cube-native-xorg-base:1.3
	pkgsrc-2008Q2:1.3.0.48
	pkgsrc-2008Q2-base:1.3
	cwrapper:1.3.0.46
	pkgsrc-2008Q1:1.3.0.44
	pkgsrc-2008Q1-base:1.3
	pkgsrc-2007Q4:1.3.0.42
	pkgsrc-2007Q4-base:1.3
	pkgsrc-2007Q3:1.3.0.40
	pkgsrc-2007Q3-base:1.3
	pkgsrc-2007Q2:1.3.0.38
	pkgsrc-2007Q2-base:1.3
	pkgsrc-2007Q1:1.3.0.36
	pkgsrc-2007Q1-base:1.3
	pkgsrc-2006Q4:1.3.0.34
	pkgsrc-2006Q4-base:1.3
	pkgsrc-2006Q3:1.3.0.32
	pkgsrc-2006Q3-base:1.3
	pkgsrc-2006Q2:1.3.0.30
	pkgsrc-2006Q2-base:1.3
	pkgsrc-2006Q1:1.3.0.28
	pkgsrc-2006Q1-base:1.3
	pkgsrc-2005Q4:1.3.0.26
	pkgsrc-2005Q4-base:1.3
	pkgsrc-2005Q3:1.3.0.24
	pkgsrc-2005Q3-base:1.3
	pkgsrc-2005Q2:1.3.0.22
	pkgsrc-2005Q2-base:1.3
	pkgsrc-2005Q1:1.3.0.20
	pkgsrc-2005Q1-base:1.3
	pkgsrc-2004Q4:1.3.0.18
	pkgsrc-2004Q4-base:1.3
	pkgsrc-2004Q3:1.3.0.16
	pkgsrc-2004Q3-base:1.3
	pkgsrc-2004Q2:1.3.0.14
	pkgsrc-2004Q2-base:1.3
	pkgsrc-2004Q1:1.3.0.12
	pkgsrc-2004Q1-base:1.3
	pkgsrc-2003Q4:1.3.0.10
	pkgsrc-2003Q4-base:1.3
	netbsd-1-6-1:1.3.0.6
	netbsd-1-6-1-base:1.3
	netbsd-1-6:1.3.0.8
	netbsd-1-6-RELEASE-base:1.3
	pkgviews:1.3.0.4
	pkgviews-base:1.3
	buildlink2:1.3.0.2
	buildlink2-base:1.3
	netbsd-1-5-PATCH003:1.3
	netbsd-1-5-PATCH001:1.2
	netbsd-1-5-RELEASE:1.1
	netbsd-1-4-PATCH003:1.1
	netbsd-1-4-PATCH002:1.1
	comdex-fall-1999:1.1
	netbsd-1-4-PATCH001:1.1;
locks; strict;
comment	@# @;


1.4
date	2009.01.14.12.20.57;	author sketch;	state Exp;
branches;
next	1.3;

1.3
date	2001.06.19.12.32.18;	author hubertf;	state Exp;
branches;
next	1.2;

1.2
date	2001.02.08.09.12.58;	author bouyer;	state Exp;
branches;
next	1.1;

1.1
date	99.05.18.14.16.53;	author bouyer;	state Exp;
branches;
next	;


desc
@@


1.4
log
@Get rid of `hostname -s` in pkgsrc, on Solaris it sets the hostname to "-s".
@
text
@#! @@PREFIX@@/bin/perl
#	$NetBSD: sys2mrtg,v 1.3 2001/06/19 12:32:18 hubertf Exp $


if (@@ARGV < 1)
{
	goto usage;
}

$cmd = @@ARGV[0];

if ($cmd eq phys)
{
	&vmstat("pages active", "pages free", "bytes per page");
}
if ($cmd eq swap)
{
	&vmstat("swap pages in use", "", "bytes per page");
}
if ($cmd eq pages)
{
	&vmstat("pagein requests", "pageout requests");
}
if ($cmd eq forks)
{
	&vmstat("forks total");
}

if ($cmd eq disks)
{
	if (@@ARGV < 2)
	{
		$diskname = "Total"
	}
	else
	{
		$diskname = @@ARGV[1];
	}
	$total = 0;
	open(CMDOUT, "iostat -xI|");
	while (<CMDOUT>)
	{
		chop $_;
		if (m|^(\w+)[\t\s]+[\d\.]+[\t\s]+[\d\.]+[\t\s]+[\d\.]+[\t\s]+([\d\.]+)|)
		{
			if ($1 eq $diskname)
			{
				$val = $2 * 1000;
				print "$val\n";
				print "0\n";
				&uptime;
				print "$diskname\n";
				exit(0);
			}
			$total = $total + $2 * 1000;
		}
	}
	print "$total\n";
	print "0\n";
	&end;
}

if ($cmd eq irq)
{
	if (@@ARGV < 2)
	{
		$irqname = "Total"
	}
	else
	{
		$irqname = @@ARGV[1];
	}
	open(CMDOUT, "vmstat -i|");
	while (<CMDOUT>)
	{
		chop $_;
		if (m|^(\w+)[\t\s]+(-?\d+)|)
		{
			$val = $2;
			if ($val < 0) {
				$val = 0;
			}
			if ($1 eq $irqname)
			{
				print "$val\n";
			}
		}
	}
	print "0\n";
	if (@@ARGV < 2)
	{
		&end;
	}
	else
	{
		&uptime;
		print "$irqname\n";
	}
}

if ($cmd eq load)
{
	open(UP, "uptime|");
	while($line = <UP>)
	{
		chop $line;
		if ($line =~ m|^.*up\s+(.+),\s+\d+\suser.*load averages:[\s\t]+([\d\.]+),[\s\t]+[\d\.]+,[\s\t]+[\d\.]+$|)
		{
		printf("%d\n", $2 * 100);
		print "0\n";
		print "$1\n";
  	      }
	}
	close(UP);
	open(HOST, "hostname|");
	while (<HOST>)
	{
		s/\..*//;
		print $_;
	}
	close(HOST);
	exit(0);
}

&usage();

sub usage
{
	print STDERR
	    "usage: sys2mrtg (phys|swap|pages|irq [name]|forks|disks[name])|load\n";
	exit(1);
}

sub vmstat
{
	local($f1, $f2,$fmult) = @@_;
	$mult=1;
	$val1=0;
	$val2=0;
	open(CMDOUT, "vmstat -s|");
	while (<CMDOUT>)
	{
		chop $_;
		if (m|(\d+)[\t\s]+(.+)|)
		{
			$val = $1;
			$field = $2;
			if ($field eq $fmult)
			{
				$mult = $val;
			}
			if ($field eq $f1)
			{
				$val1 = $val * $mult;
			}
			if ($field eq $f2)
			{
				$val2 = $val * $mult;
			}
		}
	}
	print "$val1\n";
	print "$val2\n";
	&end;
}

sub uptime
{
	open(UP, "uptime|");
	while($line = <UP>)
	{
		chop $line;
		if ($line =~ m|^.*up\s+(.+),\s+\d+\suser.*|)
		{
		print "$1\n";
  	      }
	}
	close(UP);
}


sub end
{
	&uptime;
	open(HOST, "hostname|");
	while (<HOST>)
	{
		s/\..*//;
		print $_;
	}
	exit(0);
}
@


1.3
log
@RCS ID police
@
text
@d2 1
a2 1
#	$NetBSD$
d115 1
a115 1
	open(HOST, "hostname -s|");
d118 1
d185 1
a185 1
	open(HOST, "hostname -s|");
d188 1
@


1.2
log
@Print 0 when the number of IRQs has become negative instead of nothing (which
confuses mrtg).
@
text
@d2 1
@


1.1
log
@Add 2 perl scripts to collect datas on a NetBSD 1.4 system from netstat,
iostat, systat and a sample config file to use these. Also update the
MESSAGE to stats there is a sample config file.
Result can be seen at http://www.antioche.eu.org/mrtg/.
@
text
@d76 1
a76 1
		if (m|^(\w+)[\t\s]+(\d+)|)
d78 4
d84 1
a84 1
				print "$2\n";
@

