#!/bin/sh
#
#    load_average: grab the current load average
#
#    Copyright (C) 2008 Canonical Ltd.
#    Copyright (C) 2011-2014 Dustin Kirkland
#
#    Authors: Dustin Kirkland <kirkland@byobu.org>
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, version 3 of the License.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

__load_average_detail() {
	if [ -r /proc/loadavg ]; then
		cat /proc/loadavg
	elif [ "$BYOBU_OSTYPE" = "OpenBSD" ]; then
		sysctl -n vm.loadavg 2>/dev/null
	else
		uptime
	fi
}

__load_average() {
	if [ -r "/proc/loadavg" ]; then
		read one five fifteen other < /proc/loadavg
	elif [ "$BYOBU_OSTYPE" = "OpenBSD" ]; then
		# vm.loadavg returns "{ x.xx y.yy z.zz }" -- fields 2,3,4 are the averages
		read -r one five fifteen <<EOF
$(sysctl -n vm.loadavg 2>/dev/null | awk '{print $2, $3, $4}')
EOF
	else
		one=$(uptime | sed -e "s/.*://" | awk '{print $1}')
	fi
	[ -n "$one" ] || return
	if [ "${LOAD_AVERAGES:-1}" = "3" ] && [ -n "$five" ] && [ -n "$fifteen" ]; then
		color Y k; printf "%s %s %s" "$one" "$five" "$fifteen"; color --
	else
		color Y k; printf "%s" "$one"; color --
	fi
}

# vi: syntax=sh ts=4 noexpandtab
