From 5ad17afaf7c9e02d218643417e689df3be249e17 Mon Sep 17 00:00:00 2001 From: Bryan Harris Date: Wed, 27 Jul 2016 01:19:24 +0100 Subject: system/ioping: Added (monitor I/O latency in real time). Signed-off-by: David Spencer --- system/ioping/README | 82 +++++++++++++++++++++++++++ system/ioping/ioping-0.9-Makefile.diff | 11 ++++ system/ioping/ioping.SlackBuild | 100 +++++++++++++++++++++++++++++++++ system/ioping/ioping.info | 10 ++++ system/ioping/slack-desc | 19 +++++++ 5 files changed, 222 insertions(+) create mode 100644 system/ioping/README create mode 100644 system/ioping/ioping-0.9-Makefile.diff create mode 100644 system/ioping/ioping.SlackBuild create mode 100644 system/ioping/ioping.info create mode 100644 system/ioping/slack-desc diff --git a/system/ioping/README b/system/ioping/README new file mode 100644 index 0000000000..7db64d66ce --- /dev/null +++ b/system/ioping/README @@ -0,0 +1,82 @@ +ioping +====== + +An tool to monitor I/O latency in real time. +It shows disk latency in the same way as ping shows network latency. + +Homepage: https://github.com/koct9i/ioping/ +(migrated from http://code.google.com/p/ioping/) + +Please send your patches, issues and questions to +https://github.com/koct9i/ioping/issues/ + +Supported OS +------------ + +* GNU/Linux +* GNU/HURD +* Windows +* OS X +* FreeBSD +* DragonFlyBSD +* OpenBSD + +Packages +-------- + +* Debian: https://packages.debian.org/unstable/main/ioping +* Ubuntu: https://launchpad.net/ubuntu/+source/ioping +* Fedora: https://apps.fedoraproject.org/packages/ioping +* ArchLinux: https://www.archlinux.org/packages/community/x86_64/ioping +* AltLinux: http://www.sisyphus.ru/en/srpm/Sisyphus/ioping +* Gentoo: https://packages.gentoo.org/package/app-benchmarks/ioping +* Nix: https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/system/ioping/default.nix +* FreeBSD: http://www.freshports.org/sysutils/ioping +* OS X: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/ioping.rb + +Examples +-------- + +Show disk I/O latency using the default values and the current directory, until interrupted + +``` +$ ioping . +4096 bytes from . (ext4 /dev/sda3): request=1 time=0.2 ms +4096 bytes from . (ext4 /dev/sda3): request=2 time=0.2 ms +4096 bytes from . (ext4 /dev/sda3): request=3 time=0.3 ms +4096 bytes from . (ext4 /dev/sda3): request=4 time=12.7 ms +4096 bytes from . (ext4 /dev/sda3): request=5 time=0.3 ms +^C +--- . (ext4 /dev/sda3) ioping statistics --- +5 requests completed in 4794.0 ms, 364 iops, 1.4 MiB/s +min/avg/max/mdev = 0.2/2.8/12.7/5.0 ms +``` + +Measure disk seek rate (iops, avg) + +``` +$ ioping -R /dev/sda + +--- /dev/sda (device 465.8 GiB) ioping statistics --- +186 requests completed in 3004.6 ms, 62 iops, 0.2 MiB/s +min/avg/max/mdev = 6.4/16.0/26.8/4.7 ms +``` + +Measure disk sequential speed (MiB/s) + +``` +$ ioping -RL /dev/sda + +--- /dev/sda (device 465.8 GiB) ioping statistics --- +837 requests completed in 3004.1 ms, 292 iops, 72.9 MiB/s +min/avg/max/mdev = 2.0/3.4/28.9/2.0 ms +``` + +Authors +------- + +* Konstantin Khlebnikov +* Kir Kolyshkin + +Licensed under GPLv3 (or later) + diff --git a/system/ioping/ioping-0.9-Makefile.diff b/system/ioping/ioping-0.9-Makefile.diff new file mode 100644 index 0000000000..d1cd233bdc --- /dev/null +++ b/system/ioping/ioping-0.9-Makefile.diff @@ -0,0 +1,11 @@ +--- Makefile 2014-10-06 02:05:35.000000000 -0400 ++++ Makefile.new 2016-06-02 13:21:26.326048007 -0400 +@@ -31,7 +31,7 @@ + all: version $(BINS) + + version: $(DISTFILES) +- test ! -d .git || git describe --tags --dirty=+ | sed 's/^v//;s/-/./g' > $@ ++ echo 0.9 > $@ + + clean: + $(RM) -f $(OBJS) $(BINS) $(MANS_F) diff --git a/system/ioping/ioping.SlackBuild b/system/ioping/ioping.SlackBuild new file mode 100644 index 0000000000..6990e5664b --- /dev/null +++ b/system/ioping/ioping.SlackBuild @@ -0,0 +1,100 @@ +#!/bin/sh + +# Slackware build script for ioping + +# Copyright 2016 Bryan Harris, Texas, United States +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=ioping +VERSION=${VERSION:-0.9} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# We don't have a git repo so we manually set the version in the Makefile +patch < $CWD/ioping-0.9-Makefile.diff + +make install \ + OPTS="$SLKCFLAGS" \ + PREFIX=/usr \ + DESTDIR=$PKG + +strip --strip-unneeded $PKG/usr/bin/ioping +mkdir -p $PKG/usr/man/man1 +mv $PKG/usr/share/man/man1/ioping.1 $PKG/usr/man/man1 +gzip -9 $PKG/usr/man/man1/ioping.1 +rmdir $PKG/usr/share/man/man1 +rmdir $PKG/usr/share/man +rmdir $PKG/usr/share + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $TMP/$PRGNAM-$VERSION/changelog > $PKG/usr/doc/$PRGNAM-$VERSION/changelog +cat $TMP/$PRGNAM-$VERSION/README > $PKG/usr/doc/$PRGNAM-$VERSION/README +cat $TMP/$PRGNAM-$VERSION/LICENSE > $PKG/usr/doc/$PRGNAM-$VERSION/LICENSE +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/ioping/ioping.info b/system/ioping/ioping.info new file mode 100644 index 0000000000..bd49959504 --- /dev/null +++ b/system/ioping/ioping.info @@ -0,0 +1,10 @@ +PRGNAM="ioping" +VERSION="0.9" +HOMEPAGE="https://github.com/koct9i/ioping" +DOWNLOAD="https://github.com/koct9i/ioping/archive/v0.9/ioping-0.9.tar.gz" +MD5SUM="8f2a9c03c3b689ed2c62b7ff72b46022" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Bryan Harris" +EMAIL="bryanlharris@gmail.com" diff --git a/system/ioping/slack-desc b/system/ioping/slack-desc new file mode 100644 index 0000000000..c96231af05 --- /dev/null +++ b/system/ioping/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +ioping: iopoing (monitor I/O latency in real time) +ioping: +ioping: A tool to monitor I/O latency in real time. It shows disk latency +ioping: in the same way as ping shows network latency. +ioping: +ioping: Homepage: https://github.com/koct9i/ioping +ioping: +ioping: +ioping: +ioping: +ioping: -- cgit v1.2.3