virt-top-1.0.9/0000775000175000017500000000000013526773141012702 5ustar rjonesrjonesvirt-top-1.0.9/.gitignore0000664000175000017500000000050613005633020014652 0ustar rjonesrjones*.a *.cma *.cmi *.cmo *.cmx *.cmxa *.dll *.exe *.o *.opt *.orig *.so *~ META Makefile aclocal.m4 config.cache config.h config.log config.status configure core core.* html /Make.rules /autom4te.cache /po/*.mo /po/*.po.bak /src/opt_gettext.ml /src/version.ml /src/virt-top /src/virt-top.1 /src/virt-top.txt /virt-top-*.tar.gz virt-top-1.0.9/ChangeLog0000664000175000017500000003342313526773141014461 0ustar rjonesrjones2019-08-20 Richard W.M. Jones Version 1.0.9. src/top.ml: Don't depend on exact value of Failure argument. File "top.ml", line 423, characters 14-31: 423 | Failure "float_of_string" -> ^^^^^^^^^^^^^^^^^ Warning 52: Code should not depend on the actual values of this constructor's arguments. They are only for information and may change in future versions. (See manual section 9.5) 2018-09-20 Richard W.M. Jones build: Pass through CFLAGS and LDFLAGS to ocaml compiler (RHBZ#1630636). 2017-11-18 Richard W.M. Jones Link with -fPIC runtime. Fixes for -safe-string in OCaml 4.06. 2017-03-28 Richard W.M. Jones chmod -x COPYING* files. Use virConnectGetAllDomainStats API to collect domain stats (RHBZ#1422795). This is much faster than using the basic libvirt APIs to collect stats for each domain individually. Note this will not work unless you have the latest ocaml-libvirt package which includes this new API binding. Remove unused variable is_calendar2. Fixes commit effd1ec5897a2cac6e897ae7bce72f6b1e617b90. 2017-03-27 Richard W.M. Jones Move block_in_bytes entirely to the presentation layer. Simplifies and updates commit dbef8dd3bf00417e75a12c851b053e49c9e1a79e. Split up huge Top module into smaller modules. This change is hopefully pure refactoring, splitting up the very large and highly interlinked module into more manageable modules with well-defined (or at least *better*-defined) interfaces between them. src: Fix some comments which referred to the old filenames. Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c. Remove support for OCaml Calendar v1. Calendar v2 was released in 2008 (9 years ago!), thus remove support for v1. This was already broken by commit dc0e217390132f7e76a4d9c0a8a81a9556d19081 so it likely didn't work anyway. Update PO files. Fix po/POTFILES for new location of source files. Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c. Refresh HACKING file. Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c. Remove +x (executable) permission on several source files. Not sure why it was there, but it was incorrect. Enable same warnings as libguestfs. In particular 'warning 3' was still enabled before, meaning that the code would fail with newer OCaml compilers: File "top.ml", line 377, characters 12-25: Warning 3: deprecated: String.create Use Bytes.create instead. Since we want to continue using old OCaml for now, don't enable this warning. 2016-10-31 Richard W.M. Jones Rename source directory and files. This renames the source directory from virt-top to src/ and removes the unnecessary virt_top_* prefix from many source files. This is entirely refactoring and makes no functional change. Also this fixes the MANIFEST file and removes old Transifex configuration, fixing commit defe5bdd4a32e0206a786d279e0f9cfc238e5e17. 2016-01-04 Richard W.M. Jones build: Add -g flag to ocamlopt. Modern ocamlopt supports the -g flag fine (very old versions did not). 2015-02-21 Richard W.M. Jones Update translations from Zanata. Move upstream translations from Tranifex to Zanata. This is at the request of the Fedora localization team. For further information see: https://www.redhat.com/archives/libguestfs/2015-February/msg00168.html 2014-08-02 Richard W.M. Jones Disable warning about immutable strings (for OCaml 4.02). 2012-10-12 Richard W.M. Jones Version 1.0.8. 2012-10-12 Hu Tao show `vcpu usages' by `virt-top -1' Before this patch, `virt-top -1' shows total cpu usages which euqal to `vcpu usages' + `hypervisor usages'. This patch adds another column for domains showing `vcpu usages'. An example is: PHYCPU %CPU example_domain 0 10.4 10.4 0.8 1 1.6 1.6 1.4 2 2.6 2.6 2.6 3 0.0 0.0 0.1 RWMJ: I cleaned up this patch a little, but it should be functionally the same. Rename find_usages_from_stats as find_cpu_usages. This is just code motion. 2012-10-12 Richard W.M. Jones OCaml stable dependencies. Remove D.get_cpu_stats second parameter. In upstream ocaml-libvirt, this second parameter has been removed, because it was found that nr_pcpus can be found by calling the libvirt API directly. 2012-09-28 Richard W.M. Jones Make the main code and exception handling simpler. Better error messages when parsing the init file (RHBZ#836231). Add missing sort order options in --help output (RHBZ#807176). Man page: Add an explanation of columns (RHBZ#834208). man page: Update copyright date. 2012-03-06 Richard W.M. Jones Version 1.0.7. Ignore aclocal.m4. Document requirements in README file. 2012-03-06 Lai Jiangshan virt-top: correct "virt-top -1" command via cpuacct cgroup Old "virt-top -1" is not correct, its output is generated by guess: use average usage for pinned physical CPUs. example(old "virt-top -1"): PHYCPU %CPU rhel6 Windows 0 0.6 0.1= 0.5= 1 0.6 0.1= 0.5=# 2 0.6 0.1= 0.5= 3 0.6 0.1=# 0.5= The output almost makes no sense(all the value are just average, not real). This is new implement, it use cpuacct cgroup to gain *real* physical usages via cpuacct cgroup by virDomainGetCPUStats() API. new result: PHYCPU %CPU rhel6 Windows 0 1.3 0.3 1.0 1 2.3 0.3 2.0 2 2.2 0.5 1.7 3 2.5 0.4 2.1 PHYCPU %CPU rhel6 Windows 0 1.7 0.4 1.3 1 3.6 1.0 2.7 2 1.6 0.4 1.2 3 4.8 3.1 1.7 Note: average flag(=) is dropped, there is not average value in here. Note: running flag(#) is dropped, because if the value is not empty, it means the guest was once running in the physical CPU in this period between updates. Changed from V3: use new virDomainGetCPUStats() libvirt-API. add a new function find_usages_from_stats() to gain cpu usages. 2011-08-15 Richard W.M. Jones Ensure manpages get built when using native compiler (thanks Laurent Léonard). 2011-08-12 Richard W.M. Jones Version 1.0.6. Update MANIFEST and fix 'make dist'. make dist now copies the generated manual pages into the tarball, so that we don't have to keep these generated files in git. Fix ordering of csv_mode and stream_mode in tuple. Note that this bug could have been avoided by using a struct instead of a tuple here. This updates commit daf79631f3eff904ba89297148c4125ac7dfee39. 2011-08-11 Richard W.M. Jones docs: Explain how to debug libvirt initialization problems (RHBZ#680031). 2011-04-02 Richard W.M. Jones Pull translations from Transifex. 2011-03-08 Richard W.M. Jones Fix --end-time option with absolute times. Assume the user enters a local time, and convert it to UTC. This also adds some clarifying comments to the relative time code (but doesn't change that code). Note that the obsolete Calendar1 code is *not* updated by this change. docs: Fix documentation for virt-top -c option. Because of changes in libvirt, this no longer connects to Xen by default. Instead the default is to connect to the libvirt default hypervisor (which could be Xen, KVM or others). Update the --help documentation and manual page accordingly. Remove generated man pages from git. 2011-03-07 KAMEZAWA Hiroyuki add memory stats to --csv mode. In csv mode, memory usage in kbytes and %mem against total system memory is shown. 2011-03-07 KAMEZAWA Hiroyuki Record memory statistics information to 'rd' object. This helps to share the calculation (between modes) and will help to show memory statistics in --csv mode Signged-off-by: KAMEZAWA Hiroyuki 2011-03-07 Richard W.M. Jones Import virt-top into transifex. http://www.transifex.net/projects/p/virttop/ 2011-02-02 Richard W.M. Jones Update generated man page files. 2011-02-02 KAMEZAWA Hiroyuki Add --block-in-bytes option. This option and the 'B' key toggles block I/O stats between requests and bytes. Add --stream flag. Output is sent to stdout (similar to the top -b option). 2011-01-24 Richard W.M. Jones Obey virt-top --end-time down to near millisecond accuracy (RHBZ#637964). Adjust the final delay down so that the --end-time option is obeyed down to near millisecond accuracy. The 'usleep' function has been renamed more accurately as 'millisleep' since it sleeps for milliseconds not microseconds. 2011-01-06 Richard W.M. Jones Version 1.0.5. Add aclocal.m4 file to git. This file is sort of generated, but at the moment only has a single line which includes m4/ocaml.m4, that is vital for the build. Re-add virt-top/README file. This seems to have been dropped during the hg->git transition. Document background noise of RX packets from bridges (RHBZ#647987). For more information see: https://bugzilla.redhat.com/show_bug.cgi?id=647987#c9 man page: Remove excess blank line. main: Record and print full exception stack traces. This turns on stack trace recording unconditionally (the same effect as if OCAMLRUNPARAM=b was always supplied), and also prints stack traces to the log file if there is an exception. See also: http://caml.inria.fr/pub/docs/manual-ocaml/libref/Printexc.html Note that this requires OCaml >= 3.11.0. Fix pad function to work for negative widths (RHBZ#634435). The pad function is supposed to pad a string to a width. Under some circumstances, the width parameter could be negative resulting in a call to String.sub such as: String.sub str 0 (-1) which caused an exception to be thrown and not caught, causing virt-top to exit. Fix the pad function to return an empty string if width <= 0 instead of throwing an exception. See also: https://bugzilla.redhat.com/show_bug.cgi?id=634435 Update dependencies. Update generated man pages. Fix virt-top --end-time option when TZ<>UTC (RHBZ#637964). Return the end time as seconds since 1970, and don't adjust it for timezone. In the main module the end time is compared against the result of Unix.gettimeofday, which is also seconds since 1970, so the comparison now works. Tested with TZ=UTC-05, TZ=UTC and TZ=UTC+05. NB: This has not been tested against ocaml-calendar 1.x, although that version of calendar is obsolete and no one should be using it. Update dependencies file. man page: memory option shows total guest memory (RHBZ#647991). man page: Update copyright date and link to web pages. Remove references to xm/xentop manual pages (RHBZ#648186). These Xen tools are obsolete since virsh/virt-top works across all hypervisors. 2010-09-02 Richard Jones Change order of return values from getyx - fixes display of historical CPU. In this commit: http://cvs.savannah.gnu.org/viewvc/ocaml-tmk/functions.c?root=ocaml-tmk&r1=1.2&r2=1.3 Sam changed (fixed) the order that the coordinates are returned from the ncurses 'getyx' call. Since this commit was made 3 years ago it should be safe to assume everyone is using the new ocaml-ncurses by now. This meant the historical %CPU was being displayed off the bottom of the screen instead of on the top row at the right. Now it is displayed in the correct place. 2010-06-15 Kiyoto Hashida Update Japanese translations (RHBZ#493799). 2010-03-05 Yulia Updated Russian translations (RHBZ#493799). 2010-03-05 Richard Jones Newer autoconf adds PACKAGE_URL definition. 2010-02-12 Richard Jones zh_CN: Remove bogus Plural-Forms line. Japanese: update bogus 'Plural-Forms: Plural-Forms'. 2010-02-12 Hajime Taira Update Japanese translations (RHBZ#493799). 2010-01-28 Richard Jones Rename te_IN.po -> te.po (Piotr Drąg). Telugu translation added by Krishna Babu K (RHBZ#493799c32) Polish translation updated by Piotr Drag (RHBZ#493799c31) Portuguese translation added by Glaucia Cintra (RHBZ#493799c30) Chinese translation updated by Wei Liu (RHBZ#493799c29) Oriya translation added by Manoj Kumar Giri (RHBZ#493799c28) Spanish translation updated by Daniel Cabrera (RHBZ#493799c27) 2009-12-30 Richard Jones Update to ocaml-autoconf macros 1.1 Fix detection of ocaml-findlib. 2009-10-06 Richard Jones HACKING file, update (C) messages. Update PO files. Remove extra spaces after s_ and f_ operators. Safer curses functions. Add safer curses functions which don't require use of dangerous ignore() function. Replace failwith (sprintf...) with failwithf Remove -w s and fix so it compiles without warnings. Remove NSIS installer. Change over to using ocaml.m4 macros. 2009-10-05 Richard Jones Updated MANIFEST. TODO.virt-top renamed as TODO Typo fixed. Update manpage with --version option. Add virt-top --version command line option. Add the real virt-top version to help display. Version 1.0.4 for release. Fix changelog and manifest files. gitlog-to-changelog: If the date field is empty, don't barf. Added Jim Meyering's gitlog-to-changelog program. Add total hardware memory field (RHBZ#521785) Don't need to explicitly link against ncurses. Update PO files. Add Japanese to list of translations. Use msgfmt to generate *.mo files correctly. Update documentation. Update dependencies. Rename .hgignore -> .gitignore, update dependencies. virt-top-1.0.9/config.guess0000775000175000017500000012626012107133561015217 0ustar rjonesrjones#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2006-07-02' # This file 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; either version 2 of the License, or # (at your option) any later version. # # 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, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; x86:Interix*:[3456]*) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T:Interix*:[3456]*) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: virt-top-1.0.9/config.h.in0000664000175000017500000000103312107133561014710 0ustar rjonesrjones/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION virt-top-1.0.9/config.sub0000775000175000017500000007746012107133561014671 0ustar rjonesrjones#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2006-09-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file 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; either version 2 of the License, or # (at your option) any later version. # # 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, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16c) basic_machine=cr16c-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: virt-top-1.0.9/configure.ac0000664000175000017500000000752613526772466015213 0ustar rjonesrjones# virt-top # Copyright (C) 2007-2008 Red Hat Inc., Richard W.M. Jones # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA dnl Process this file with autoconf to produce a configure script. AC_INIT([virt-top],[1.0.9]) AC_CONFIG_MACRO_DIR([m4]) AC_PROG_INSTALL dnl Check for basic OCaml environment & findlib. AC_PROG_OCAML AC_PROG_FINDLIB if test "x$OCAMLFIND" = "xno"; then AC_MSG_ERROR([OCaml findlib is required]) fi dnl Use ocamlfind to find the required packages ... dnl Check for required OCaml packages. AC_CHECK_OCAML_PKG(unix) if test "x$OCAML_PKG_unix" = "xno"; then AC_MSG_ERROR([Cannot find required OCaml package 'unix']) fi AC_CHECK_OCAML_PKG(extlib) if test "x$OCAML_PKG_extlib" = "xno"; then AC_MSG_ERROR([Cannot find required OCaml package 'extlib']) fi AC_CHECK_OCAML_PKG(libvirt) if test "x$OCAML_PKG_libvirt" = "xno"; then AC_MSG_ERROR([Cannot find required OCaml package 'libvirt']) fi AC_CHECK_OCAML_PKG(curses) if test "x$OCAML_PKG_curses" = "xno"; then AC_MSG_ERROR([Cannot find required OCaml package 'curses']) fi dnl Check for optional OCaml packages. AC_CHECK_OCAML_PKG(gettext) AC_CHECK_OCAML_PKG(xml-light) AC_CHECK_OCAML_PKG(csv) AC_CHECK_OCAML_PKG(calendar) AC_SUBST(OCAML_PKG_unix) AC_SUBST(OCAML_PKG_extlib) AC_SUBST(OCAML_PKG_curses) AC_SUBST(OCAML_PKG_gettext) AC_SUBST(OCAML_PKG_xml_light) AC_SUBST(OCAML_PKG_csv) AC_SUBST(OCAML_PKG_calendar) dnl Check for optional perldoc (for building manual pages). AC_CHECK_PROG(HAVE_PERLDOC,perldoc,perldoc) dnl Check for recommended ocaml-gettext tool. AC_CHECK_PROG(OCAML_GETTEXT,ocaml-gettext,ocaml-gettext) dnl Check for msgfmt tool. AC_CHECK_PROG(MSGFMT,msgfmt,msgfmt) dnl Substitute CFLAGS and LDFLAGS if set. AC_SUBST([CFLAGS]) AC_SUBST([LDFLAGS]) dnl Write gettext modules for the programs. dnl http://www.le-gall.net/sylvain+violaine/documentation/ocaml-gettext/html/reference-manual/ch03s04.html AC_MSG_NOTICE([creating src/opt_gettext.ml]) rm -f src/opt_gettext.ml echo "(* This file is generated automatically by ./configure. *)" > src/opt_gettext.ml if test "x$OCAML_PKG_gettext" != "xno"; then # Gettext module is available, so use it. cat <>src/opt_gettext.ml module Gettext = Gettext.Program ( struct let textdomain = "virt-top" let codeset = None let dir = None let dependencies = [[]] end ) (GettextStub.Native) EOT else # No gettext module is available, so fake the translation functions. cat <>src/opt_gettext.ml module Gettext = struct external s_ : string -> string = "%identity" external f_ : ('a -> 'b, 'c, 'd) format -> ('a -> 'b, 'c, 'd) format = "%identity" let sn_ : string -> string -> int -> string = fun s p n -> if n = 1 then s else p let fn_ : ('a -> 'b, 'c, 'd) format -> ('a -> 'b, 'c, 'd) format -> int -> ('a -> 'b, 'c, 'd) format = fun s p n -> if n = 1 then s else p end EOT fi dnl Summary. echo "------------------------------------------------------------" echo "Thanks for downloading" $PACKAGE_STRING echo "------------------------------------------------------------" dnl Produce output files. AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile Make.rules po/Makefile src/Makefile src/version.ml ]) AC_OUTPUT virt-top-1.0.9/COPYING0000664000175000017500000004307012107133561013727 0ustar rjonesrjones GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy 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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. virt-top-1.0.9/COPYING.LIB0000664000175000017500000006365612107133561014350 0ustar rjonesrjones GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. ^L Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. ^L GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. ^L Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. ^L 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. ^L 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. ^L 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. ^L 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS ^L How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! virt-top-1.0.9/HACKING0000664000175000017500000000071413066173644013674 0ustar rjonesrjonesThis file contains some tips for hacking on this code. General OCaml advice: (1) The *.mli file describes the interface of the module. It's a good idea to look at this file first, then at *.ml (the implementation). (2) Emacs users: use tuareg-mode for editing OCaml. (3) https://realworldocaml.org/ is the definitive book which is also available online in full. (4) http://camltastic.blogspot.com/2008/08/3-things-that-will-confuse-you-when.html virt-top-1.0.9/gitlog-to-changelog0000775000175000017500000001242512107133561016454 0ustar rjonesrjones#!/usr/bin/perl # Convert git log output to ChangeLog format. my $VERSION = '2009-10-05 15:04'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. # Copyright (C) 2008, 2009 Free Software Foundation, Inc. # 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, either version 3 of the License, or # (at your option) any later version. # 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 . # Written by Jim Meyering use strict; use warnings; use Getopt::Long; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; # use File::Coda; # http://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; warn "$ME: failed to close standard output: $!\n"; $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try `$ME --help' for more information.\n"; } else { print $STREAM < ChangeLog $ME -- -n 5 foo > last-5-commits-to-branch-foo EOF } exit $exit_code; } # If the string $S is a well-behaved file name, simply return it. # If it contains white space, quotes, etc., quote it, and return the new string. sub shell_quote($) { my ($s) = @_; if ($s =~ m![^\w+/.,-]!) { # Convert each single quote to '\'' $s =~ s/\'/\'\\\'\'/g; # Then single quote the string. $s = "'$s'"; } return $s; } sub quoted_cmd(@) { return join (' ', map {shell_quote $_} @_); } { my $since_date = '1970-01-01 UTC'; my $format_string = '%s%n%b%n'; GetOptions ( help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, 'since=s' => \$since_date, 'format=s' => \$format_string, ) or usage 1; my @cmd = (qw (git log --log-size), "--since=$since_date", '--pretty=format:%ct %an <%ae>%n%n'.$format_string, @ARGV); open PIPE, '-|', @cmd or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n" . "(Is your Git too old? Version 1.5.1 or later is required.)\n"); my $prev_date_line = ''; while (1) { defined (my $in = ) or last; $in =~ /^log size (\d+)$/ or die "$ME:$.: Invalid line (expected log size):\n$in"; my $log_nbytes = $1; my $log; my $n_read = read PIPE, $log, $log_nbytes; $n_read == $log_nbytes or die "$ME:$.: unexpected EOF\n"; my @line = split "\n", $log; my $author_line = shift @line; defined $author_line or die "$ME:$.: unexpected EOF\n"; if ($author_line =~ /^(\d+) (.*>)$/) { my $date_line = sprintf "%s $2\n", strftime ("%F", localtime ($1)); # If this line would be the same as the previous date/name/email # line, then arrange not to print it. if ($date_line ne $prev_date_line) { $prev_date_line eq '' or print "\n"; print $date_line; } $prev_date_line = $date_line; } # Omit "Signed-off-by..." lines. @line = grep !/^Signed-off-by: .*>$/, @line; # If there were any lines if (@line == 0) { warn "$ME: warning: empty commit message:\n $prev_date_line\n"; } else { # Remove leading and trailing blank lines. while ($line[0] =~ /^\s*$/) { shift @line; } while ($line[$#line] =~ /^\s*$/) { pop @line; } # Prefix each non-empty line with a TAB. @line = map { length $_ ? "\t$_" : '' } @line; print "\n", join ("\n", @line), "\n"; } defined ($in = ) or last; $in ne "\n" and die "$ME:$.: unexpected line:\n$in"; } close PIPE or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n"; # FIXME-someday: include $PROCESS_STATUS in the diagnostic } # Local Variables: # indent-tabs-mode: nil # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d %02H:%02M" # time-stamp-time-zone: "UTC" # time-stamp-end: "'; # UTC" # End: virt-top-1.0.9/install-sh0000775000175000017500000003160012107133561014674 0ustar rjonesrjones#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit $?;; -m) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dstarg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dstarg" shift # fnord fi shift # arg dstarg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dstarg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dstarg # Protect names starting with `-'. case $dst in -*) dst=./$dst ;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { if test -f "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: virt-top-1.0.9/Makefile.in0000664000175000017500000000407413005632356014746 0ustar rjonesrjones# virt-top # Copyright (C) 2007-2014 Red Hat Inc., Richard W.M. Jones # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA PACKAGE = @PACKAGE_NAME@ VERSION = @PACKAGE_VERSION@ INSTALL = @INSTALL@ MAKENSIS = @MAKENSIS@ SUBDIRS = src all opt depend install: $(MAKE) -C src $@ clean: for d in . $(SUBDIRS); do \ (cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *.opt *~ *.dll *.exe core); \ done rm -f src/virt-top distclean: clean rm -f config.h config.log config.status configure rm -rf autom4te.cache rm -f Makefile rm -f src/Makefile # Distribution. dist: ChangeLog $(MAKE) check-manifest rm -rf $(PACKAGE)-$(VERSION) mkdir $(PACKAGE)-$(VERSION) tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf - $(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/ $(INSTALL) -m 0644 aclocal.m4 $(PACKAGE)-$(VERSION)/ $(INSTALL) -m 0644 src/virt-top.1 $(PACKAGE)-$(VERSION)/src/ $(INSTALL) -m 0644 src/virt-top.txt $(PACKAGE)-$(VERSION)/src/ tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) rm -rf $(PACKAGE)-$(VERSION) ls -l $(PACKAGE)-$(VERSION).tar.gz check-manifest: git ls-files | sort > .check-manifest; \ sort MANIFEST > .orig-manifest; \ diff -u .orig-manifest .check-manifest; rv=$$?; \ rm -f .orig-manifest .check-manifest; \ exit $$rv ChangeLog: $(shell find -type f) ./gitlog-to-changelog > $@.new mv $@.new $@ .PHONY: all opt depend install clean distclean force virt-top-1.0.9/Make.rules.in0000664000175000017500000000420212107133561015224 0ustar rjonesrjones# ocaml-libvirt # Copyright (C) 2007-2009 Red Hat Inc., Richard W.M. Jones # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # This file is included by Makefiles in subdirectories. OCAMLFIND = @OCAMLFIND@ OCAMLDEP = @OCAMLDEP@ OCAMLC = @OCAMLC@ OCAMLOPT = @OCAMLOPT@ # Common rules for building OCaml objects. ifneq ($(OCAMLFIND),) .mli.cmi: $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $< .ml.cmo: $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $< .ml.cmx: $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $< else .mli.cmi: $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $< .ml.cmo: $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $< .ml.cmx: $(OCAMLOPT) $(OCAMLOPTFLAGS) $(OCAMLOPTINCS) -c $< endif %.ml %.mli: %.mly ocamlyacc $< .mll.ml: ocamllex $< # Dependencies. depend: .depend ifneq ($(OCAMLFIND),) .depend: $(wildcard *.mli) $(wildcard *.ml) rm -f $@ $@-t $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) $(OCAMLDEPFLAGS) $^ | \ sed 's/ :/:/' | \ sed 's/ *$$//' | \ sed -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \ sort > $@-t mv $@-t $@ else .depend: $(wildcard *.mli) $(wildcard *.ml) rm -f $@ $@-t $(OCAMLDEP) $(OCAMLCINCS) $(OCAMLDEPFLAGS) $^ | \ sed 's/ :/:/' | \ sed 's/ *$$//' | \ sed -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \ sort > $@-t mv $@-t $@ endif ifeq ($(wildcard .depend),.depend) include .depend endif .PHONY: depend dist check-manifest dpkg doc .SUFFIXES: .cmo .cmi .cmx .ml .mli .mll .mly virt-top-1.0.9/MANIFEST0000664000175000017500000000164713066270173014037 0ustar rjonesrjones.gitignore ChangeLog config.guess config.h.in config.sub configure.ac COPYING COPYING.LIB HACKING gitlog-to-changelog install-sh Makefile.in Make.rules.in MANIFEST m4/ocaml.m4 po/as.po po/ca.po po/de.po po/es.po po/eu.po po/fr.po po/gu.po po/hu.po po/id.po po/it.po po/ja.po po/ka.po po/kn.po po/LINGUAS po/Makefile.in po/ml.po po/mr.po po/nl.po po/or.po po/pa.po po/pl.po po/pt_BR.po po/pt.po po/POTFILES po/ru.po po/sr.po po/sv.po po/te.po po/tg.po po/tr.po po/uk.po po/virt-top.pot po/zanata-pull.sh po/zanata.xml po/zh_CN.po po/zh_TW.po README TODO src/.depend src/Makefile.in src/README src/collect.ml src/collect.mli src/csv_output.ml src/csv_output.mli src/main.ml src/opt_calendar.ml src/opt_csv.ml src/opt_xml.ml src/redraw.ml src/redraw.mli src/screen.ml src/screen.mli src/stream_output.ml src/stream_output.mli src/top.ml src/top.mli src/types.ml src/types.mli src/utils.ml src/utils.mli src/version.ml.in src/virt-top.pod virt-top-1.0.9/m4/0000775000175000017500000000000013526773141013222 5ustar rjonesrjonesvirt-top-1.0.9/m4/ocaml.m40000664000175000017500000001345012107133561014550 0ustar rjonesrjonesdnl autoconf macros for OCaml dnl dnl Copyright © 2009 Richard W.M. Jones dnl Copyright © 2009 Stefano Zacchiroli dnl Copyright © 2000-2005 Olivier Andrieu dnl Copyright © 2000-2005 Jean-Christophe Filliâtre dnl Copyright © 2000-2005 Georges Mariano dnl dnl For documentation, please read the ocaml.m4 man page. AC_DEFUN([AC_PROG_OCAML], [dnl # checking for ocamlc AC_CHECK_TOOL([OCAMLC],[ocamlc],[no]) if test "$OCAMLC" != "no"; then OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version* *\(.*\)$|\1|p'` AC_MSG_RESULT([OCaml version is $OCAMLVERSION]) # If OCAMLLIB is set, use it if test "$OCAMLLIB" = ""; then OCAMLLIB=`$OCAMLC -where 2>/dev/null || $OCAMLC -v|tail -1|cut -d ' ' -f 4` else AC_MSG_RESULT([OCAMLLIB previously set; preserving it.]) fi AC_MSG_RESULT([OCaml library path is $OCAMLLIB]) AC_SUBST([OCAMLVERSION]) AC_SUBST([OCAMLLIB]) # checking for ocamlopt AC_CHECK_TOOL([OCAMLOPT],[ocamlopt],[no]) OCAMLBEST=byte if test "$OCAMLOPT" = "no"; then AC_MSG_WARN([Cannot find ocamlopt; bytecode compilation only.]) else TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` if test "$TMPVERSION" != "$OCAMLVERSION" ; then AC_MSG_RESULT([versions differs from ocamlc; ocamlopt discarded.]) OCAMLOPT=no else OCAMLBEST=opt fi fi AC_SUBST([OCAMLBEST]) # checking for ocamlc.opt AC_CHECK_TOOL([OCAMLCDOTOPT],[ocamlc.opt],[no]) if test "$OCAMLCDOTOPT" != "no"; then TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` if test "$TMPVERSION" != "$OCAMLVERSION" ; then AC_MSG_RESULT([versions differs from ocamlc; ocamlc.opt discarded.]) else OCAMLC=$OCAMLCDOTOPT fi fi # checking for ocamlopt.opt if test "$OCAMLOPT" != "no" ; then AC_CHECK_TOOL([OCAMLOPTDOTOPT],[ocamlopt.opt],[no]) if test "$OCAMLOPTDOTOPT" != "no"; then TMPVERSION=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` if test "$TMPVERSION" != "$OCAMLVERSION" ; then AC_MSG_RESULT([version differs from ocamlc; ocamlopt.opt discarded.]) else OCAMLOPT=$OCAMLOPTDOTOPT fi fi fi AC_SUBST([OCAMLOPT]) fi AC_SUBST([OCAMLC]) # checking for ocaml toplevel AC_CHECK_TOOL([OCAML],[ocaml],[no]) # checking for ocamldep AC_CHECK_TOOL([OCAMLDEP],[ocamldep],[no]) # checking for ocamlmktop AC_CHECK_TOOL([OCAMLMKTOP],[ocamlmktop],[no]) # checking for ocamlmklib AC_CHECK_TOOL([OCAMLMKLIB],[ocamlmklib],[no]) # checking for ocamldoc AC_CHECK_TOOL([OCAMLDOC],[ocamldoc],[no]) # checking for ocamlbuild AC_CHECK_TOOL([OCAMLBUILD],[ocamlbuild],[no]) ]) AC_DEFUN([AC_PROG_OCAMLLEX], [dnl # checking for ocamllex AC_CHECK_TOOL([OCAMLLEX],[ocamllex],[no]) if test "$OCAMLLEX" != "no"; then AC_CHECK_TOOL([OCAMLLEXDOTOPT],[ocamllex.opt],[no]) if test "$OCAMLLEXDOTOPT" != "no"; then OCAMLLEX=$OCAMLLEXDOTOPT fi fi AC_SUBST([OCAMLLEX]) ]) AC_DEFUN([AC_PROG_OCAMLYACC], [dnl AC_CHECK_TOOL([OCAMLYACC],[ocamlyacc],[no]) AC_SUBST([OCAMLYACC]) ]) AC_DEFUN([AC_PROG_CAMLP4], [dnl AC_REQUIRE([AC_PROG_OCAML])dnl # checking for camlp4 AC_CHECK_TOOL([CAMLP4],[camlp4],[no]) if test "$CAMLP4" != "no"; then TMPVERSION=`$CAMLP4 -v 2>&1| sed -n -e 's|.*version *\(.*\)$|\1|p'` if test "$TMPVERSION" != "$OCAMLVERSION" ; then AC_MSG_RESULT([versions differs from ocamlc]) CAMLP4=no fi fi AC_SUBST([CAMLP4]) # checking for companion tools AC_CHECK_TOOL([CAMLP4BOOT],[camlp4boot],[no]) AC_CHECK_TOOL([CAMLP4O],[camlp4o],[no]) AC_CHECK_TOOL([CAMLP4OF],[camlp4of],[no]) AC_CHECK_TOOL([CAMLP4OOF],[camlp4oof],[no]) AC_CHECK_TOOL([CAMLP4ORF],[camlp4orf],[no]) AC_CHECK_TOOL([CAMLP4PROF],[camlp4prof],[no]) AC_CHECK_TOOL([CAMLP4R],[camlp4r],[no]) AC_CHECK_TOOL([CAMLP4RF],[camlp4rf],[no]) AC_SUBST([CAMLP4BOOT]) AC_SUBST([CAMLP4O]) AC_SUBST([CAMLP4OF]) AC_SUBST([CAMLP4OOF]) AC_SUBST([CAMLP4ORF]) AC_SUBST([CAMLP4PROF]) AC_SUBST([CAMLP4R]) AC_SUBST([CAMLP4RF]) ]) AC_DEFUN([AC_PROG_FINDLIB], [dnl AC_REQUIRE([AC_PROG_OCAML])dnl # checking for ocamlfind AC_CHECK_TOOL([OCAMLFIND],[ocamlfind],[no]) AC_SUBST([OCAMLFIND]) ]) dnl Thanks to Jim Meyering for working this next bit out for us. dnl XXX We should define AS_TR_SH if it's not defined already dnl (eg. for old autoconf). AC_DEFUN([AC_CHECK_OCAML_PKG], [dnl AC_REQUIRE([AC_PROG_FINDLIB])dnl AC_MSG_CHECKING([for OCaml findlib package $1]) unset found unset pkg found=no for pkg in $1 $2 ; do if $OCAMLFIND query $pkg >/dev/null 2>/dev/null; then AC_MSG_RESULT([found]) AS_TR_SH([OCAML_PKG_$1])=$pkg found=yes break fi done if test "$found" = "no" ; then AC_MSG_RESULT([not found]) AS_TR_SH([OCAML_PKG_$1])=no fi AC_SUBST(AS_TR_SH([OCAML_PKG_$1])) ]) AC_DEFUN([AC_CHECK_OCAML_MODULE], [dnl AC_MSG_CHECKING([for OCaml module $2]) cat > conftest.ml <&5 2>&5 ; then found=yes break fi done if test "$found" ; then AC_MSG_RESULT([$$1]) else AC_MSG_RESULT([not found]) $1=no fi AC_SUBST([$1]) ]) dnl XXX Cross-compiling AC_DEFUN([AC_CHECK_OCAML_WORD_SIZE], [dnl AC_REQUIRE([AC_PROG_OCAML])dnl AC_MSG_CHECKING([for OCaml compiler word size]) cat > conftest.ml < conftest.ml <\n" "Language-Team: Assamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: as\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d ডোমেইন, %d সক্ৰিয়, %d চলমান, %d নিদ্ৰিত, %d স্থগিত, %d নিষ্ক্ৰিয় D:%d " "O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: প্ৰদৰ্শন %s হোৱা উচিত" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: সুবিন্যস্ত কৰোঁতে ব্যৱহৃত মান: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: অজ্ঞাত স্থিতিমাপ" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: বিলম্বৰ মান শূণ্যৰ অধিক হোৱা আৱশ্যক" #: ../src/top.ml:173 msgid "Batch mode" msgstr "বেচ মোড" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "ব্লক পঢ়িবলৈ আৱশ্যক মান" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "ব্লকত লিখাৰ আৱশ্যক মান" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% স্মৃতিশক্তি: %Ld MB (অতিথি দ্বাৰা %Ld MB)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "বিলম্বৰ মান %.1f ৰ পৰা চিহ্নিত মানলৈ পৰিবৰ্তন কৰা হ'ব: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "সংযুক্ত কৰক: %s; গৃহস্থৰ নাম: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "DISPLAY MODES" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "বিলম্বৰ মান > 0 হোৱা আৱশ্যক" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "বিলম্বৰ সময়কাল (ছেকেণ্ডত ব্যক্ত)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "বিলম্ব: %.1f ছেকেণ্ড; বেচ: %s; নিৰাপত্তা: %s; ক্ৰমবিন্যাস: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "CSV ত CPU সংক্ৰান্ত পৰিসংখ্যা নিষ্ক্ৰিয় কৰা হ'ব" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "CSV ত ব্লক যন্ত্ৰ সংক্ৰান্ত পৰিসংখ্যা নিষ্ক্ৰিয় কৰা হ'ব" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "CSV ত নেট সংক্ৰান্ত পৰিসংখ্যা নিষ্ক্ৰিয় কৰা হ'ব" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "সংস্কৰণ নম্বৰ প্ৰদৰশন কৰা আৰু প্ৰস্থান কৰা" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "init নথিপত্ৰ পঢ়া ন'হ'ব" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ডোমেইন ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "ডোমেইনৰ নাম" #: ../src/top.ml:1797 msgid "Domains display" msgstr "ডোমেইনৰ প্ৰদৰ্শন" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "ত্ৰুটি" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "নিৰ্দিষ্ট সময়ত প্ৰস্থান কৰা হ'ব" #: ../src/top.ml:1766 msgid "Help" msgstr "সহায়" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "CPU ৰ বিলম্বৰ পূৰ্ববৰ্তী তথ্য" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "CSV নথিপত্ৰত পৰিসংখ্যা সংৰক্ষণ কৰা হ'ব" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "MAIN KEYS" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "virt-top(1) man পৃষ্ঠাত অতিৰিক্ত সহায়ক তথ্য উপস্থিত আছে । প্ৰত্যাবৰ্তন কৰাৰ " "বাবে যি কোনো চাবি টিপক ।" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "প্ৰকৃত RX bytes" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "প্ৰকৃত TX bytes" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "বৈধ সংখ্যা নহয়" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "পুনৰাবৃত্তিৰ সংখ্যা" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "বন্ধ" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "খোলা" #: ../src/top.ml:1764 msgid "Quit" msgstr "প্ৰস্থান" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" "স্ক্ৰিপ্টৰ সহযোগত সঞ্চালন কৰা হ'ব (ব্যৱহাৰকৰোঁতাৰ সংযোগ মাধ্যম নোহোৱাকে)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "SORTING" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "ক্ৰমবিন্যাসৰ বাবে ক্ষেত্ৰ নিৰ্বাচন কৰক" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "ডিবাগ সংক্ৰান্ত বাৰ্তা নথিপত্ৰলৈ পঠিওৱা হ'ব" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "init নথিপত্ৰৰ নাম ধাৰ্য কৰক" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "ক্ৰমবিন্যাসৰ মান নিৰ্ধাৰণ কৰক (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "প্ৰধান প্ৰদৰ্শনৰ বাবে ক্ৰমবিন্যাসৰ মান নিৰ্ধাৰণ কৰক" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "উন্নয়নৰ সময়ৰ ব্যৱধান নিৰ্ধাৰণ কৰক" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "%CPU অনুযায়ী সুবিন্যস্ত কৰক" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "%MEM অনুযায়ী সুবিন্যস্ত কৰক" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "ID অনুযায়ী সুবিন্যস্ত কৰক" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "TIME অনুযায়ী সুবিন্যস্ত কৰক" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "ব্লক যন্ত্ৰ প্ৰদৰ্শন কৰি আৰম্ভ কৰক" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "নে'টৱৰ্ক সংযোগ মাধ্যমৰ প্ৰদৰ্শন কৰি আৰম্ভ কৰক" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "pCPU প্ৰদৰ্শন দ্বাৰা আৰম্ভ কৰক (অবিকল্পিত মান: tasks)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (CPU ৰ সময়)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "ব্লক যন্ত্ৰ টগল কৰা হ'ব" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "নে'টৱৰ্ক সংযোগ মাধ্যম টগল কৰা হ'ব" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "প্ৰকৃত CPU টগল কৰা হ'ব" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "চাবি লিখক বা ওপৰ আৰু তলৰ স্থানান্তৰণৰ কাৰ্ছাৰ চাবি প্ৰয়োগ কৰক ।" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "অজ্ঞাত আদেশ - সহায়েৰ বাবে 'h' লিখক" #: ../src/top.ml:1763 msgid "Update display" msgstr "প্ৰদৰ্শন উন্নত কৰা হ'ব" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "%s লৈ বৈশিষ্ট্য লিখা হৈছে" #: ../src/top.ml:1745 msgid "default" msgstr "অবিকল্পিত" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc ৰ পৰা প্ৰাপ্ত নহয়" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat - দ্বাৰা" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : ভাৰ্চুৱেলাইজ কৰাৰ পৰিবেশৰ বাবে 'top' আদেশৰ অনুৰূপ বৈশিষ্ট্য\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "CSV নথিপত্ৰৰ সমৰ্থন নোহোৱাকৈ virt-top সঙ্কলন কৰা হৈছিল" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "দিন আৰু সময়ৰ সমৰ্থন নোহোৱাকৈ virt-top সঙ্কলন কৰা হৈছিল" virt-top-1.0.9/po/ca.po0000664000175000017500000002111313066174571014242 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2015-02-05 04:28-0500\n" "Last-Translator: Robert Antoni Buj i Gelonch\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/virttop/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d dominis, %d en actiu, %d en execució, %d dormint, %d en pausa, %d " "inactius D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: la pantalla hauria de ser %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: l'ordre d'ordenació hauria de ser: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: paràmetre desconegut" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: no pot establir un retard negatiu" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Mode per lots" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Sol·licituds de lectura de blocs" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Sol·licituds d'escriptura de blocs" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB per als amfitrions)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Canvia el retard de %.1f a: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Connexió: %s; Nom d'amfitrió: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "MODES DE VISUALITZACIÓ" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "El retard ha de ser > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Interval del retard (segons)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Retard: %.1f seg; Per lots: %s; Seguretat: %s; Ordenació: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "En el CSV, deshabilita les estadístiques de la CPU" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "En el CSV, deshabilita les estadístiques dels dispositius de blocs" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "En el CSV, deshabilita les estadístiques de la xarxa" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Mostra la versió i surt" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "No llegeix el fitxer d'inicialització" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ID del domini" #: ../src/top.ml:69 msgid "Domain name" msgstr "Nom del domini" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Visualització dels dominis" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Error" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Surt en l'hora indicada" #: ../src/top.ml:1766 msgid "Help" msgstr "Ajuda" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Retard en l'històric de la CPU" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Enregistra les estadístiques al fitxer CSV" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "TECLES PRINCIPALS" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Més informació en la pàgina man virt-top(1). Premeu qualsevol tecla per " "tornar." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Xarxa RX bytes" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Xarxa TX bytes" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "No és un número vàlid" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Número d'iteracions a executar" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Apagat" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Encés" #: ../src/top.ml:1764 msgid "Quit" msgstr "Surt" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Executa des d'una seqüència d'ordres (sense interfície gràfica)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "ORDENACIÓ" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Selecciona camp d'ordenació" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Envia els missatges de depuració al fitxer" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Estableix el nom del fitxer d'inicialització" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Estableix el mètode d'ordenació (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Estableix el mètode d'ordenació per a la pantalla principal" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Interval d'actualització" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Ordena per %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Ordena per %MEM" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Ordena per ID" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Ordena per TEMPS" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Comença mostrant els dispositius de blocs" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Comença mostrant les interfícies de xarxa" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Comença mostrant pCPUs (predeterminat: tasques)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TEMPS (temps de CPU)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Commuta dispositius de blocs" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Commuta interfícies de xarxa" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Commuta CPU físiques" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "Teclegeu una tecla o utilitzeu les fletxes del cursor amunt o abaix." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Ordre no reconeguda - proveu 'h' per l'ajuda" #: ../src/top.ml:1763 msgid "Update display" msgstr "Actualitza la pantalla" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "S'ha escrit les preferències a %s" #: ../src/top.ml:1745 msgid "default" msgstr "predet." #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc no va retornar " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d per Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : una utilitat similar a «top» per a la virtualització\n" "\n" "RESUM\n" " virt-top [-opcions]\n" "\n" "OPCIONS" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top fou compilat sense compatibilitat per a fitxers CSV" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top fou compilat sense compatibilitat per data i hora" virt-top-1.0.9/po/de.po0000664000175000017500000001661413066174571014261 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "'%s' sollte numerisch sein." #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "Soll eine Palette verwendet werden?" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "Unerwarteter Parameter '%s'" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "Untertitelverzögerung einstellen (in 1/10s)" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Batchmodus" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Kann Wert von '%s' nicht lesen" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Konnte \"%s\" nicht schreiben: %s" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB von Gast)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Ändere Verzögerung von %.1f auf: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Auflösen des Hostnamens" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "ANZEIGE-MODUS" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "Verzögerung muss > 0 sein" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "&Zeitüberschreitung nach" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "" #: ../src/top.ml:68 msgid "Domain ID" msgstr "Domain-ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "Domainname" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Vorgabeanzeige" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Fehler" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "" #: ../src/top.ml:1766 msgid "Help" msgstr "Hilfe" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Audioverzögerung verringern" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Logtexte in Datei speichern" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "HAUTP-SCHLÜSSEL" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "&Größe in Bytes anzeigen" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "&Größe in Bytes anzeigen" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Keine gültige Nummer" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Die Anzahl der anzuzeigenden Spalten" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "" #: ../src/top.ml:1764 msgid "Quit" msgstr "Beenden" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" #: ../src/top.ml:1771 msgid "SORTING" msgstr "SORTIERUNG" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Verzeichnisse einsortieren" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Konnte Fehlerberichtsdatei \"%s\" nicht entfernen." #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Dateiname bereits vorhanden" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Alternative Reihenfolge für Knöpfe" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Aktualisierungsintervall des Menüs" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Nach %CPU sortieren" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Nach %MEM sortieren" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Nach ID sortieren" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Nach ZEIT sortieren" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "ZEIT (CPU-Zeit)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "HAL-Geräteerkennung" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "&Netzwerkkonfigurations-Assistent..." #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Der Schaltzustand des Knopfes" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Unbekannter Befehl `%s'. Geben Sie `help' für Hilfe ein." #: ../src/top.ml:1763 msgid "Update display" msgstr "Vorgabeanzeige" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Schreib Einstellungen nach %s" #: ../src/top.ml:1745 msgid "default" msgstr "" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc didn't return " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/po/es.po0000664000175000017500000002134413066174571014274 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: Spanish (Castilian) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d dominios, %d activo, %d ejecutándose, %d adormecido, %d pausado, %d " "inactivo D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: se debería ver %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: el orden de clasificación debería ser: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: parámetro desconocido" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: no se puede establecer un retraso negativo" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Modo en lotes" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Pedidos de lectura en bloques" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Pedidos de escritura en bloques" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB por huéspedes)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Cambiar retraso de %.1f a:" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Conectar: %s; Nombre de máquina: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "MODOS de EXHIBICION" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "El retraso debe ser > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Intervalo de tiempo de retraso (segundos)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Retraso: %.1f secs; Lote: %s; Seguro: %s; Clasificado: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Deshabilita estadísticas del CPU en CVS" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Deshabilita stadísticas del dispositivo de bloque en CVS" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Deshabilita estadísticas de red en CVS" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Muestra el número de la versión y se cierra" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "No lee el archivo init" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ID de dominio" #: ../src/top.ml:69 msgid "Domain name" msgstr "Nombre del dominio" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Exhibe los dominios" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Error" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Sale en un tiempo determinado" #: ../src/top.ml:1766 msgid "Help" msgstr "Ayuda" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Histórico de retraso del CPU" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Estadísticas de log para el archivo CVS" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "TECLAS PRINCIPALES" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Más ayuda en la página del manual (man) de virt-top(1). Presione cualquier " "tecla para volver." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Cantidad neta de bytes recibidos" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Cantidad neta de bytes transmitidos" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "No es un número válido" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Número de iteraciones a ser ejecutadas" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Apagado" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Encendido" #: ../src/top.ml:1764 msgid "Quit" msgstr "Salir" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Ejecutar desde un programa (sin interfase de usuario)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "CLASIFICANDO" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Seleccionar un campo para clasificar" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Enviar los mensajes de depuración al archivo" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Establece el nombre del archivo init" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Establece el orden de clasificación (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Establece el orden de clasificación para la exhibición principal" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Establece el intervalo de actualización" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Clasificación por %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Clasificación por %MEM" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Clasificación por ID" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Clasificación por TIEMPO" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Empieza con la exhibición de los dispositivos de bloque" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Empieza con la exhibición de las interfases de red" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Empieza con la exhibición de los pCPUs (por defecto: tareas)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIEMPO (tiempo del CPU)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Alterna entre los dispositivos de bloque" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Alterna entre las interfases de red" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Alterna entre los CPUs físicos" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" "Presione una tecla o utilice teclas de navegación para arriba o para abajo." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Comando desconocido - intente con 'h' para obtener ayuda" #: ../src/top.ml:1763 msgid "Update display" msgstr "Actualiza la exhibición" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Configuraciones guardadas en %s" #: ../src/top.ml:1745 msgid "default" msgstr "predeterminado" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "el get_xml_desc no ha retornado " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d por Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : una herramienta de tipo \"top\" para virtualizaciones\n" "\n" "SUMARIO\n" " virt-top [-options]\n" "\n" "OPCIONES" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top fue compilado sin soporte para archivos CSV" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top fue compilado sin soporte para fechas y horas" virt-top-1.0.9/po/eu.po0000664000175000017500000001503713066174571014300 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2013-11-20 06:00-0500\n" "Last-Translator: Asier Iturralde Sarasola \n" "Language-Team: Basque (http://www.transifex.com/projects/p/virttop/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "" #: ../src/top.ml:173 msgid "Batch mode" msgstr "" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Konektatu: %s; Ostalari-izena: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "" #: ../src/top.ml:68 msgid "Domain ID" msgstr "" #: ../src/top.ml:69 msgid "Domain name" msgstr "Domeinu-izena" #: ../src/top.ml:1797 msgid "Domains display" msgstr "" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Errorea" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "" #: ../src/top.ml:1766 msgid "Help" msgstr "Laguntza" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "" #: ../src/top.ml:1764 msgid "Quit" msgstr "Irten" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" #: ../src/top.ml:1771 msgid "SORTING" msgstr "" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Ordenatu %CPUren arabera" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Ordenatu %MEMen arabera" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Ordenatu IDaren arabera" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Ordenatu denboraren arabera" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "" #: ../src/top.ml:1763 msgid "Update display" msgstr "" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "" #: ../src/top.ml:1745 msgid "default" msgstr "lehenetsia" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/po/fr.po0000664000175000017500000001451313066174571014274 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-26 01:01-0400\n" "Last-Translator: jfenal \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Mode batch" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "" #: ../src/top.ml:68 msgid "Domain ID" msgstr "" #: ../src/top.ml:69 msgid "Domain name" msgstr "" #: ../src/top.ml:1797 msgid "Domains display" msgstr "" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "" #: ../src/top.ml:1766 msgid "Help" msgstr "" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "" #: ../src/top.ml:1764 msgid "Quit" msgstr "" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" #: ../src/top.ml:1771 msgid "SORTING" msgstr "" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "" #: ../src/top.ml:1763 msgid "Update display" msgstr "" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "" #: ../src/top.ml:1745 msgid "default" msgstr "" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/po/gu.po0000664000175000017500000002514713066174571014305 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: sweta \n" "Language-Team: Gujarati \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d ડોમેઇને, %d સક્રિય, %d ચાલી રહ્યુ છે, %d નિષ્ક્રિય, %d અટકેલ, %d " "નિષ્ક્રિય D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: દેખાવ %s હોવુ જ જોઇએ" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: ક્રમ એ હોવો જોઇએ: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: અજ્ઞાત પરિમાણ" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: નકારાત્મક વિલંબને સુયોજિત કરી શકાતુ નથી" #: ../src/top.ml:173 msgid "Batch mode" msgstr "બેચ સ્થિતિ" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "બ્લોક વાંચવાનું જરૂરી છે" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "બ્લોક લખવાનું જરૂરી છે" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (મહેમાન દ્દારા %Ld MB)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "ને %.1f માંથી વિલંબ સમય ને બદલો: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "જોડો: %s; યજમાનનામ: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "સ્થિતિઓને દેખાડો" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "વિલંબ એ > 0 હોવુ જ જોઇએ" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "વિલંબ સમય સમયગાળો (સેકંડો)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "વિલંબ: %.1f secs; બેચ: %s; સુરક્ષા: %s; ક્રમ: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "CSV માં CPU સ્થિતિઓને નિષ્ક્રિય કરો" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "CSV માં બ્લોક ઉપકરણ સ્થિતિઓને નિષ્ક્રિય કરો" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "CSV માં નેટ સ્થિતિને નિષ્ક્રિય કરો" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "આવૃત્તિ નંબરને દર્શાવો અને બહાર નીકળો" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "init ફાઇલ વંચાતુ નથી" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ડોમેઇન ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "ડોમેઇન નામ" #: ../src/top.ml:1797 msgid "Domains display" msgstr "ડોમેઇનોનો દેખાવ" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "ભૂલ" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "આપેલ સમય પર બહાર નીકળો" #: ../src/top.ml:1766 msgid "Help" msgstr "મદદ" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "ઐતિહાસિક CPU વિલંબ" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "CSV ફાઇલમાં લોગ પરિસ્થિતિઓ" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "મુખ્ય કીઓ" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "virt-top(1) પુસ્તિકા પાનાંમાં વધારે મદદ. પાછુ લાવવા માટે કોઇપણ કીને દબાવો." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "નેટ RX બાઇટો" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "નેટ TX બાઇટો" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "યોગ્ય નંબર નથી" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "ચલાવવા માટે પુનરાવર્તનોની સંખ્યા" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "બંધ" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "ચાલુ" #: ../src/top.ml:1764 msgid "Quit" msgstr "બહાર નીકળો" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "સ્ક્રિપ્ટમાંથી ચલાવો (વપરાશકર્તા ઇન્ટરફેસ નથી)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "ક્રમમાં કરી રહ્યા છે" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "ટૂંકા ક્ષેત્રને પસંદ કરો" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "ફાઇલમાં ડિબગ સંદેશાઓને મોકલો" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "init ફાઇલની નામ ને સુયોજિત કરો" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "ક્રમને સુયોજિત કરો (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "મુખ્ય દેખાવ માટે ક્રમને સુયોજિત કરો" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "સુધારેલ સમયગાળાને સુયોજિત કરો" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "%CPU દ્દારા ક્રમમાં કરો" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "%MEM દ્દારા ક્રમમાં કરો" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "ID દ્દારા ક્રમમાં કરો" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "TIME દ્દારા ક્રમમાં કરો" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "બ્લોક ઉપકરણો દેખાવ દ્દારા શરૂ કરો" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "નેટવર્ક ઇન્ટરફેસો ને દેખાવા દ્દારા શરૂ કરો" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "pCPUs (મૂળભૂત: કાર્યો) ને દેખાવા દ્દારા શરૂ કરો" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (CPU સમય)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "ટોગલ બ્લોક ઉપકરણો" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "ટોગલ નેટવર્ક ઇન્ટરફેસો" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "ટોગલ ભૌતિક CPUs" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "કીને ટાઇપ કરો અથવા ઉપર અને નીચે કર્સર કીઓને વાપરો." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "મદદ માટે અજ્ઞાત આદેશ - try 'h'" #: ../src/top.ml:1763 msgid "Update display" msgstr "દેખાવને સુધારો" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "%s માં સુયોજનોને લખ્યુ" #: ../src/top.ml:1745 msgid "default" msgstr "મૂળભૂત" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc થી પાછુ મળ્યુ નહિં" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "Red Hat પ્રમાણે virt-top %s ocaml-libvirt %s libvirt %d.%d.%d" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : વર્ચ્યુઅલાઇઝેશન માટે 'top'-like ઉપયોગિતા \n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "CSV ફાઇલો માટે આધાર વગર virt-top એ કમ્પાઇલ થયેલ ન હતુ" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "તારીખો અને સમયો માટે આધાર વગર virt-top એ કમ્પાઇલ થયેલ હતુ" virt-top-1.0.9/po/hu.po0000664000175000017500000002135513066174571014303 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2013-11-20 06:00-0500\n" "Last-Translator: Szabo Attila \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/virttop/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d domének, %d aktív, %d fut, %d alszik, %d felfüggesztve, %d inaktív D:%d " "O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: a képernyőnek %snek kellene lennie" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: a rövid sorrendnek %snek kellene lennie" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: ismeretlen paraméter" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: negatív késleltetést nem lehet megadni" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Kötegelt mód" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Blokk olvasási kérések" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Blokk írási kérések" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB a vendégek által)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "A késleltetés megváltoztatása %.1f-ről:" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Kapcsolódás: %s; Hosztnév: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "Megjelenítési módok" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "A késleltetés legyen >0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Késleltetés intervallumának ideje( másodpercek)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Késleltetés: %.1f másodperc; Köteg: %s; Biztosított: %s; Rövid: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Processzor statisztika felfüggesztése CSVben" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Blokk eszköz statisztika felfüggesztése CSVben" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Hálózat statisztika felfüggesztése CSVben" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Verziószám megjelenítése és kilépés" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Init fájl ne kerüljön olvasásra" #: ../src/top.ml:68 msgid "Domain ID" msgstr "Domén azonosító" #: ../src/top.ml:69 msgid "Domain name" msgstr "Domén név" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Domének megjelenítése" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Hiba" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Kilépés a megadott időben" #: ../src/top.ml:1766 msgid "Help" msgstr "Segitség" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Történeti processzor késleltetés" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Log statisztika egy CSV fájlba" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "FŐBB GOMBOK" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "További segitség a virt-top(1) man oldalon. Nyomjon meg bármilyen billentyűt" " a visszatéréshez." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Következő RX bájtok" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Következő TX bájtok" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Nem egy érvényes szám" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "A futtatni való ismétlések száma" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Ki" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Be" #: ../src/top.ml:1764 msgid "Quit" msgstr "Kilépés" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Működés szkriptről (nincs felhasználói felület)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "RENDEZÉS" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Válassza ki a rövid mezőt" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Hibakeresési üzenetek küldése fájlba" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Init fájl nevének beállítása" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "válogatás sorrendjének beállítása (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "válogatás sorrendjének beállítása a fő képernyőhöz" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "frissítés intervallumának beállítása" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Rendezés %CPU által" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Rendezés %MEM által" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Rendezés azonosító alapján" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Rendezés IDŐ alapján" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "A blokk eszközök megjelenítésével kezdődjön" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "A hálózati interfészek megjelenítésével kezdődjön" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "pCPUk megjelenítésével kezdődjön (alapból: feladatok)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "IDŐ ( processzor idő)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Blokk eszközök váltása" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Hálózati interfészek váltása" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Fizikai processzorok váltása" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "Üss le egy billentyűt vagy használd a fel és le kurzor billentyűket." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Ismeretlen parancs - próbáld meg a h a segitségért" #: ../src/top.ml:1763 msgid "Update display" msgstr "képernyő frissítése" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "beállítások kiírása a %s-be" #: ../src/top.ml:1745 msgid "default" msgstr "alap" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc nem adta vissza a " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat által" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : egy 'top'-szerű eszköz a virtualizációhoz\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "A virt-top CSV fájlok támogatása nélkül lett fordítva" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "A virt-top dátumok és idők nélküli támogatással lett fordítva" virt-top-1.0.9/po/id.po0000664000175000017500000001514113066174571014257 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2014-09-07 03:27-0400\n" "Last-Translator: Andika Triwidada \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/virttop/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d domain, %d aktif, %d berjalan, %d tidur, %d diistirahatkan, %d tak aktif " "D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: tampilan mestinya %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: urutan mestinya: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: parameter tak dikenal" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: tak dapat menata tundaan negatif" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Mode batch" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Permintaan baca blok" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Permintaan tulis blok" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "" #: ../src/top.ml:68 msgid "Domain ID" msgstr "" #: ../src/top.ml:69 msgid "Domain name" msgstr "" #: ../src/top.ml:1797 msgid "Domains display" msgstr "" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "" #: ../src/top.ml:1766 msgid "Help" msgstr "" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "" #: ../src/top.ml:1764 msgid "Quit" msgstr "" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" #: ../src/top.ml:1771 msgid "SORTING" msgstr "" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "" #: ../src/top.ml:1763 msgid "Update display" msgstr "" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "" #: ../src/top.ml:1745 msgid "default" msgstr "" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/po/it.po0000664000175000017500000002047313066174571014303 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d domini, %d attivi, %d in esecuzione, %d sospesi, %d in pausa, %d inattivo" " D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: il display dovrebbe essere %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: l'ordine dovrebbe essere: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: parametro sconosciuto" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: impossibile impostare un ritardo negativo" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Modalità batch" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Richieste di lettura del blocco" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Richieste di scrittura del blocco" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB dai guest)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Modifica ritardo da %.1f a: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Collega: %s; Nome host: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "MADALITÀ DISPLAY" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "Il ritardo deve essere > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Intervallo di tempo del ritardo (secondi)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Ritardo: %.1f sec; Batch: %s; Sicuro: %s; Ordina: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Disabilita le statistiche della CPU in CSV" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Disabilita le statistiche del dispositivo a blocchi in CSV" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Disabilita le statistiche della rete in CSV" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Non leggere il file init" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ID del dominio" #: ../src/top.ml:69 msgid "Domain name" msgstr "Nome del dominio" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Display dei domini" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Errore" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Esci ad un tempo indicato" #: ../src/top.ml:1766 msgid "Help" msgstr "Aiuto" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Ritardo della CPU storico" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Statistiche del log per il file CSV" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "TASTI PRINCIPALI" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Maggiori informazioni nella pagina man di virt-top(1). Premere qualsiasi " "tasto per ritornare allo stato precedente." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Byte RX della rete" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Byte TX della rete" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Non è un numero valido" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Numero di iterazioni da eseguire" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "" #: ../src/top.ml:1764 msgid "Quit" msgstr "Esci" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Esegui da uno script (non interfaccia utente)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "ORDINE IN CORSO" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Campo seleziona ordine" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Invia i messaggi di debug al file" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Imposta il nome del file init" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Imposta ordine (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Imposta ordine per il display principale" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Imposta l'intervallo di aggiornamento" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Ordina per %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Ordina per %MEM" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Ordina per ID" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Ordina per TIME" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Avvia mostrando i dispositivi a blocchi" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Avvia mostrando le interfacce di rete" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Avvia mostrando le pCPU (predefinito: compiti)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (ora CPU)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Commuta i dispositivi a blocchi" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Commuta le interfacce di rete" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Commuta le CPU fisiche" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "Premere il tasto o usare i tasti del cursore su e giù." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Comando sconosciuto - provare 'h' per l'aiuto" #: ../src/top.ml:1763 msgid "Update display" msgstr "Aggiorna display" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Impostazioni scritte su %s" #: ../src/top.ml:1745 msgid "default" msgstr "" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc non ha ritornato " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : simile a 'top' è una utilità per la virtualizzazione\n" "\n" "SOMMARIO\n" " virt-top [-options]\n" "\n" "OPZIONI" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top è stata compilata senza il supporto per i file CSV" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top è stata compilata senza il supporto per le date e l'ora" virt-top-1.0.9/po/ja.po0000664000175000017500000002164613066174571014264 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: htaira \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "定義済み %d 個, 有効化 %d 個, 稼働中 %d 個, 休止中 %d 個, 停止中 %d 個, 非稼働 %d 個, カウンター D:%d O:%d" " X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: 表示は %s となるべきです" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: 分類順は次のようになるべきです: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: 不明なパラメータ" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: 遅延間隔にマイナスは指定できません。" #: ../src/top.ml:173 msgid "Batch mode" msgstr "バッチモード" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "読み込み要求を阻止する" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "書き込み要求を阻止する" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB をゲストで使用中)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "遅延間隔を %.1f から次の秒数へ変更する: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "接続 : %s; ホスト名 : %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "表示モード" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "遅延間隔はゼロ以外より大きい整数でなければなりません。" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "遅延間隔(秒)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "遅延間隔: %.1f 秒; バッチ: %s; セキュア: %s; 分類: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "CSV 内の CPU 統計を無効にする" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "CSV 内のブロックデバイス統計を無効にする" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "CSV 内のネットワークの統計を無効にする" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "バージョン番号を表示して終了" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "init ファイルを読み込まない" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ドメイン ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "ドメイン名" #: ../src/top.ml:1797 msgid "Domains display" msgstr "ドメイン表示" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "エラー" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "任意の時点で終了" #: ../src/top.ml:1766 msgid "Help" msgstr "ヘルプ" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "CPU 統計履歴の表示間隔" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "CSV ファイルへのログ統計" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "主要キー" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "virt-top(1) man ページには他のヘルプが用意されています。なにかキーを押すと戻ります" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "ネット RX バイト" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "ネット TX バイト" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "有効な数ではありません" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "繰り返し実行する回数" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "オフ" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "オン" #: ../src/top.ml:1764 msgid "Quit" msgstr "終了" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "スクリプトから実行(ユーザーインターフェイスなし)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "分類" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "分類フィールドを選択" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "デバッグメッセージをファイルに書き出す" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "init ファイルの名前を設定する" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "分類順 (%s) を設定する" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "ドメイン表示の分類順を設定する" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "更新間隔を設定" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "%CPU で分類" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "%MEM で分類" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "ID で分類" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "時間で分類" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "ブロックデバイスの表示で開始" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "ネットワークインターフェイスの表示で開始" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "pCPU の表示で開始(デフォルト: タスク)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "時間(CPU 時間)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "ブロックデバイスの切り替え" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "ネットワークインターフェイスの切り替え" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "物理 CPU の切り替え" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "キーをタイプするか、または上下カーソルキーを使用" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "不明なコマンド - 'h' を使用してヘルプ参照 " #: ../src/top.ml:1763 msgid "Update display" msgstr "表示を更新" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "%s への設定を書き込み" #: ../src/top.ml:1745 msgid "default" msgstr "デフォルト" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc 関数はドメイン情報を返しませんでした" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : 仮想化環境に対するtopコマンドのようなユーティリティです\n" "\n" "要約\n" " virt-top [-options]\n" "\n" "オプション" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top は CSV ファイル用のサポートなしでコンパイルされています" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top は日付と時刻用のサポートなしでコンパイルされています" virt-top-1.0.9/po/ka.po0000664000175000017500000001477313066174571014270 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2013-11-26 03:54-0500\n" "Last-Translator: George Machitidze \n" "Language-Team: Georgian (http://www.transifex.com/projects/p/virttop/language/ka/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ka\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "" #: ../src/top.ml:66 msgid "%MEM" msgstr "" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "" #: ../src/top.ml:173 msgid "Batch mode" msgstr "" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "" #: ../src/top.ml:68 msgid "Domain ID" msgstr "" #: ../src/top.ml:69 msgid "Domain name" msgstr "" #: ../src/top.ml:1797 msgid "Domains display" msgstr "" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "შეცდომა" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "" #: ../src/top.ml:1766 msgid "Help" msgstr "დახმარება" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "" #: ../src/top.ml:1764 msgid "Quit" msgstr "გასვლა" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" #: ../src/top.ml:1771 msgid "SORTING" msgstr "" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "" #: ../src/top.ml:1763 msgid "Update display" msgstr "" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "" #: ../src/top.ml:1745 msgid "default" msgstr "ნაგულისხმები" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc-მა არ დააბრუნა" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/po/kn.po0000664000175000017500000002626013066174571014277 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 08:05-0400\n" "Last-Translator: shanky \n" "Language-Team: Kannada \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kn\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d ಡೊಮೈನ್‌ಗಳು, %d ಸಕ್ರಿಯ, %d ಚಾಲಿತ, %d ಜಡ, %d ವಿರಮಿಸಿದ, %d ನಿಷ್ಕ್ರಿಯ D:%d " "O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: ಪ್ರದರ್ಶಕವು %s ಆಗಿರಬೇಕು" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: ವಿಂಗಡಣಾ ಬಗೆಯು ಹೀಗಿರಬೇಕು: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: ಗೊತ್ತಿರದ ನಿಯತಾಂಕ" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: ಋಣಾತ್ಮಕ ವಿಳಂಬವನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" #: ../src/top.ml:173 msgid "Batch mode" msgstr "ಗುಂಪು ಕ್ರಮ" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "ಖಂಡದ ಓದಲು ಮನವಿಗಳು" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "ಖಂಡದ ಬರೆಯಲು ಮನವಿಗಳು" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (ಅತಿಥಿಗಳಿಂದ %Ld MB)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "ವಿಳಂಬವನ್ನು %.1f ಯಿಂದ ಇದಕ್ಕೆ ಬದಲಾಯಿಸಿ: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "ಸಂಪರ್ಕ: %s; ಅತಿಥೇಯ ಹೆಸರು: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "DISPLAY MODES" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "ವಿಳಂಬವು > 0 ಇರಬೇಕು" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "ವಿಳಂಬದ ಕಾಲಾವಧಿ (ಸೆಕೆಂಡುಗಳಲ್ಲಿ)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "ವಿಳಂಬ: %.1f ಸೆಕೆಂಡುಗಳು; ಗುಂಪು: %s; ಸುರಕ್ಷತೆ: %s; ವಿಂಗಡಣೆ: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "CSVಯಲ್ಲಿ CPU ಅಂಕಿಅಂಶಗಳನ್ನು ಅಶಕ್ತಗೊಳಿಸಿ" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "CSVಯಲ್ಲಿ ಖಂಡ ಸಾಧನದ ಅಂಕಿಅಂಶಗಳನ್ನು ಅಶಕ್ತಗೊಳಿಸಿ" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "CSVಯಲ್ಲಿ ಜಾಲದ ಅಂಕಿಅಂಶಗಳನ್ನು ಅಶಕ್ತಗೊಳಿಸಿ" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "ಆವೃತ್ತಿಯ ಸಂಖ್ಯೆಯನ್ನು ತೋರಿಸಿ ನಿರ್ಗಮಿಸು" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "init ಕಡತವನ್ನು ಓದಬೇಡ" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ಡೊಮೈನ್ ಐಡಿ" #: ../src/top.ml:69 msgid "Domain name" msgstr "ಡೊಮೈನ್‌ ಹೆಸರು" #: ../src/top.ml:1797 msgid "Domains display" msgstr "ಡೊಮೈನ್‌ಗಳ ಪ್ರದರ್ಶನ" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "ದೋಷ" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "ಒದಗಿಸಲಾದ ಸಮಯದಲ್ಲಿ ನಿರ್ಗಮಿಸು" #: ../src/top.ml:1766 msgid "Help" msgstr "ಸಹಾಯ" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "ಐತಿಹಾಸಿಕವಾದ CPU ವಿಳಂಬ" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "ಅಂಕಿಅಂಶಗಳನ್ನು CSV ಕಡತಕ್ಕೆ ದಾಖಲಿಸು" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "MAIN KEYS" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "ಹೆಚ್ಚಿನ ನೆರವು virt-top(1) man ಪುಟದಲ್ಲಿ ಲಭ್ಯವಿದೆ. ಮರಳಲು ಯಾವುದೆ ಕೀಲಿಯನ್ನು " "ಒತ್ತಿ." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "ಒಟ್ಟು RX ಬೈಟ್‌ಗಳು" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "ಒಟ್ಟು TX ಬೈಟ್‌ಗಳು" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "ಒಂದು ಮಾನ್ಯವಾದ ಸಂಖ್ಯೆಯಲ್ಲ" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "ಚಲಾಯಿಸಬೇಕಿರುವ ಪುನರಾವೃತ್ತಿಗಳ ಸಂಖ್ಯೆ" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "ಆಫ್‌" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "ಆನ್‌" #: ../src/top.ml:1764 msgid "Quit" msgstr "ಬಿಟ್ಟು ಬಿಡು" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "ಸ್ಕ್ರಿಪ್ಟಿನಿಂದ ಚಲಾಯಿಸು (ಬಳಕೆದಾರ ಸಂಪರ್ಕಸಾಧನವಿಲ್ಲ)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "SORTING" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "ವಿಂಗಡಣಾ ಕ್ಷೇತ್ರವನ್ನು ಆರಿಸು" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "ದೋಷ ನಿವಾರಣಾ ಸಂದೇಶಗಳನ್ನು ಕಡತಕ್ಕೆ ಕಳುಹಿಸು" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "init ಕಡತಕ್ಕೆ ಹೆಸರನ್ನು ಸೂಚಿಸು" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "ವಿಂಗಡಣಾ ಕ್ರಮವನ್ನು (%s) ಸೂಚಿಸು" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "ಮುಖ್ಯ ಪ್ರದರ್ಶಕಕ್ಕಾಗಿ ವಿಂಗಡಣಾ ಕ್ರಮವನ್ನು ಸೂಚಿಸು" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "ಅಪ್ಡೇಟ್ ಕಾಲಾವಧಿಯನ್ನು ಸೂಚಿಸು" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "%CPU ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸು" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "%MEM ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸು" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "ID ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸು" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "TIME ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸು" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "ಖಂಡ ಸಾಧನಗಳನ್ನು ತೋರಿಸಲು ಆರಂಭಿಸು" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕ ಸಾಧನಗಳನ್ನು ತೋರಿಸಲು ಆರಂಭಿಸು" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "pCPUಗಳನ್ನು ತೋರಿಸಲು ಆರಂಭಿಸು (ಡೀಫಾಲ್ಟ್‍: ಕಾರ್ಯಗಳು)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (CPU ಸಮಯ)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "ಖಂಡ ಸಾಧನಗಳನ್ನು ಟಾಗಲ್ ಮಾಡು" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕಸಾಧನಗಳನ್ನು ಟಾಗಲ್ ಮಾಡು" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "ಭೌತಿಕ CPUಗಳನ್ನು ಟಾಗಲ್ ಮಾಡು" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "ಕೀಲಿಯನ್ನು ಟೈಪಿಸಿ ಅಥವ ಅಪ್ ಹಾಗು ಡೌನ್ ತೆರೆಸೂಚಕ ಕೀಲಿಗಳನ್ನು ಬಳಸು." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "ಗೊತ್ತಿರದ ಆಜ್ಞೆ - ನೆರವಿಗಾಗಿ 'h' ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ" #: ../src/top.ml:1763 msgid "Update display" msgstr "ಅಪ್ಡೇಟಿನ ಪ್ರದರ್ಶನ" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "ಸಂಯೋಜನೆಗಳನ್ನು %s ಗೆ ಬರೆಯಲಾಗಿದೆ" #: ../src/top.ml:1745 msgid "default" msgstr "ಪೂರ್ವನಿಯೋಜಿತ" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc ಅನ್ನು ಮರಳಿಸಿಲ್ಲ" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : ವರ್ಚುವಲೈಸೇಶನ್‌ಗಾಗಿ ಒಂದು 'top'-ರೀತಿಯ ಸವಲತ್ತು\n" "\n" "ಸಾರಾಂಶ\n" " virt-top [-ಆಯ್ಕೆಗಳು]\n" "\n" "ಆಯ್ಕೆಗಳು" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top ಅನ್ನು CSV ಕಡತಗಳಿಗೆ ಬೆಂಬಲವಿಲ್ಲದಂತೆ ಕಂಪೈಲ್ ಮಾಡಲಾಗಿದೆ" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top ಅನ್ನು ದಿನಾಂಕ ಹಾಗು ಸಮಯಗಳಿಗೆ ಬೆಂಬಲವಿಲ್ಲದಂತೆ ಕಂಪೈಲ್ ಮಾಡಲಾಗಿದೆ" virt-top-1.0.9/po/LINGUAS0000664000175000017500000000014312472140141014326 0ustar rjonesrjonesas ca de es eu fr gu hu id it ja ka kn ml mr nl or pa pl pt_BR pt ru sr sv te tg tr uk zh_CN zh_TW virt-top-1.0.9/po/Makefile.in0000664000175000017500000000453112107133561015356 0ustar rjonesrjones# Makefile for po subdirectory. # @configure_input@ # # Copyright (C) 2007-2008 Red Hat Inc. # Written by Richard W.M. Jones # # 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; either version 2 of the License, or # (at your option) any later version. # # 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, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA OCAML_GETTEXT_PACKAGE = virt-top LINGUAS = $(shell cat LINGUAS) SOURCES = POTFILES MSGFMT = @MSGFMT@ OCAML_GETTEXT = @OCAML_GETTEXT@ OCAML_GETTEXT_EXTRACT_OPTIONS = OCAML_GETTEXT_COMPILE_OPTIONS = OCAML_GETTEXT_INSTALL_OPTIONS = OCAML_GETTEXT_MERGE_OPTIONS = PODIR = @prefix@/share/locale POFILES = $(addsuffix .po,$(LINGUAS)) MOFILES = $(addsuffix .mo,$(LINGUAS)) POTFILE = $(OCAML_GETTEXT_PACKAGE).pot all: $(MOFILES) $(POTFILE) install: install-po uninstall: uninstall-po clean:: clean-po %.mo: %.po $(MSGFMT) -o $@ $^ %.pot: $(SOURCES) $(shell cat $(SOURCES)) $(OCAML_GETTEXT) --action extract $(OCAML_GETTEXT_EXTRACT_OPTIONS) \ --extract-pot $@ $< # Also includes a fix for incorrectly escaped multi-byte sequences. %.po: $(POTFILE) $(OCAML_GETTEXT) --action merge $(OCAML_GETTEXT_MERGE_OPTIONS) \ --merge-pot $(POTFILE) $@ mv $@ $@.orig perl -wpe 's/\\(\d{3})/pack "C*", $$1/ge' < $@.orig > $@ $(BUILDPO): mkdir -p $(BUILDPO) .PRECIOUS: $(POTFILE) install-po: $(MOFILES) $(OCAML_GETTEXT) --action install $(OCAML_GETTEXT_INSTALL_OPTIONS) \ --install-textdomain $(OCAML_GETTEXT_PACKAGE) \ --install-destdir $(PODIR) $(MOFILES) uninstall-po: $(OCAML_GETTEXT) --action uninstall $(OCAML_GETTEXT_INSTALL_OPTIONS) \ --uninstall-textdomain $(OCAML_GETTEXT_PACKAGE) \ --uninstall-orgdir $(PODIR) $(MOFILES) clean-po: -$(OCAML_GETTEXT) --action uninstall $(OCAML_GETTEXT_INSTALL_OPTIONS) \ --uninstall-textdomain $(OCAML_GETTEXT_PACKAGE) \ --uninstall-orgdir $(BUILDPO) $(MOFILES) -$(RM) $(MOFILES) virt-top-1.0.9/po/ml.po0000664000175000017500000002764513066174571014307 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: Malayalam \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ml\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d ഡൊമേനുകള്‍, %d സജീവം, %d പ്രവര്‍ത്തിക്കുന്നു, %d ഉറങ്ങുന്നു, %d " "താല്‍കാലികമായി നിര്‍ത്തിയിരിക്കുന്നു, %d നിര്‍ജ്ജീവം D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: ഡിസ്പ്ലേ %s ആകണം" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: ക്രമം %s ആകണം" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: അറിയാത്ത ചരം (പാരാമീറ്റര്‍)" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: പൂജ്യത്തിനു താഴെ ഡിലേ (കാത്തിരിക്കേണ്ട സമയം) വെക്കാന്‍ കഴിയില്ല" #: ../src/top.ml:173 msgid "Batch mode" msgstr "ബാച് സ്ഥിതി" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "ബ്ലോക്ക് വായിക്കാന്‍ ആവശ്യങ്ങള്‍" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "ബ്ലോക്ക് എഴുതാന്‍ ആവശ്യങ്ങള്‍" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB അഥിതികള്‍ വക)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "ഡിലേ %.1fല്‍ നിന്നും മാറ്റുക ഇതിലേക്ക് :" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "കണക്ട് : %s; ആഥിതേയന്റെ പേരു്‌: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "കാണിക്കാനുള്ള ദശകള്‍" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "ഡിലേ (കാത്തിരിക്കേണ്ട സമയം) > 0 ആകണം" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "ഡിലേ (കാത്തിരിക്കേണ്ട സമയം) സെകന്റില്‍" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" "ഡിലേ (കാത്തിരിക്കേണ്ട സമയം) : %.1f secs; ബാച്ച്: %s; സുരക്ഷിതം: %s;ക്രമം: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "CSV-ല്‍ CPU അവസ്ഥ പ്രവര്‍ത്തന രഹിതമാക്കുക" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "CSV-ല്‍ ബ്ലോക്ക് ഡിവൈസ് അവസ്ഥ പ്രവര്‍ത്തന രഹിതമാക്കുക" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "CSV-ല്‍ net അവസ്ഥ പ്രവര്‍ത്തന രഹിതമാക്കുക" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "ഇനിറ്റ്( init) ഫയല്‍ വായിക്കരുത്" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ഡൊമേന്‍ തിരിച്ചറിയല്‍" #: ../src/top.ml:69 msgid "Domain name" msgstr "ഡൊമേന്‍ പേരു്‌" #: ../src/top.ml:1797 msgid "Domains display" msgstr "ഡൊമേന്‍സ് ഡിസ്പ്ലേ" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "പിശക്" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "തന്ന സമയത്തില്‍ പുറത്തിറങ്ങുക" #: ../src/top.ml:1766 msgid "Help" msgstr "സഹായം" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "ഹിസ്റ്റോറിക്കല്‍ സിപിയു ഡിലേ" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "CSV ഫയലിലേക്കുള്ള ലോഗ് സ്ഥിതിവിവരക്കണക്കുകള്‍" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "പ്രധാന കീകള്‍" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "virt-top(1) man താളില്‍ കൂടുതല്‍ സഹായം. തിരികെ പോകുന്നതിനായി ഏതെങ്കിലും കീ " "അമര്‍ത്തുക." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "നെറ്റ് RX ബൈറ്റുകള്‍" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "നെറ്റ് TX ബൈറ്റുകള്‍" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "ശരിയായ അക്കം അല്ല" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Number of iterations to run" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "" #: ../src/top.ml:1764 msgid "Quit" msgstr "നിര്‍ത്തുക" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "ഒരു സ്ക്രിപ്റ്റില്‍ നിന്നും പ്രവര്‍ത്തിപ്പിക്കുക (no user interface)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "ക്രമീകരിക്കുന്നു" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "സോര്‍ട്ട് ഫീള്‍ഡ് തെരഞ്ഞെടുക്കുക" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "ഫയലിലേക്കു് ഡീബഗ് സന്ദേശങ്ങള്‍ അയയ്ക്കുക" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "init ഫയലിനുള്ള പേരു് സജ്ജമാക്കുക" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "ക്രമം സജ്ജമാക്കുക (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Set sort order for main display" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "പരിഷ്കരണത്തിനുള്ള ഇടവേള ക്രമികരിക്കുക" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "%CPU അനുസരിച്ചു് ക്രമത്തിലാക്കുക" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "%MEM അനുസരിച്ചു് ക്രമത്തിലാക്കുക" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "ഐഡി അനുസരിച്ചു് ക്രമത്തിലാക്കുക" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "സമയമനുസരിച്ചു് ക്രമത്തിലാക്കുക" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "ബ്ലോക്ക് ഡിവൈസകുള്‍ കാണിച്ചു് ആരംഭിക്കുക" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "സംയോജക ഘടകങ്ങള്‍ കാണിച്ചു് ആരംഭിക്കുക" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "pCPU കാണിച്ചു് ആരംഭിക്കുക (default: tasks)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "സമയം (CPU സമയം)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "ബ്ലോക്ക് ഡിവൈസുകള്‍ ടൊഗിള്‍ ചെയ്യുക" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "നെറ്റ്‌വര്‍ക്ക് സംയോജകഘടകങ്ങള്‍ ടൊഗിള്‍ ചെയ്യുക" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "ഫിസിക്കല്‍ സിപിയുകള്‍ ടൊഗിള്‍ ചെയ്യുക" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" "കീ ടൈപ്പ് ചെയ്യുക അല്ലെങ്കില്‍ മുകളിലേക്കും താഴേക്കുമുള്ള കര്‍സര്‍ കീകള്‍ " "ഉപയോഗിക്കുക" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "സഹായത്തിനായി അപരിചിതമായ നിര്‍ദ്ദേശം - try 'h' ഉപയോഗിക്കുക" #: ../src/top.ml:1763 msgid "Update display" msgstr "ഡിസ്പ്ലേ പുതുക്കുക" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "%s-ലേക്കു് ക്രമികരണങ്ങളിക്ക് എഴുതപ്പെട്ടിരിക്കുന്നു" #: ../src/top.ml:1745 msgid "default" msgstr "" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc didn't return " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" "CSV ഫയലുകള്‍ക്കുള്ള പിന്തുണ ലഭ്യമല്ലാതെ virt-top കംപൈല്‍ ചെയ്തിരിക്കുന്നു" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" "തീയതികള്‍ക്കും സമയങ്ങള്‍ക്കുമുള്ള പിന്തുണ ലഭ്യമല്ലാതെ virt-top കംപൈല്‍ " "ചെയ്തിരിക്കുന്നു" virt-top-1.0.9/po/mr.po0000664000175000017500000002520113066174571014277 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: sandeeps \n" "Language-Team: Marathi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mr\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d क्षेत्र, %d सक्रीय, %d कार्यरत, %d अकार्यक्षम, %d स्तब्ध, %d निष्क्रीय " "D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: प्रदर्शक %s असायला हवे" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: क्रमवारी यानुरूप असायला हवे: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: अपरिचीत बाब" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: नकारात्मक विलंब निश्चित केले जाऊ शकत नाही" #: ../src/top.ml:173 msgid "Batch mode" msgstr "बॅच् पद्धती" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "ब्लॉक वाचन करीता आवश्यकता" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "ब्लॉक लेखन आवश्यक" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB अतिथी द्वारे)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "%.1f पासूनचे विलंब यानुरूप बदलवा: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "जुळवणी: %s; यजमाननाव: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "DISPLAY पद्धती" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "विलंब असायला हवे > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "विलंब वेळ अवधी (सेकंद)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "विलंब: %.1f secs; बॅच्: %s; सुरक्षीत: %s; क्रमवारी: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "CSV अंतर्गत CPU आकडेवारी अकार्यान्वीत करा" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "CSV अंतर्गत ब्लॉक साधन आकडेवारी अकार्यान्वीत करा" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "CSV अंतर्गत नेट आकडेवारी अकार्यान्वीत करा" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "आवृत्ती क्रमांक दाखवा व बाहेर पडा" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "init फाइल वाचू नका" #: ../src/top.ml:68 msgid "Domain ID" msgstr "डोमेन ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "क्षेत्र नाव" #: ../src/top.ml:1797 msgid "Domains display" msgstr "क्षेत्र प्रदर्शन" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "चूक" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "ठराविक वेळेस बाहेर पडा" #: ../src/top.ml:1766 msgid "Help" msgstr "मदत" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "ऐतिहासिक CPU विलंब" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "CSV फाइल करीता लॉग आकडेवारी" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "मुख्य कि" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "virt-top(1) man पान अंतर्गत अधिक मदत. पहाण्याकरीता कुठलिही कि दाबा." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "एकूण RX बाइटस्" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "एकूणTX बाइटस्" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "वैध संख्या नाही" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "चालविण्याजोगी काळचक्रची संख्या" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "बंद करा" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "सुरू करा" #: ../src/top.ml:1764 msgid "Quit" msgstr "सोडून द्या" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "स्क्रीप्ट पासून चालवा (वापरकर्ता संवाद नाही)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "SORTING" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "क्रमवारी गुणविशेष निवडा" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "डीबग संदेश फाइल करीता पाठवा" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "init फाइल करीता नाव निश्चित करा" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "क्रमवारी निश्चित करा (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "क्रमवारी निश्चित करा (%s)" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "अद्ययावत अवधी निश्चित करा" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "%CPU नुरूप क्रमावरीत लावा" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "%MEM नुरूप क्रमावरीत लावा" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "ID नुरूप क्रमावरीत लावा" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "TIME नुरूप क्रमावरीत लावा" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "ब्लॉक साधन दर्शवून प्रारंभ करा" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "संजाळ संवाद दर्शवून प्रारंभ करा" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "pCPUs दर्शवून प्रारंभ करा (मुलभूत: कार्य))" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (CPU वेळ)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "ब्लॉक साधन बदलवा" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "संजाळ संवाद बदलवा" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "वास्तविक CPU बदलवा" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "कि टाइप करा किंवा वर आणि खाली कर्सर कि चा वापर करा." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "अपरिचीत आदेश - मदत करीता 'h' वापरून पहा" #: ../src/top.ml:1763 msgid "Update display" msgstr "प्रदर्शन अद्ययावत करा" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "%s करीता संयोजना लिहीले" #: ../src/top.ml:1745 msgid "default" msgstr "पूर्वनिर्धारित" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc ने पुरवले नाही" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d, Red Hat द्वारे" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : आभासीकरण करीता 'top'-नुरूप उपकार्यक्रम\n" "\n" "सारांश\n" " virt-top [-options]\n" "\n" "पर्याय" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top ला CSV फाइल करीता समर्थन न पुरविता कंपाईल केले गेले" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top ला दिनांक व वेळ करीता समर्थन न पुरविता कंपाईल केले गेले" virt-top-1.0.9/po/nl.po0000664000175000017500000002041313066174571014272 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-29 02:08-0400\n" "Last-Translator: warrink \n" "Language-Team: Dutch <>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d domeinen, %d actief, %d draaiend, %d slapend, %d gepauzeerd, %d inactieve" " D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: display moet %s zijn" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: sorteervolgorde moet worden: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: onbekende parameter" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: kan geen negatieve vertraging instellen" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Batch mode" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Blok lees aanvragen" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Blok schrijf aanvragen" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU:%2.1f%% Mem: %Ld MB (%Ld MB door gasten)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Verander vertraging van %.1f naar: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Verbinding: %s; hostnaam: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "DISPLAY MODES" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "Vertraging moet > 0 zijn" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Vertragingstijd interval (seconden)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Vertraging: %.1f sec; batch: %s; veilig: %s; sorteren: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Zet CPU stats in CSV uit" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Zet blokapparaat stats in CSV uit" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Zet netwerk stats in CSV uit" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Toon versie nummer en sluit af" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Lees init bestand niet" #: ../src/top.ml:68 msgid "Domain ID" msgstr "Domein ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "Domeinnaam" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Domeinen display" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Fout" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Afsluiten op aangegeven tijdstip" #: ../src/top.ml:1766 msgid "Help" msgstr "Hulp" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Historische CPU vertraging" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Log statistieken naar CSV bestand" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "HOOFD SLEUTELS" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Meer hulp in de virt-top(1) man pagina. Druk op een toets om terug te keren." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Netwerk RX bytes" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Netwerk TX bytes" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Geen geldig getal" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Aantal te draaien iteraties" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Uit" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Op" #: ../src/top.ml:1764 msgid "Quit" msgstr "Verlaten" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Uitvoeren vanuit een script (geen gebruikersinterface)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "SORTEREN" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Selecteer sorteer veld" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Stuur debug berichten naar bestand" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Stel naam van init bestand in" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Stel sorteervolgorde in (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Stel sorteervolgorde in voor hoofddisplay" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Stel vernieuw-interval in" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Sorteer volgens %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Sorteer volgens %MEM" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Sorteer volgens ID" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Sorteer volgens TIJD" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Begin met het weergeven van blokapparaten" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Begin met het weergeven van netwerkinterfaces" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Begin met het weergeven van pCPU's (standaard: taken)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIJD (CPU-tijd)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Schakel blokapparaten om" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Schakel netwerkinterfaces om" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Schakel fysieke CPU's om" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "Type toets of gebruik omhoog en omlaag cursortoetsen." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Onbekend commando - probeer 'h' voor hulp" #: ../src/top.ml:1763 msgid "Update display" msgstr "Vernieuw display" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Instellingen naar %s geschreven" #: ../src/top.ml:1745 msgid "default" msgstr "standaard" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc gaf niet terug" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d door Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top: een op 'top' lijkend hulpprogramma voor virtualisatie\n" "\n" "SAMENVATTING\n" " virt-top [-opties]\n" "\n" "OPTIES" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top werd gecompileerd zonder ondersteuning voor CSV bestanden" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top werd gecompileerd zonder ondersteuning voor datum en tijd" virt-top-1.0.9/po/or.po0000664000175000017500000002543413066174571014311 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: Oriya \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: or\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d ଡମେନ, %d ସକ୍ରିୟ, %d ଚାଲୁଅଛି, %d ସୁପ୍ତ, %d ସ୍ଥିର, %d ନିଷ୍କ୍ରିୟ D:%d O:%d " "X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: ପ୍ରଦର୍ଶନଟି %s ହୋଇଥିବା ଉଚିତ" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: କ୍ରମସଜ୍ଜା ଏହି ପରି ହେବା ଉଚିତ: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: ଅଜଣା ପ୍ରାଚଳ" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: ରୂଣାତ୍ମକ ବିଳମ୍ବ ସେଟ କରିପାରିବେ ନାହିଁ" #: ../src/top.ml:173 msgid "Batch mode" msgstr "ବ୍ୟାଚ ଅବସ୍ଥା" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "ପଠନୀୟ reqs କୁ ଅଟକାନ୍ତୁ" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "ଲିଖନୀୟ reqs କୁ ଅଟକାନ୍ତୁ" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "ବିଳ୍ମ୍ବକୁ %.1f କୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "ସଂଯୋଗ କରନ୍ତୁ: %s; ହୋଷ୍ଟ ନାମ: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "DISPLAY MODES" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "ବିଳମ୍ବ ନିଶ୍ଚିତ ଭାବରେ > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "ବିଳମ୍ବ ସମୟ ଅନ୍ତରାଳ (ସେକଣ୍ଡ)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "ବିଳମ୍ବ: %.1f secs; ବ୍ୟାଚ: %s; ସୁରକ୍ଷିତ: %s; କ୍ରମ: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "CPU stats କୁ CSV ରେ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "ବ୍ଲକ ଉପକରଣ stats କୁ CSV ରେ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "ନେଟ stats କୁ CSV ରେ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "ସଂସ୍କରଣ ସଂଖ୍ୟାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ ଏବଂ ପ୍ରସ୍ଥାନ କରନ୍ତୁ" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "init ଫାଇଲକୁ ପଢ଼ନ୍ତୁ ନାହିଁ" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ପରିସର ପରିଚୟ" #: ../src/top.ml:69 msgid "Domain name" msgstr "ଡମେନ ନାମ" #: ../src/top.ml:1797 msgid "Domains display" msgstr "ଡମେନ ଦୃଶ୍ୟ" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "ତ୍ରୁଟି" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "ପ୍ରଦତ୍ତ ସମୟରେ ପ୍ରସ୍ଥାନ କରନ୍ତୁ" #: ../src/top.ml:1766 msgid "Help" msgstr "ସହାୟତା" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "ପୁରାତନ CPU ବିଳମ୍ବ" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "CSV ଫାଇଲରେ ପରିସଂଖ୍ୟାନକୁ ଲଗ କରନ୍ତୁ" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "MAIN KEYS" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "virt-top(1) man ପୃଷ୍ଠାରେ ଅଧିକ ସହାୟତା। ଫେରିବା ପାଇଁ ଯେକୌଣସି କି କୁ ଦବାନ୍ତୁ।" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "ସମୁଦାୟ RX ବାଇଟ" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "ସମୁଦାୟ TX ବାଇଟ" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "ଗୋଟିଏ ବୈଧ ସଂଖ୍ୟା ନୁହଁ" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "ଚଲାଇବା ପାଇଁ ପୁନରାବୃତ୍ତି ସଂଖ୍ୟା" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "ବନ୍ଦ" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "ରେ" #: ../src/top.ml:1764 msgid "Quit" msgstr "ବିଦାୟ ନିଅନ୍ତୁ" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "ଗୋଟିଏ ସ୍କ୍ରିପ୍ଟରୁ ଚଲାନ୍ତୁ (କୌଣସି ଚାଳକ ଅନ୍ତରାପୃଷ୍ଠ ନାହିଁ)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "SORTING" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "କ୍ରମ ସଜ୍ଜା କ୍ଷେତ୍ରକୁ ବାଛନ୍ତୁ" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "ଫାଇଲ ମଧ୍ଯକୁ ତ୍ରୁଟିନିବାରଣ ସନ୍ଦେଶ ପଠାନ୍ତୁ" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "init ଫାଇଲର ନାମ ସେଟ କରନ୍ତୁ" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "କ୍ରମସଜ୍ଜା ସେଟ କରୁଅଛି (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "ମୂଖ୍ୟ ପ୍ରଦର୍ଶନି ପାଇଁ କ୍ରମସଜ୍ଜା ସେଟ କରୁଅଛି" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "ଅଦ୍ୟତନ ଅନ୍ତରାଳ ସେଟ କରୁଅଛି" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "%CPU ଦ୍ୱାରା ସଜାଡ଼ନ୍ତୁ" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "%MEM ଦ୍ୱାରା ସଜାଡ଼ନ୍ତୁ" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "ID ଦ୍ୱାରା ସଜାଡ଼ନ୍ତୁ" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "TIME ଦ୍ୱାରା ସଜାଡ଼ନ୍ତୁ" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "ବ୍ଲକ ଉପକରଣଗୁଡ଼ିକୁ ଦର୍ଶାଇ ଆରମ୍ଭ କରନ୍ତୁ" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "ନେଟୱର୍କ ଅନ୍ତରାପୃଷ୍ଠଗୁଡ଼ିକୁ ଦର୍ଶାଇ ଆରମ୍ଭ କରନ୍ତୁ" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "pCPUs କୁ ଦର୍ଶାଇ ଆରମ୍ଭ କରନ୍ତୁ (default: tasks)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (CPU ସମୟ)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "ବ୍ଲକ ଉପକରଣଗୁଡ଼ିକୁ ଆଗପଛ କରନ୍ତୁ" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "ନେଟୱର୍କ ଅନ୍ତରାପୃଷ୍ଠଗୁଡ଼ିକୁ ଆଗପଛ କରନ୍ତୁ" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "ଭୌତିକ CPUs ଆଗପଛ କରନ୍ତୁ" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "କି ଟାଇପ କରନ୍ତୁ କିମ୍ବା ସୂଚକ କି କୁ ଉପର ତଳ କରନ୍ତୁ।" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "ଅଜଣା ନିର୍ଦ୍ଦେଶ - ସହାୟତା ପାଇଁ 'h' ବ୍ୟବହାର କରନ୍ତୁ" #: ../src/top.ml:1763 msgid "Update display" msgstr "ପ୍ରଦର୍ଶନକୁ ଅଦ୍ୟତନ କରନ୍ତୁ" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "ସଂରଚନାକୁ %s ରେ ଲେଖନ୍ତୁ" #: ../src/top.ml:1745 msgid "default" msgstr "ପୂର୍ବ ନିର୍ଦ୍ଧାରିତ" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc ଫେରାଇନଥାଏ" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat ଦ୍ୱାରା" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top CSV ଫାଇଲଗୁଡ଼ିକ ପାଇଁ ସମର୍ଥନ ବିନା ସଂକଳନ କରାଯାଇଛି" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top ତାରିଖ ଏବଂ ସମୟ ପାଇଁ ସମର୍ଥନ ବିନା ସଂକଳନ କରାଯାଇଛି" virt-top-1.0.9/po/pa.po0000664000175000017500000001610013066174571014257 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2013-11-20 06:00-0500\n" "Last-Translator: A S Alam \n" "Language-Team: Panjabi (Punjabi) (http://www.transifex.com/projects/p/virttop/language/pa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pa\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: ਅਣਜਾਣ ਪੈਰਾਮੀਟਰ" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "" #: ../src/top.ml:173 msgid "Batch mode" msgstr "ਬੈਂਚ ਮੋਡ" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "ਕੁਨੈਕਟ: %s; ਹੋਸਟ-ਨਾਂ: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "ਡਿਸਪਲੇਅ ਮੋਡ" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "ਦੇਰੀ ਸਮਾਂ ਅੰਤਰਾਲ (ਸਕਿੰਟ)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "ਦੇਰੀ: %.1f ਸਕਿੰਟ; ਬੈਂਚ: %s; ਸਕਿਉਰ: %s; ਲੜੀਬੱਧ: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "init ਫਾਇਲ ਨਾ ਪੜ੍ਹੋ" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ਡੋਮੇਨ ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "ਡੋਮੇਨ ਨਾਂ" #: ../src/top.ml:1797 msgid "Domains display" msgstr "ਡੋਮੇਨ ਡਿਸਪਲੇਅ" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "ਗਲਤੀ" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "ਦਿੱਤੇ ਸਮੇਂ ਉੱਤੇ ਬੰਦ" #: ../src/top.ml:1766 msgid "Help" msgstr "ਮੱਦਦ" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "ਅਤੀਤ CPU ਦੇਰੀ" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "ਮੁੱਖ ਕੁੰਜੀਆਂ" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "ਠੀਕ ਨੰਬਰ ਨਹੀਂ ਹੈ" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "ਬੰਦ" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "ਚਾਲੂ" #: ../src/top.ml:1764 msgid "Quit" msgstr "ਬਾਹਰ" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" #: ../src/top.ml:1771 msgid "SORTING" msgstr "" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "" #: ../src/top.ml:1763 msgid "Update display" msgstr "" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "" #: ../src/top.ml:1745 msgid "default" msgstr "ਡਿਫਾਲਟ" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat ਵਲੋਂ" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/po/pl.po0000664000175000017500000002123013066174571014272 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d domeny, %d aktywne, %d uruchomione, %d uśpione, %d wstrzymane, %d " "nieaktywne D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: ekran powinien być %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: porządek sortowania powinien być: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: nieznany parametr" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: nie można ustawić ujemnego opóźnienia" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Tryb wsadowy" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Wymagania odczytania blokowego" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Wymagania zapisania blokowego" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "Procesor: %2.1f%% Pamięć: %Ld MB (%Ld MB przez gości)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Zmień opóźnienie z %.1f na: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Połącz się: %s; nazwa gospodarza: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "TRYBY WYŚWIETLANIA" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "Opóźnienie musi wynosić > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Czas między opóźnieniami (sekundy)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" "Opóźnienie: %.1f sekundy; wsadowo: %s; bezpieczeństwo: %s; sortowanie: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Wyłącza statystyki procesora w CSV" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Wyłącza statystyki urządzenia blokowego w CSV" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Wyłącza statystyki sieci w CSV" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Wyświetla numer wersji i kończy działanie" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Bez odczytu pliku init" #: ../src/top.ml:68 msgid "Domain ID" msgstr "Identyfikator domeny" #: ../src/top.ml:69 msgid "Domain name" msgstr "Nazwa domeny" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Ekran domen" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Błąd" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Kończy pracę o podanym czasie" #: ../src/top.ml:1766 msgid "Help" msgstr "Pomoc" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Historyczne opóźnienie procesora" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Zapisuje statystyki do pliku CSV" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "GŁÓWNE KLUCZE" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Więcej pomocy na stronie podręcznika virt-top(1). Proszę nacisnąć dowolny " "klawisz, aby kontynuować." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Sieciowe bajty RX" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Sieciowe bajty TX" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Nie jest prawidłowym numerem" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Liczba iteracji do wykonania" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Wyłączone" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Włączone" #: ../src/top.ml:1764 msgid "Quit" msgstr "Zakończ" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Uruchamia ze skryptu (brak interfejsu użytkownika)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "SORTOWANIE" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Wybór pola sortowania" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Wysyła komunikaty debugowania do pliku" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Ustawia nazwę pliku init" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Ustawia porządek sortowania (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Ustawia porządek sortowania dla głównego ekranu" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Ustawia czas między aktualizacjami" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Uporządkowuje według %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Uporządkowuje według %MEM" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Uporządkowuje według identyfikatorów" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Uporządkowuje według TIME" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Uruchamia przez wyświetlenie urządzeń blokowych" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Uruchamia przez wyświetlenie interfejsów sieciowych" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" "Uruchamia przez wyświetlanie fizycznych procesorów (domyślnie: zadania)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (czas procesora)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Przełącza urządzenia blokowe" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Przełącza interfejsy sieciowe" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Przełącza fizyczne procesory" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "Proszę podać klucz lub użyć klawiszy kursora w górę i w dół." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Nieznane polecenie - proszę spróbować \"h\", aby uzyskać pomoc" #: ../src/top.ml:1763 msgid "Update display" msgstr "Aktualizuje ekran" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Zapisano ustawienia do %s" #: ../src/top.ml:1745 msgid "default" msgstr "domyślne" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc nie zwróciło " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top: narzędzie podobne do \"top\" dla wirtualizacji\n" "\n" "PODSUMOWANIE\n" " virt-top [-opcje]\n" "\n" "OPCJE" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top został skompilowany bez obsługi plików CSV" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top został skompilowany bez obsługi dat i czasu" virt-top-1.0.9/po/pt_BR.po0000664000175000017500000002122113066174571014665 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: Taylon \n" "Language-Team: Portuguese (Brazilian) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt-BR\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d domínios, %d ativo, %d executando, %d adormecido, %d pausado, %d inativo " "D.%d O.%d X.%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: a exibição deveria ser %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: a ordem da classificação deveria ser: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: parâmetro desconhecido" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: não é possível atribuir um atraso negativo" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Modo em lotes" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Requisições de leitura em blocos" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Requisições de escrita em blocos" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB para convidados)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Alterar o atraso de %.1f para:" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Conectar:%s; Nome de máquina: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "MODOS DE EXIBIÇÃO" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "O atraso deve ser > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Intervalo de tempo do atraso (segundos)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Atraso: %.1f segs; Lote: %s, Seguro: %s; Classificação: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Desabilita a estatística da CPU no CSV" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Desabilita as estatísticas de bloco no CSV" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Desabilita as estatísticas de rede no CSV" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Exibir número da versão e sair" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Não lê o arquivo init" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ID do domínio" #: ../src/top.ml:69 msgid "Domain name" msgstr "Nome do domínio" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Exibe os domínios" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Erro" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Sai em um dado tempo" #: ../src/top.ml:1766 msgid "Help" msgstr "Ajuda" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Histórico do atraso da CPU" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Estatísticas de log para o arquivo CSV" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "MAIN KEYS" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Mais ajuda na página do manual do vit-top(1). Pressione qualquer tecla para " "retornar." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Quantidade líquida de bytes recebidos" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Quantidade líquida de bytes transmitidos" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Número inválido" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Número de iterações a serem executadas" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Off" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "On" #: ../src/top.ml:1764 msgid "Quit" msgstr "Sair" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Executa a partir de um script (sem interface do usuário)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "CLASSIFICANDO" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Selecione o campo para classificação" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Envia as mensagens de depuração para um arquivo" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Define o nome do arquivo init" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Define a ordem da classificação (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Define a ordem de classificação para a exibição principal" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Define o intervalo de atualização" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Classificação por %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Classificação por %MEM" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Classificação por ID" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Classificação por TIME" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Inicia pela apresentação dos dispositivos de bloco" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Inicia pela apresentação das interfaces de rede" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Inicia pela apresentação das pCPUs (padrão: tarefas)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (tempo de CPU)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Alterna entre os dispositivos de bloco" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Alterna entre as interfaces de rede" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Alterna entre as CPUs físicas" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" "Pressione uma tecla ou use as teclas de navegação para cima e para baixo." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Comando desconhecido - tente \"h\" para ajuda" #: ../src/top.ml:1763 msgid "Update display" msgstr "Atualiza a exibição" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Configurações gravadas em %s" #: ../src/top.ml:1745 msgid "default" msgstr "padrão" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "o get_xml_desc não retornou " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d pela Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top: um utilitário do tipo \"top\" para virtualização\n" "\n" "SUMÁRIO\n" " virt-top [-options]\n" "\n" "OPÇÕES" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "o virt-top foi compilado sem suporte para arquivos CSV " #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "o virt-top foi compilado sem suporte para datas e horas " virt-top-1.0.9/po/pt.po0000664000175000017500000002121013066174571014300 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d domínios, %d ativo, %d executando, %d adormecido, %d pausado, %d inativo " "D.%d O.%d X.%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: a exibição deveria ser %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: a ordem da classificação deveria ser: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: parâmetro desconhecido" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: não é possível atribuir um atraso negativo" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Modo em lotes" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Requisições de leitura em blocos" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Requisições de escrita em blocos" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB para convidados)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Alterar o atraso de %.1f para:" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Conectar:%s; Nome de máquina: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "MODOS DE EXIBIÇÃO" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "O atraso deve ser > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Intervalo de tempo do atraso (segundos)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Atraso: %.1f segs; Lote: %s, Seguro: %s; Classificação: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Desabilita a estatística da CPU no CSV" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Desabilita as estatísticas de bloco no CSV" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Desabilita as estatísticas de rede no CSV" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Exibir número da versão e saída" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Não lê o arquivo init" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ID do domínio" #: ../src/top.ml:69 msgid "Domain name" msgstr "Nome do domínio" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Exibe os domínios" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Erro" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Sai em um dado tempo" #: ../src/top.ml:1766 msgid "Help" msgstr "Ajuda" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Histórico do atraso da CPU" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Estatísticas de log para o arquivo CSV" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "MAIN KEYS" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Mais ajuda na página do manual do vit-top(1). Pressione qualquer tecla para " "retornar." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Quantidade líquida de bytes recebidos" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Quantidade líquida de bytes transmitidos" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Número inválido" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Número de iterações a serem executadas" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Desligado" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Ligado" #: ../src/top.ml:1764 msgid "Quit" msgstr "Sair" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Executa a partir de um script (sem interface do usuário)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "CLASSIFICANDO" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Selecione o campo para classificação" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Envia as mensagens de depuração para um arquivo" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Define o nome do arquivo init" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Define a ordem da classificação (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Define a ordem de classificação para a exibição principal" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Define o intervalo de atualização" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Classificação por %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Classificação por %MEM" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Classificação por ID" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Classificação por TIME" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Inicia pela apresentação dos dispositivos de bloco" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Inicia pela apresentação das interfaces de rede" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Inicia pela apresentação das pCPUs (padrão: tarefas)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (tempo de CPU)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Alterna entre os dispositivos de bloco" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Alterna entre as interfaces de rede" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Alterna entre as CPUs físicas" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" "Pressione uma tecla ou use as teclas de navegação para cima e para baixo." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Comando desconhecido - tente \"h\" para ajuda" #: ../src/top.ml:1763 msgid "Update display" msgstr "Atualiza a exibição" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Configurações gravadas em %s" #: ../src/top.ml:1745 msgid "default" msgstr "padrão" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "o get_xml_desc não retornou " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d por Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top: um utilitário do tipo \"top\" para virtualização\n" "\n" "SUMÁRIO\n" " virt-top [-options]\n" "\n" "OPÇÕES" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "o virt-top foi compilado sem suporte para arquivos CSV " #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "o virt-top foi compilado sem suporte para datas e horas " virt-top-1.0.9/po/POTFILES0000664000175000017500000000037213066270123014461 0ustar rjonesrjones../src/collect.ml ../src/csv_output.ml ../src/main.ml ../src/opt_calendar.ml ../src/opt_csv.ml ../src/opt_gettext.ml ../src/opt_xml.ml ../src/redraw.ml ../src/screen.ml ../src/stream.ml ../src/top.ml ../src/types.ml ../src/utils.ml ../src/version.ml virt-top-1.0.9/po/ru.po0000664000175000017500000002350513066174571014314 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d домен(ов), %d активно, %d запущено, %d простаивает, %d приостановлено, %d" " не активно D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: должно быть показано %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: сортировка должна быть: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: неизвестный параметр" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: значение задержки не может быть отрицательным" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Командный режим" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Запросы чтения блоков" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Запросы записи блоков" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Память: %Ld МБ (%Ld МБ для гостей)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Изменить задержку с %.1f на: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Подключение: %s; имя узла: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "РЕЖИМЫ ОТОБРАЖЕНИЯ" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "Задержка должна быть > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Интервал задержки (сек.)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Задержка: %.1f сек.; пакет: %s; безопасность: %s; сортировка: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Отключить статистику процессора в CSV" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Отключить статистику блочных устройств в CSV" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Отключить статистику сети в CSV" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Показать номер версии и выйти" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Не читать init файл" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ID домена" #: ../src/top.ml:69 msgid "Domain name" msgstr "Имя домена" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Экран доменов" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Ошибка" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Выход в заданное время" #: ../src/top.ml:1766 msgid "Help" msgstr "Справка" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "История задержки процессора" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Сохранять статистику в файл CSV" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "ГЛАВНЫЕ КЛАВИШИ" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Подробную справку по virt-top(1) можно найти на странице man. Нажмите любую " "клавишу для возврата." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Передано байт" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Принято байт" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Недопустимый номер" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Число итераций" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Выкл." #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Вкл." #: ../src/top.ml:1764 msgid "Quit" msgstr "Выход" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Запуск из сценария (без интерфейса пользователя)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "СОРТИРОВКА" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Выберите поле сортировки" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Отправить отладочные сообщения в файл" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Задать имя init файла" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Задать порядок сортировки (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Задать порядок сортировки для основного экрана" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Задать интервал обновлений" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Сортировка по %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Сортировка по %MEM" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Сортировка по ID" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Сортировка по времени" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Сначала показать блочные устройства" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Сначала показать сетевые интерфейсы" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Сначала показать физические процессоры (по умолчанию: задания)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "ВРЕМЯ (процессорное)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Переключение блочных устройств" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Переключение сетевых интерфейсов" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Переключение физических процессоров" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "Нажмите кнопку или используйте стрелки вверх и вниз." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Неизвестная команда. Введите «h» для получения справки." #: ../src/top.ml:1763 msgid "Update display" msgstr "Обновить экран" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Настройки записаны в %s" #: ../src/top.ml:1745 msgid "default" msgstr "по умолчанию" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc не вернул " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : Утилита виртуализации, принцип работы которой аналогичен «top»\n" "\n" "Формат:\n" " virt-top [-опции]\n" "\n" "ОПЦИИ" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top собран без поддержки файлов CSV" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top собран без поддержки времени и даты" virt-top-1.0.9/po/sr.po0000664000175000017500000002335013066174571014310 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2015-01-28 01:55-0500\n" "Last-Translator: Momcilo Medic \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/virttop/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d области, %d активних, %d покренутих, %d мирујућих, %d паузираних, %d " "неактивних D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: приказ би требао да буде %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: начин ређања би требао бити: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: непознат параметар" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: не може се поставити негативна пауза" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Групни режим" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Захтеви блок читања" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Захтеви блок уписа" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB од стране гостију)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Променити паузу са %.1f на: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Повежи: %s; Hostname: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "РЕЖИМИ ПРИКАЗА" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "Пауза мора бити > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Интервал паузе (секунде)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Пауза: %.1f секунди; Група: %s; Сигурност: %s; Ређање: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Онемогући CPU статистике у CSV-у" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Онемогући статистике блок уређаја у CSV-у" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Онемогући мрежне статистике у CSV-у" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Прикажи број верзије и изађи" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Немој читати инициализациону датотеку" #: ../src/top.ml:68 msgid "Domain ID" msgstr "ID области" #: ../src/top.ml:69 msgid "Domain name" msgstr "Име области" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Приказ области" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Грешка" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Излаз у одређено време" #: ../src/top.ml:1766 msgid "Help" msgstr "Помоћ" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Историјска CPU пауза" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Записуј статистике у CSV датотеку" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "ГЛАВНИ КЉУЧЕВИ" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Више помоћи на virt-top(1) man страници. Притисните било који тастер за " "повратак." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Мрежни RX бајтови" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Мрежни TX бајтови" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Није исправан број" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Број понављања за извршавање" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Искључи" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Укључи" #: ../src/top.ml:1764 msgid "Quit" msgstr "Изађи" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Извршавање из скрипте (без корисничког окружења)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "РЕЂАЊЕ" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Одаберите поље по којем се ређа" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Пошаљи поруке за отклањање грешака у датотеку" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Постави име иницијализационе датотеке" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Постави начин ређања (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Постави начин ређања за главни приказ" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Постави интервал освежавања" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Поређај по %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Поређај по %MEM" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Поређај по ID" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Поређај по ВРЕМЕНУ" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Почни са приказивањем блок уређаја" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Почни са приказивањем мрежних интерфејса" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Почни са приказивањем pCPU-ова (подразумевано: задаци)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "ВРЕМЕ (CPU време)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Пребаци блок уређаје" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Пребаци мрежне интерфејсе" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Пребаци физичке CPU-ове" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "Притистните тастер или користите тастере навигације горе и доле." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Непозната команда - покушајте 'h' за помоћ" #: ../src/top.ml:1763 msgid "Update display" msgstr "Освежи приказ" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Уписана подешавања у %s" #: ../src/top.ml:1745 msgid "default" msgstr "подразумевано" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc није вратио " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d од Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : алатка слична 'top'-у за виртуелизацију\n" "\n" "ПРЕГЛЕД\n" " virt-top [-опције]\n" "\n" "ОПЦИЈЕ" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top је компајлиран без подршке за CSV датотеке" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top је компајлиран без подршке за датуме и времена" virt-top-1.0.9/po/sv.po0000664000175000017500000002045413066174571014316 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2013-11-20 06:00-0500\n" "Last-Translator: Göran Uddeborg \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/virttop/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MNE" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d domäner, %d aktiva, %d körande, %d sovande, %d pausade, %d inaktiva N:%d " "A:%d K:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: display skall vara %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: sort-ordning skall vara: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: okänd parameter" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: kan inte sätta en negativ fördröjning" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Satsvis läge" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Blocksläsningsbegäranden" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Blockskrivningsbegäranden" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f %% Mne: %Ld MB (%Ld MB av gäster)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Ändra fördröjning från %.1f till: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "Anslut: %s; Värdnamn: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "VISNINGSLÄGEN" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "Fördröjning måste vara > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Tidsfördröjningsintervall (sekunder)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Fördröjning: %.1f s; Satsvis: %s; Säkert: %s; Sortering: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Avaktivera CPU-statistik i CSV" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Avaktivera blockenhetsstatistik i CSV" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Avaktivera nätstatistik i CSV" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Visa versionsnummer och avsluta" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Läs inte initieringsfilen" #: ../src/top.ml:68 msgid "Domain ID" msgstr "Domän-ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "Domännamn" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Domänvisning" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Fel" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Avsluta vid given tidpunkt" #: ../src/top.ml:1766 msgid "Help" msgstr "Hjälp" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Historisk CPU-fördröjning" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Logga statistik till en CSV-fil" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "HUVUDTANGENTER" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Mer hjälp i manualsidan virt-top(1). Tryck en tangent för att återvända." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Netto MT byte" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Netto SD byte" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Inte ett giltigt tal" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Antal iterationer att köra" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Av" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "På" #: ../src/top.ml:1764 msgid "Quit" msgstr "Avsluta" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Kör från ett skript (inget användargränssnitt)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "SORTERING" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Välj sorteringsfält" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Skicka felsökningsmeddelanden till en fil" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Ange namn på initieringsfilen" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Ange sorteringsordning (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Ange sorteringsordning för huvudsidan" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Ange uppdateringsintervall" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Sortera efter %CPU" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Sortera efter %MNE" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Sortera efter ID" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Sortera efter TID" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Starta med att visa blockenheter" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Starta med att visa nätverksgränssnitt" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Starta med att visa fCPU:er (standard: uppgifter)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TID (CPU-tid)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Växla blockenheter" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Växla nätverksgränssnitt" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Växla fysiska CPU:er" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "Tryck en tangent eller använd piltangenterna upp och ned." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Okänt kommando - försök med ”h” för hjälp" #: ../src/top.ml:1763 msgid "Update display" msgstr "Uppdatera visningen" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Skrev inställningar till %s" #: ../src/top.ml:1745 msgid "default" msgstr "standard" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc returnerade inte " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d av Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : ett ”top”-liknande verktyg för virtualisering\n" "\n" "SAMMANFATTNING\n" " virt-top [-flaggor]\n" "\n" "FLAGGOR" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top kompilerade utan stöd för CSV-filer" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top kompilerades utan stöd för datum och tider" virt-top-1.0.9/po/te.po0000664000175000017500000002627213066174571014302 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: Telugu <>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: te\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d డొమైన్లు, %d క్రియాశీల, %d నడుస్తున్నవి, %d స్లీపింగ్, %d నిలిపివున్నవి, " "%d క్రియాహీన D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: ప్రదర్శన %s కావలె" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: క్రమీకరణ క్రమము యిది కావలె: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: తెలియని పారామితి" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: ఋణ ఆలస్యంను అమర్చలేము" #: ../src/top.ml:173 msgid "Batch mode" msgstr "బాచ్ రీతి" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "బ్లాక్ రీడ్ రెక్స్" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "బ్లాక్ వ్రైట్ రెక్స్" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "ఆలస్యాన్ని %.1f నుండి దీనికి మార్చుము: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "అనుసంధానించు: %s; హోస్టునామము: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "ప్రదర్శన రీతులు" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "ఆలస్యం తప్పక > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "ఆలస్యానికి విరామం (క్షణాలు)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "ఆలస్యం: %.1f క్షణాలు; బాచ్: %s; రక్షణ: %s; క్రమము: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "CSV నందు CPU గణాంకాలను అచేతనముచేయి" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "CSV నందు బ్లాక్ పరికరపు గణాంకాలను అచేతనముచేయి" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "CSV నందు నెట్ గణాంకాలను అచేతనముచేయి" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "వర్షన్ సంఖ్యను ప్రదర్శించు మరియు నిష్క్రమించు" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "init ఫైలును చదువవద్దు" #: ../src/top.ml:68 msgid "Domain ID" msgstr "డొమైన్ ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "డొమైన్ నామము" #: ../src/top.ml:1797 msgid "Domains display" msgstr "డొమైన్ ప్రదర్శన" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "దోషము" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "ఇచ్చిన సమయమందు నిష్క్రమించుము" #: ../src/top.ml:1766 msgid "Help" msgstr "సహాయం" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "చారిత్రక CPU ఆలస్యము" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "CSV ఫైలునకు లాగ్ గణాంకాలు" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "ముఖ్య కీలు" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "virt-top(1) man పేజీ నందు మరింత సహాయం. తిరిగివచ్చుటకు యేదేని కీను వత్తుము." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "నెట్ RX బైట్లు" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "నెట్ TX బైట్లు" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "చెల్లునటువంటి సంఖ్యకాదు" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "నడుపవలసిన ఆవర్తనముల సంఖ్య" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "ఆఫ్" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "ఆన్" #: ../src/top.ml:1764 msgid "Quit" msgstr "నిష్క్రమించు" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "స్క్రిప్టునుండి నడుపుము (యెటువంటి వినియోగదారి యింటర్ఫేస్ లేదు)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "క్రమీకరణము" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "క్రమీకరణ క్షేత్రమును యెంపికచేయుము" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "డీబగ్ సందేశములను ఫైలునకు పంపుము" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "init ఫైలు యొక్క నామమును అమర్చుము" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "క్రమీకరణ క్రమమును అమర్చుము (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "ముఖ్య ప్రదర్శన కొరకు క్రమీకరణ క్రమమును అమర్చుము" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "నవీకరణ విరామమును అమర్చుము" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "%CPU ద్వారా క్రమీకరణము" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "%MEM ద్వారా క్రమీకరణము" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "ID ద్వారా క్రమీకరణము" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "సమయం ద్వారా క్రమీకరణము" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "బ్లాక్ పరికరములను ప్రదర్శించుట ద్వారా ప్రారంభించుము" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "నెట్వర్కు యింటర్ఫేసులను ప్రదర్శించుట ద్వారా ప్రారంభించుము" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "pCPUలను ప్రదర్శించుట ద్వారా ప్రారంభించుము (అప్రమేయ: కర్తవ్యాలు)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "TIME (CPU సమయం)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "బ్లాక్ పరికరాలను అటుదిటుచేయి" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "నెట్వర్కు యింటర్ఫేసులను అటుదిటుచేయి" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "భౌతిక CPUలను అటుదిటుచేయి" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "కీను టైపుచేయి లేదా పైన మరియు క్రింద కర్సర్ కీలను వుపయోగించుము" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "తెలియని ఆదేశము - సహాయం కొరకు 'h' ప్రయత్నించుము" #: ../src/top.ml:1763 msgid "Update display" msgstr "ప్రదర్శనను నవీకరించుము" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "అమరికలను %sకు వ్రాయుము" #: ../src/top.ml:1745 msgid "default" msgstr "అప్రమేయ" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc అనునది తిరిగియిచ్చుటలేదు" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "CSV ఫైళ్ళకు మద్దతు లేకుండా virt-top కంపైల్ చేయబడింది" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "తేదీలు మరియు సమయాలకు మద్దతులేకుండా virt-top నిర్వర్తించబడినది" virt-top-1.0.9/po/tg.po0000664000175000017500000001472113066174571014300 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2013-11-20 06:00-0500\n" "Last-Translator: Victor Ibragimov \n" "Language-Team: Tajik (http://www.transifex.com/projects/p/virttop/language/tg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "" #: ../src/top.ml:173 msgid "Batch mode" msgstr "" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "" #: ../src/top.ml:68 msgid "Domain ID" msgstr "" #: ../src/top.ml:69 msgid "Domain name" msgstr "" #: ../src/top.ml:1797 msgid "Domains display" msgstr "" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Хатогӣ" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "" #: ../src/top.ml:1766 msgid "Help" msgstr "Роҳнамо" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Хомӯш" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Фаъол" #: ../src/top.ml:1764 msgid "Quit" msgstr "Баромад" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" #: ../src/top.ml:1771 msgid "SORTING" msgstr "" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "ВАҚТ (вақти CPU)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "" #: ../src/top.ml:1763 msgid "Update display" msgstr "" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "" #: ../src/top.ml:1745 msgid "default" msgstr "пешфарз" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/po/tr.po0000664000175000017500000001511213066174571014306 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2013-11-20 06:00-0500\n" "Last-Translator: Necdet Yücel \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/virttop/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: bilinmeyen parametre" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "" #: ../src/top.ml:173 msgid "Batch mode" msgstr "" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "Gecikme > 0 olmalı" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "" #: ../src/top.ml:68 msgid "Domain ID" msgstr "Alan ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "Alan adı" #: ../src/top.ml:1797 msgid "Domains display" msgstr "" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Hata" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "" #: ../src/top.ml:1766 msgid "Help" msgstr "Yardım" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Kapalı" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Açık" #: ../src/top.ml:1764 msgid "Quit" msgstr "Çık" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Betikten çalıştır (arayüz olmadan)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "SIRALAMA" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "%CPU'ya göre sırala" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "ID'ye göre sırala" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "ZAMAN'a göre sırala" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "ZAMAN (CPU zamanı)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "" #: ../src/top.ml:1763 msgid "Update display" msgstr "" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "" #: ../src/top.ml:1745 msgid "default" msgstr "öntanımlı" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/po/uk.po0000664000175000017500000002406113066174571014303 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: yurchor \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%ЦП" #: ../src/top.ml:66 msgid "%MEM" msgstr "%ПАМ" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d доменів, %d активних, %d запущених, %d приспаних, %d призупинених, %d " "неактивних D:%d O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s: має бути показано %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s: впорядкуванням має бути: %s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: невідомий параметр" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d: не можна використовувати від’ємну затримку" #: ../src/top.ml:173 msgid "Batch mode" msgstr "Пакетний режим" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "Запити читання блоків" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "Запити запису блоків" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "ЦП: %2.1f%% Пам: %Ld МБ (%Ld МБ гостьових)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "Змінити затримку з %.1f на: " #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "З’єднання: %s; назва вузла: %s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "РЕЖИМИ ПОКАЗУ" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "Затримкою має бути величина > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "Інтервал затримки (у секундах)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Затримка: %.1f с; пакет: %s; захист: %s; впорядкування: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "Вимкнути статистику процесора у CSV" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "Вимкнути статистику блокових пристроїв у CSV" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "Вимкнути статистику мережі у CSV" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "Показати дані щодо версії і завершити роботу" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "Не читати файл ініціалізації" #: ../src/top.ml:68 msgid "Domain ID" msgstr "Ід. домену" #: ../src/top.ml:69 msgid "Domain name" msgstr "Назва домену" #: ../src/top.ml:1797 msgid "Domains display" msgstr "Показ доменів" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "Помилка" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "Вийти у вказаний час" #: ../src/top.ml:1766 msgid "Help" msgstr "Довідка" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "Історична затримка процесора" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "Записувати статистичні дані до файла CSV" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "ОСНОВНІ КЛЮЧІ" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" "Докладніше — на сторінці довідки (man) virt-top(1). Натисніть будь-яку " "клавішу для повернення." #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "Передано байтів" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "Отримано байтів" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "Некоректне число" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "Кількість ітерацій" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "Вимкн." #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "Увімкн." #: ../src/top.ml:1764 msgid "Quit" msgstr "Вийти" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "Запуск без скрипту (без інтерфейсу користувача)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "ВПОРЯДКУВАННЯ" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "Вибрати поле впорядкування" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "Надіслати діагностичні повідомлення до файла" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "Встановити назву файла ініціалізації" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "Встановити впорядкування (%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "Встановити впорядкування для основного показу" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "Встановити інтервал оновлення" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "Впорядкувати за %ЦП" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "Впорядкувати за %ПАМ" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "Впорядкувати за ІДЕНТИФІКАТОРОМ" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "Впорядкувати за ЧАСОМ" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "Показати першими блокові пристрої" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "Показати першими інтерфейси мережі" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "Показати першими фізичні процесори (типово: завдання)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "ЧАС (процесорний час)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "Увімкнути або вимкнути блокові пристрої" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "Увімкнути або вимкнути мережеві інтерфейси" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "Увімкнути або вимкнути фізичні процесори" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "Натисніть клавішу або скористайтеся клавішами стрілок вгору/вниз." #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "Невідома команда. Скористайтеся «h» для отримання довідки." #: ../src/top.ml:1763 msgid "Update display" msgstr "Оновити показ" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "Параметри записано до %s" #: ../src/top.ml:1745 msgid "default" msgstr "типовий" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc не повернуто " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d, створено у Red Hat" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top : top-подібна програм для віртуалізації\n" "\n" "РЕЗЮМЕ\n" " virt-top [-параметри]\n" "\n" "ПАРАМЕТРИ" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top було зібрано без підтримки файлів CSV" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top було зібрано без підтримки показу дат і часу" virt-top-1.0.9/po/virt-top.pot0000664000175000017500000001465113066174065015636 0ustar rjonesrjones# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-03-27 11:32+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "" #: ../src/top.ml:66 msgid "%MEM" msgstr "" #: ../src/top.ml:1237 msgid "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d O:%d X:%d" msgstr "" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "" #: ../src/top.ml:173 msgid "Batch mode" msgstr "" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "" #: ../src/top.ml:68 msgid "Domain ID" msgstr "" #: ../src/top.ml:69 msgid "Domain name" msgstr "" #: ../src/top.ml:1797 msgid "Domains display" msgstr "" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "" #: ../src/top.ml:1766 msgid "Help" msgstr "" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "" #: ../src/top.ml:1764 msgid "Quit" msgstr "" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" #: ../src/top.ml:1771 msgid "SORTING" msgstr "" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "" #: ../src/top.ml:1763 msgid "Update display" msgstr "" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "" #: ../src/top.ml:1745 msgid "default" msgstr "" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "virt-top : a 'top'-like utility for virtualization\n\nSUMMARY\n virt-top [-options]\n\nOPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/po/zanata-pull.sh0000775000175000017500000000172712472137166016116 0ustar rjonesrjones#!/bin/bash - # Pull translations from Zanata. # Copyright (C) 2011-2015 Red Hat Inc. # # 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; either version 2 of the License, or # (at your option) any later version. # # 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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. set -e echo zanata po pull zanata po pull # Remove PO files that have no translations in them. for f in *.po; do if ! grep -q '^msgstr "[^"]' $f; then echo rm $f rm $f fi done virt-top-1.0.9/po/zanata.xml0000664000175000017500000000510512472137213015312 0ustar rjonesrjones https://fedora.zanata.org virt-top master gettext sq ar as ast bal eu bn bn-IN brx bs br bg ca zh-CN zh-HK zh-TW kw kw-GB cs da nl en-GB eo et fi fr gl ka de el gu he hi hu is id ia it ja kn kk km ky ko lt nds mk mai ms ml mr mn ne nb nn or pa fa pl pt pt-BR ro ru sr sr@latin si sk sl es sv tg ta te bo tr uk ur wba cy lv kw@uccor kw@kkcor af am be hr de-CH th vi zu ilo nso tw yo anp virt-top-1.0.9/po/zh_CN.po0000664000175000017500000001776213066174571014677 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: rjones \n" "Language-Team: Chinese (China) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh-CN\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "%s:显示应该为 %s" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "%s:排列顺寻应该为:%s" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s:未知参数" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "-d:无法设定负延迟" #: ../src/top.ml:173 msgid "Batch mode" msgstr "批模式" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "块读取请求" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "块写入请求" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "CPU: %2.1f%% Mem: %Ld MB(客户端 %Ld MB)" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "将延迟从 %.1f 更改至:" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "连接:%s;主机名:%s" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "显示模式" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "延迟必须 > 0" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "延迟时间间隔(秒)" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "在 CSV 中禁用 XPU 统计" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "在 CSV 中禁用块设备统计" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "在 CSV 中禁用网络统计" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "显示版本号并退出" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "不读取初始化文件" #: ../src/top.ml:68 msgid "Domain ID" msgstr "域 ID" #: ../src/top.ml:69 msgid "Domain name" msgstr "域名" #: ../src/top.ml:1797 msgid "Domains display" msgstr "域显示" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "错误" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "在指定时间退出" #: ../src/top.ml:1766 msgid "Help" msgstr "帮助" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "CPU 延迟历史记录" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "将统计记录到 CSV 文件中作为日志" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "主要密钥" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "更多帮助请参考 virt-top(1) man page。按任意键返回。" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "纯 RX 字节" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "纯 TX 字节" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "非有效数字" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "要运行的重复数" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "关闭" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "打开" #: ../src/top.ml:1764 msgid "Quit" msgstr "退出" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "从脚本运行(而不是用户界面)" #: ../src/top.ml:1771 msgid "SORTING" msgstr "排序" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "选择排序字段" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "将 debug 信息发送到文件中" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "设定初始化文件名称" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "设定排序顺序(%s)" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "为主显示设定排序顺序" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "设定更新间隔" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "根据 %CPU 排序" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "根据 %MEM 排序" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "根据 ID 排序" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "根据时间排序" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "用显示的块设备启动" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "用显示的网络接口启动" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "用显示的 pCPU 启动(默认:任务)" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "时间(CPU 时间)" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "触发块设备" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "触发网络接口" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "触发物理 CPU" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "输入密钥或者使用上下箭头键。" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "未知命令 - 试用 ‘h’获得帮助" #: ../src/top.ml:1763 msgid "Update display" msgstr "更新显示" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "将设置写入 %s" #: ../src/top.ml:1745 msgid "default" msgstr "默认" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "get_xml_desc 没有返回 " #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "红帽提供的 virt-top %s ocaml-libvirt %s libvirt %d.%d.%d" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" "virt-top:一个用于虚拟化的类似 'top' 的工具 \n" "\n" "小结\n" " virt-top [-options]\n" "\n" "OPTIONS" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "virt-top 是以不支持 CSV 文件的形式编译" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "virt-top 是以不支持日期和时间的形式编译" virt-top-1.0.9/po/zh_TW.po0000664000175000017500000001450513066174571014721 0ustar rjonesrjones#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-06 14:58+0000\n" "PO-Revision-Date: 2011-03-22 11:29-0400\n" "Last-Translator: zerng07 \n" "Language-Team: Chinese (Taiwan) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh-TW\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.5.1\n" #: ../src/top.ml:1670 msgid "# %s virt-top configuration file\n" msgstr "" #: ../src/top.ml:1688 msgid "# Enable CSV output to the named file\n" msgstr "" #: ../src/top.ml:1691 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" #: ../src/top.ml:1685 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" #: ../src/top.ml:1671 msgid "# generated on %s by %s\n" msgstr "" #: ../src/top.ml:65 msgid "%CPU" msgstr "%CPU" #: ../src/top.ml:66 msgid "%MEM" msgstr "%MEM" #: ../src/top.ml:1237 msgid "" "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " "O:%d X:%d" msgstr "" #: ../src/top.ml:245 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" #: ../src/top.ml:240 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" #: ../src/top.ml:235 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" #: ../src/top.ml:105 msgid "%s: display should be %s" msgstr "" #: ../src/top.ml:83 msgid "%s: sort order should be: %s" msgstr "" #: ../src/top.ml:217 msgid "%s: unknown parameter" msgstr "%s: unknown parameter" #: ../src/top.ml:269 msgid "%s:%d: configuration item ``%s'' ignored\n%!" msgstr "" #: ../src/top.ml:147 msgid "-d: cannot set a negative delay" msgstr "" #: ../src/top.ml:173 msgid "Batch mode" msgstr "" #: ../src/top.ml:72 msgid "Block read reqs" msgstr "" #: ../src/top.ml:73 msgid "Block write reqs" msgstr "" #: ../src/top.ml:1244 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" #: ../src/top.ml:1493 msgid "Change delay from %.1f to: " msgstr "" #: ../src/top.ml:177 ../src/top.ml:175 msgid "Connect to libvirt URI" msgstr "" #: ../src/top.ml:1744 msgid "Connect: %s; Hostname: %s" msgstr "" #: ../src/top.ml:1783 msgid "DISPLAY MODES" msgstr "" #: ../src/top.ml:1500 msgid "Delay must be > 0" msgstr "" #: ../src/top.ml:189 msgid "Delay time interval (seconds)" msgstr "" #: ../src/top.ml:1737 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" #: ../src/top.ml:181 msgid "Disable CPU stats in CSV" msgstr "" #: ../src/top.ml:185 msgid "Disable block device stats in CSV" msgstr "" #: ../src/top.ml:183 msgid "Disable memory stats in CSV" msgstr "" #: ../src/top.ml:187 msgid "Disable net stats in CSV" msgstr "" #: ../src/top.ml:214 msgid "Display version number and exit" msgstr "" #: ../src/top.ml:199 msgid "Do not read init file" msgstr "" #: ../src/top.ml:68 msgid "Domain ID" msgstr "" #: ../src/top.ml:69 msgid "Domain name" msgstr "" #: ../src/top.ml:1797 msgid "Domains display" msgstr "" #: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 msgid "Error" msgstr "" #: ../src/top.ml:193 msgid "Exit at given time" msgstr "" #: ../src/top.ml:1766 msgid "Help" msgstr "" #: ../src/top.ml:195 msgid "Historical CPU delay" msgstr "" #: ../src/top.ml:179 msgid "Log statistics to CSV file" msgstr "" #: ../src/top.ml:1749 msgid "MAIN KEYS" msgstr "" #: ../src/top.ml:1804 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" #: ../src/top.ml:294 msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" #: ../src/top.ml:70 msgid "Net RX bytes" msgstr "" #: ../src/top.ml:71 msgid "Net TX bytes" msgstr "" #: ../src/top.ml:1506 msgid "Not a valid number" msgstr "" #: ../src/top.ml:201 msgid "Number of iterations to run" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "Off" msgstr "" #: ../src/top.ml:1740 ../src/top.ml:1739 msgid "On" msgstr "" #: ../src/top.ml:1764 msgid "Quit" msgstr "" #: ../src/top.ml:208 msgid "Run from a script (no user interface)" msgstr "" #: ../src/top.ml:1771 msgid "SORTING" msgstr "" #: ../src/top.ml:206 msgid "Secure (\"kiosk\") mode" msgstr "" #: ../src/top.ml:1780 msgid "Select sort field" msgstr "" #: ../src/top.ml:191 msgid "Send debug messages to file" msgstr "" #: ../src/top.ml:197 msgid "Set name of init file" msgstr "" #: ../src/top.ml:203 msgid "Set sort order (%s)" msgstr "" #: ../src/top.ml:1514 msgid "Set sort order for main display" msgstr "" #: ../src/top.ml:1765 msgid "Set update interval" msgstr "" #: ../src/top.ml:1776 msgid "Sort by %CPU" msgstr "" #: ../src/top.ml:1777 msgid "Sort by %MEM" msgstr "" #: ../src/top.ml:1779 msgid "Sort by ID" msgstr "" #: ../src/top.ml:1778 msgid "Sort by TIME" msgstr "" #: ../src/top.ml:171 msgid "Start by displaying block devices" msgstr "" #: ../src/top.ml:169 msgid "Start by displaying network interfaces" msgstr "" #: ../src/top.ml:167 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" #: ../src/top.ml:67 msgid "TIME (CPU time)" msgstr "" #: ../src/top.ml:1800 msgid "Toggle block devices" msgstr "" #: ../src/top.ml:1799 msgid "Toggle network interfaces" msgstr "" #: ../src/top.ml:1798 msgid "Toggle physical CPUs" msgstr "" #: ../src/top.ml:1515 msgid "Type key or use up and down cursor keys." msgstr "" #: ../src/top.ml:1809 msgid "Unknown command - try 'h' for help" msgstr "" #: ../src/top.ml:1763 msgid "Update display" msgstr "" #: ../src/top.ml:1703 msgid "Wrote settings to %s" msgstr "" #: ../src/top.ml:1745 msgid "default" msgstr "" #: ../src/top.ml:210 msgid "dump output to stdout (no userinterface)" msgstr "" #: ../src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "" #: ../src/top.ml:212 msgid "show block device load in bytes rather than reqs" msgstr "" #: ../src/top.ml:1767 msgid "toggle block info req/bytes" msgstr "" #: ../src/top.ml:1725 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" #: ../src/top.ml:218 msgid "" "virt-top : a 'top'-like utility for virtualization\n" "\n" "SUMMARY\n" " virt-top [-options]\n" "\n" "OPTIONS" msgstr "" #: ../src/top.ml:42 msgid "virt-top was compiled without support for CSV files" msgstr "" #: ../src/top.ml:53 msgid "virt-top was compiled without support for dates and times" msgstr "" virt-top-1.0.9/README0000664000175000017500000000210513005632456013553 0ustar rjonesrjonesvirt-top ---------------------------------------------------------------------- Copyright (C) 2007-2016 Richard W.M. Jones, Red Hat Inc. http://et.redhat.com/~rjones/virt-top/ http://libvirt.org/ocaml/ http://libvirt.org/ virt-top is a top-like utility for showing stats of virtualized domains. Many keys and command line options are the same as for ordinary top. It uses libvirt so it capable of showing stats across a variety of different virtualization systems. Requirements ---------------------------------------------------------------------- OCaml >= 3.11.0 ocaml-libvirt >= 0.6.1.1 (for virDomainGetCPUStats support) OCaml extlib OCaml curses Optional: OCaml gettext OCaml xml-light OCaml CSV OCaml Calendar, version 2 is preferred perldoc msgfmt Building ---------------------------------------------------------------------- ./configure # Checks that you have all the required bits. make all # Builds the bytecode version of the program. make opt # Builds the native code version of the program. Then have a look at the program 'virt-top/virt-top.opt'. virt-top-1.0.9/TODO0000664000175000017500000000664212107133561013370 0ustar rjonesrjonesThis is a list of bugs & tasks for virt-top. ---------------------------------------------------------------------- *** 0 Use public CVS and bug tracker to replace this file (!) *** 1 Segfault [FIXED 0.3.2.6] I have seen this segfault once: https://www.redhat.com/archives/libvir-list/2007-August/msg00214.html It appeared to happen when several domains were shut down at the same time, but has since been unreproducible. Suspect crazy reference counting in libvirt to be part of the problem. [As suspected, turned out to be the crazy reference counting in libvirt]. *** 2 Virt-top fails silently when started as non-root [FIXED 0.3.2.5] *** 3 Irix/Solaris mode 'I' (toggles between 100% = all CPUs / 100% = single CPU). In top this is called "Irix/Solaris mode" :-) *** 4 [jmh] Build out the stats collected by the --csv option. [DONE 0.3.2.9] Suggested being able to give a selection of VMs to monitor from the command line. Also, being able to monitor just particular subsystems (-sc for CPU, -sm for memory, etc. as in collectl). *** 5 [jmh & jneedham] Monitor resources used by dom0 on behalf of the guests. So that if dom0 is throttled right down, is that affecting throughput of guests? I honestly don't know if it's possible to do this, but I'll raise the issue upstream to see if they have any suggestions. *** 6 Per-guest / per-interface network statistics. [PARTIALLY DONE 0.3.2.6] Have a separate screen which breaks out the domain name / device name and gives complete interface stats. RXBY TXBY RXRQ TXRQ DOMAIN INTERFACE 5M 0 48 0 debian vif2.0 2M 0 20 0 oracle vif3.1 1M 5K 8 2 oracle vif3.0 *** 7 Per-guest / per-device block statistics. [PARTIALLY DONE 0.3.2.6] Have a separate screen which breaks out the domain name / device name and gives complete block stats. RDBY WRBY RDRQ WRRQ DOMAIN DEVICE 5M 0 48 0 debian hdb 2M 0 20 0 debian hda 1M 5K 8 2 oracle hda *** 8 [jneedham asked for] %WAIT I'm assuming this would mean in the context of the hypervisor, how long are runnable domains waiting in the runqueue for access to a free pCPU. I will ask upstream whether this stat is available through Xen, and if so put in place the infrastructure to monitor it. *** 9 [jmh asked for] Configuration file or environment variable [DONE 0.3.2.8] Thinking about maybe this is something we could control via a .virt-top-init file or an environment variable ? The same could also be true for other options such as the selection of subsystems and/or ordering/sorting ? *** 10 [jmh] End time for data collection [DONE 0.3.3.0] In --script mode allow an end time to be specified (when the program quits). Be nice to allow the end time to also be specified relative to the current time. *** 11 [jmh] Roll over CSV log file [PUNTED, but documented a way to do it using ordinary shell scripting in the manual page] In --csv mode, allow the CSV file to be rolled over and compressed periodically (eg. every so often, specific time of day, etc.) *** 12 [cywse] How much memory is a guest actually using Can we look inside the guest to find out how much memory the guest is actually using? Scenario is: One guest is maxed out and swapping while other guests aren't using much of their allocated memory. *** 13 [jmh] Display reason why disk & network stats cannot be displayed. *** 14 [jmh] Show version of libvirt compiled against, running against. virt-top-1.0.9/src/0000775000175000017500000000000013526773141013471 5ustar rjonesrjonesvirt-top-1.0.9/src/.depend0000664000175000017500000000275113526773041014735 0ustar rjonesrjonescollect.cmi: types.cmi collect.cmo: utils.cmi types.cmi collect.cmi collect.cmx: utils.cmx types.cmx collect.cmi csv_output.cmi: types.cmi collect.cmi csv_output.cmo: collect.cmi csv_output.cmi csv_output.cmx: collect.cmx csv_output.cmi main.cmo: top.cmi opt_gettext.cmo main.cmx: top.cmx opt_gettext.cmx opt_calendar.cmo: top.cmi opt_gettext.cmo opt_calendar.cmx: top.cmx opt_gettext.cmx opt_csv.cmo: top.cmi opt_gettext.cmo csv_output.cmi opt_csv.cmx: top.cmx opt_gettext.cmx csv_output.cmx opt_gettext.cmo: opt_gettext.cmx: opt_xml.cmo: opt_gettext.cmo collect.cmi opt_xml.cmx: opt_gettext.cmx collect.cmx redraw.cmi: types.cmi collect.cmi redraw.cmo: utils.cmi types.cmi screen.cmi opt_gettext.cmo collect.cmi redraw.cmi redraw.cmx: utils.cmx types.cmx screen.cmx opt_gettext.cmx collect.cmx redraw.cmi screen.cmi: screen.cmo: screen.cmi screen.cmx: screen.cmi stream_output.cmi: types.cmi collect.cmi stream_output.cmo: utils.cmi screen.cmi collect.cmi stream_output.cmi stream_output.cmx: utils.cmx screen.cmx collect.cmx stream_output.cmi top.cmi: types.cmi top.cmo: version.cmo utils.cmi types.cmi stream_output.cmi screen.cmi redraw.cmi opt_gettext.cmo csv_output.cmi collect.cmi top.cmi top.cmx: version.cmx utils.cmx types.cmx stream_output.cmx screen.cmx redraw.cmx opt_gettext.cmx csv_output.cmx collect.cmx top.cmi types.cmi: types.cmo: utils.cmi opt_gettext.cmo types.cmi types.cmx: utils.cmx opt_gettext.cmx types.cmi utils.cmi: utils.cmo: utils.cmi utils.cmx: utils.cmi version.cmo: version.cmx: virt-top-1.0.9/src/Makefile.in0000664000175000017500000000544413350713270015535 0ustar rjonesrjones# virt-top # Copyright (C) 2007-2014 Red Hat Inc., Richard W.M. Jones # # 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; either version 2 of the License, or # (at your option) any later version. # # 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, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. PACKAGE := @PACKAGE_NAME@ VERSION := @PACKAGE_VERSION@ INSTALL := @INSTALL@ HAVE_PERLDOC := @HAVE_PERLDOC@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ OCAML_PKG_curses = @OCAML_PKG_curses@ OCAML_PKG_xml_light = @OCAML_PKG_xml_light@ OCAML_PKG_csv = @OCAML_PKG_csv@ OCAML_PKG_calendar = @OCAML_PKG_calendar@ OCAML_PKG_gettext = @OCAML_PKG_gettext@ OCAMLCPACKAGES := -package unix,extlib,curses,str,libvirt ifneq ($(OCAML_PKG_gettext),no) OCAMLCPACKAGES += -package gettext-stub endif OBJS := \ version.cmo \ opt_gettext.cmo \ utils.cmo \ types.cmo \ collect.cmo \ screen.cmo \ redraw.cmo \ csv_output.cmo \ stream_output.cmo \ top.cmo ifneq ($(OCAML_PKG_xml_light),no) OBJS += opt_xml.cmo OCAMLCPACKAGES += -package xml-light endif ifneq ($(OCAML_PKG_csv),no) OBJS += opt_csv.cmo OCAMLCPACKAGES += -package csv endif ifneq ($(OCAML_PKG_calendar),no) OBJS += opt_calendar.cmo OCAMLCPACKAGES += -package calendar endif OBJS += main.cmo XOBJS := $(OBJS:.cmo=.cmx) OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 -ccopt '@CFLAGS@' OCAMLCLIBS := -linkpkg -runtime-variant _pic -cclib '@LDFLAGS@' OCAMLOPTPACKAGES := $(OCAMLCPACKAGES) OCAMLOPTFLAGS := $(OCAMLCFLAGS) OCAMLOPTLIBS := $(OCAMLCLIBS) BYTE_TARGETS := virt-top OPT_TARGETS := virt-top.opt ifeq ($(HAVE_PERLDOC),perldoc) BYTE_TARGETS += virt-top.1 virt-top.txt OPT_TARGETS += virt-top.1 virt-top.txt endif all: $(BYTE_TARGETS) opt: $(OPT_TARGETS) virt-top: $(OBJS) ocamlfind ocamlc $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \ -o $@ $^ virt-top.opt: $(XOBJS) ocamlfind ocamlopt \ $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \ -o $@ $^ # Manual page. ifeq ($(HAVE_PERLDOC),perldoc) virt-top.1: virt-top.pod pod2man -c "Virtualization Support" --release "$(PACKAGE)-$(VERSION)" \ $< > $@ virt-top.txt: virt-top.pod pod2text $< > $@ endif install: if [ -x virt-top.opt ]; then \ mkdir -p $(DESTDIR)$(bindir); \ $(INSTALL) -m 0755 virt-top.opt $(DESTDIR)$(bindir)/virt-top; \ fi include ../Make.rules virt-top-1.0.9/src/README0000664000175000017500000000355713066270123014352 0ustar rjonesrjonesThe code is structured into these files: utils.mli, utils.ml String functions and other small utility functions. This is included directly into virt_top.ml. types.mli, types.ml Various internally used types and functions operating on those types. collect.mli, collect.ml Stats information is collected in these functions. screen.mli, screen.ml Various useful functions for drawing to the curses screen. redraw.mli, redraw.ml Redraw the main display. csv_output.mli, csv_output.ml Functions which implement --csv mode. stream_output.mli, stream_output.ml Functions which implement --stream mode. top.mli, top.ml This is the virt-top program. 'start_up' handles all start-up stuff, eg. command line arguments, connecting to the hypervisor, enabling curses. The function 'main_loop' runs the main loop and has sub-functions to deal with keypresses, help screens and so on. opt_gettext.ml A generated file which adds gettext support if ocaml-gettext was found at configure time, or else stubs it out. opt_xml.ml Any code which needs the optional xml-light library goes in here. Mainly for parsing domain XML descriptions to get the list of block devices and network interfaces. The reason for having it in a separate file is so that we don't depend on xml-light. opt_csv.ml Any code which needs the optional ocaml-csv library goes in here. opt_calendar.ml Any code which needs the optional ocaml-calendar library (v2) goes in here. This implements the --end-time command line option. main.ml This is just a small bit of code to glue the modules together Top + Opt_xml? + Opt_csv? + Opt_calendar? The man-page is generated from the single file: virt-top.pod which generates (using perldoc) the following: virt-top.1 virt-top.txt virt-top-1.0.9/src/collect.ml0000664000175000017500000005056113066456723015462 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) module C = Libvirt.Connect module D = Libvirt.Domain open Printf open ExtList open Utils open Types (* Hook for XML support (see [opt_xml.ml]). *) let parse_device_xml : (int -> [>`R] D.t -> string list * string list) ref = ref ( fun _ _ -> [], [] ) (* Intermediate "domain + stats" structure that we use to collect * everything we know about a domain within the collect function. *) type rd_domain = Inactive | Active of rd_active and rd_active = { rd_domid : int; (* Domain ID. *) rd_domuuid : Libvirt.uuid; (* Domain UUID. *) rd_dom : [`R] D.t; (* Domain object. *) rd_info : D.info; (* Domain CPU info now. *) rd_block_stats : (string * D.block_stats) list; (* Domain block stats now. *) rd_interface_stats : (string * D.interface_stats) list; (* Domain net stats now. *) rd_prev_info : D.info option; (* Domain CPU info previously. *) rd_prev_block_stats : (string * D.block_stats) list; (* Domain block stats prev. *) rd_prev_interface_stats : (string * D.interface_stats) list; (* Domain interface stats prev. *) (* The following are since the last slice, or 0 if cannot be calculated: *) rd_cpu_time : float; (* CPU time used in nanoseconds. *) rd_percent_cpu : float; (* CPU time as percent of total. *) rd_mem_bytes : int64; (* Memory usage in bytes *) rd_mem_percent: int64; (* Memory usage as percent of total *) (* The following are since the last slice, or None if cannot be calc'd: *) rd_block_rd_reqs : int64 option; (* Number of block device read rqs. *) rd_block_wr_reqs : int64 option; (* Number of block device write rqs. *) rd_block_rd_bytes : int64 option; (* Number of bytes block device read *) rd_block_wr_bytes : int64 option; (* Number of bytes block device write *) rd_net_rx_bytes : int64 option; (* Number of bytes received. *) rd_net_tx_bytes : int64 option; (* Number of bytes transmitted. *) } type stats = { rd_doms : (string * rd_domain) list; (* List of domains. *) rd_time : float; rd_printable_time : string; rd_nr_pcpus : int; rd_total_cpu : float; rd_total_cpu_per_pcpu : float; rd_totals : (int * int * int * int * int * int * int * int * int * float * int64 * int64); } type pcpu_stats = { rd_pcpu_doms : (int * string * int * Libvirt.Domain.vcpu_info array * int64 array array * int64 array array * string * int) list; rd_pcpu_pcpus : int64 array array array; rd_pcpu_pcpus_cpu_time : float array } (* We cache the list of block devices and interfaces for each domain * here, so we don't need to reparse the XML each time. *) let devices = Hashtbl.create 13 (* Function to get the list of block devices, network interfaces for * a particular domain. Get it from the devices cache, and if not * there then parse the domain XML. *) let get_devices id dom = try Hashtbl.find devices id with Not_found -> let blkdevs, netifs = (!parse_device_xml) id dom in Hashtbl.replace devices id (blkdevs, netifs); blkdevs, netifs (* We save the state of domains across redraws here, which allows us * to deduce %CPU usage from the running total. *) let last_info = Hashtbl.create 13 let last_time = ref (Unix.gettimeofday ()) (* Save pcpu_usages structures across redraws too (only for pCPU display). *) let last_pcpu_usages = Hashtbl.create 13 let clear_pcpu_display_data () = Hashtbl.clear last_pcpu_usages (* What to get from virConnectGetAllDomainStats. *) let what = [ D.StatsState; D.StatsCpuTotal; D.StatsBalloon; D.StatsVcpu; D.StatsInterface; D.StatsBlock ] (* Which domains to get. Empty list means return all domains: * active, inactive, persistent, transient etc. *) let who = [] let collect (conn, _, _, _, _, node_info, _, _) = (* Number of physical CPUs (some may be disabled). *) let nr_pcpus = C.maxcpus_of_node_info node_info in (* Get the current time. *) let time = Unix.gettimeofday () in let tm = Unix.localtime time in let printable_time = sprintf "%02d:%02d:%02d" tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec in (* What's the total CPU time elapsed since we were last called? (ns) *) let total_cpu_per_pcpu = 1_000_000_000. *. (time -. !last_time) in (* Avoid division by zero. *) let total_cpu_per_pcpu = if total_cpu_per_pcpu <= 0. then 1. else total_cpu_per_pcpu in let total_cpu = float node_info.C.cpus *. total_cpu_per_pcpu in (* Get the domains. Match up with their last_info (if any). *) let doms = let doms = D.get_all_domain_stats conn what who in let doms = Array.to_list doms in List.map ( fun { D.dom_uuid = uuid; D.params = params } -> let nr_params = Array.length params in let get_param name = let rec loop i = if i = nr_params then None else if fst params.(i) = name then Some (snd params.(i)) else loop (i+1) in loop 0 in let get_param_int name default = match get_param name with | None -> None | Some (D.TypedFieldInt32 i) | Some (D.TypedFieldUInt32 i) -> Some (Int32.to_int i) | Some (D.TypedFieldInt64 i) | Some (D.TypedFieldUInt64 i) -> Some (Int64.to_int i) | _ -> default in let get_param_int64 name default = match get_param name with | None -> None | Some (D.TypedFieldInt32 i) | Some (D.TypedFieldUInt32 i) -> Some (Int64.of_int32 i) | Some (D.TypedFieldInt64 i) | Some (D.TypedFieldUInt64 i) -> Some i | _ -> default in let dom = D.lookup_by_uuid conn uuid in let id = D.get_id dom in let name = D.get_name dom in let state = get_param_int "state.state" None in if state = Some 5 (* VIR_DOMAIN_SHUTOFF *) then (name, Inactive) else ( (* Active domain. *) (* Synthesize a D.info struct out of the data we have * from virConnectGetAllDomainStats. Doing this is an * artifact from the old APIs we used to use to fetch * stats, we could simplify here, and also return the * RSS memory. XXX *) let state = match state with | None | Some 0 -> D.InfoNoState | Some 1 -> D.InfoRunning | Some 2 -> D.InfoBlocked | Some 3 -> D.InfoPaused | Some 4 -> D.InfoShutdown | Some 5 -> D.InfoShutoff | Some 6 -> D.InfoCrashed | Some 7 -> D.InfoPaused (* XXX really VIR_DOMAIN_PMSUSPENDED *) | _ -> D.InfoNoState in let memory = match get_param_int64 "balloon.current" None with | None -> 0_L | Some m -> m in let nr_virt_cpu = match get_param_int "vcpu.current" None with | None -> 1 | Some v -> v in let cpu_time = (* NB: libvirt does not return cpu.time for non-root domains. *) match get_param_int64 "cpu.time" None with | None -> 0_L | Some ns -> ns in let info = { D.state = state; max_mem = -1_L; (* not used anywhere in virt-top *) memory = memory; nr_virt_cpu = nr_virt_cpu; cpu_time = cpu_time } in let nr_block_devs = match get_param_int "block.count" None with | None -> 0 | Some i -> i in let block_stats = List.map ( fun i -> let dev = match get_param (sprintf "block.%d.name" i) with | None -> sprintf "blk%d" i | Some (D.TypedFieldString s) -> s | _ -> assert false in dev, { D.rd_req = (match get_param_int64 (sprintf "block.%d.rd.reqs" i) None with None -> 0_L | Some v -> v); rd_bytes = (match get_param_int64 (sprintf "block.%d.rd.bytes" i) None with None -> 0_L | Some v -> v); wr_req = (match get_param_int64 (sprintf "block.%d.wr.reqs" i) None with None -> 0_L | Some v -> v); wr_bytes = (match get_param_int64 (sprintf "block.%d.wr.bytes" i) None with None -> 0_L | Some v -> v); errs = 0_L } ) (range 0 (nr_block_devs-1)) in let nr_interface_devs = match get_param_int "net.count" None with | None -> 0 | Some i -> i in let interface_stats = List.map ( fun i -> let dev = match get_param (sprintf "net.%d.name" i) with | None -> sprintf "net%d" i | Some (D.TypedFieldString s) -> s | _ -> assert false in dev, { D.rx_bytes = (match get_param_int64 (sprintf "net.%d.rx.bytes" i) None with None -> 0_L | Some v -> v); rx_packets = (match get_param_int64 (sprintf "net.%d.rx.pkts" i) None with None -> 0_L | Some v -> v); rx_errs = (match get_param_int64 (sprintf "net.%d.rx.errs" i) None with None -> 0_L | Some v -> v); rx_drop = (match get_param_int64 (sprintf "net.%d.rx.drop" i) None with None -> 0_L | Some v -> v); tx_bytes = (match get_param_int64 (sprintf "net.%d.tx.bytes" i) None with None -> 0_L | Some v -> v); tx_packets = (match get_param_int64 (sprintf "net.%d.tx.pkts" i) None with None -> 0_L | Some v -> v); tx_errs = (match get_param_int64 (sprintf "net.%d.tx.errs" i) None with None -> 0_L | Some v -> v); tx_drop = (match get_param_int64 (sprintf "net.%d.tx.drop" i) None with None -> 0_L | Some v -> v); } ) (range 0 (nr_interface_devs-1)) in let prev_info, prev_block_stats, prev_interface_stats = try let prev_info, prev_block_stats, prev_interface_stats = Hashtbl.find last_info uuid in Some prev_info, prev_block_stats, prev_interface_stats with Not_found -> None, [], [] in (name, Active { rd_domid = id; rd_domuuid = uuid; rd_dom = dom; rd_info = info; rd_block_stats = block_stats; rd_interface_stats = interface_stats; rd_prev_info = prev_info; rd_prev_block_stats = prev_block_stats; rd_prev_interface_stats = prev_interface_stats; rd_cpu_time = 0.; rd_percent_cpu = 0.; rd_mem_bytes = 0L; rd_mem_percent = 0L; rd_block_rd_reqs = None; rd_block_wr_reqs = None; rd_block_rd_bytes = None; rd_block_wr_bytes = None; rd_net_rx_bytes = None; rd_net_tx_bytes = None; }) ) ) doms in (* Calculate the CPU time (ns) and %CPU used by each domain. *) let doms = List.map ( function (* We have previous CPU info from which to calculate it? *) | name, Active ({ rd_prev_info = Some prev_info } as rd) -> let cpu_time = Int64.to_float (rd.rd_info.D.cpu_time -^ prev_info.D.cpu_time) in let percent_cpu = 100. *. cpu_time /. total_cpu in let mem_usage = rd.rd_info.D.memory in let mem_percent = 100L *^ rd.rd_info.D.memory /^ node_info.C.memory in let rd = { rd with rd_cpu_time = cpu_time; rd_percent_cpu = percent_cpu; rd_mem_bytes = mem_usage; rd_mem_percent = mem_percent} in name, Active rd (* For all other domains we can't calculate it, so leave as 0 *) | rd -> rd ) doms in (* Calculate the number of block device read/write requests across * all block devices attached to a domain. *) let doms = List.map ( function (* Do we have stats from the previous slice? *) | name, Active ({ rd_prev_block_stats = ((_::_) as prev_block_stats) } as rd) -> let block_stats = rd.rd_block_stats in (* stats now *) (* Add all the devices together. Throw away device names. *) let prev_block_stats = sum_block_stats (List.map snd prev_block_stats) in let block_stats = sum_block_stats (List.map snd block_stats) in (* Calculate increase in read & write requests. *) let read_reqs = block_stats.D.rd_req -^ prev_block_stats.D.rd_req in let write_reqs = block_stats.D.wr_req -^ prev_block_stats.D.wr_req in let read_bytes = block_stats.D.rd_bytes -^ prev_block_stats.D.rd_bytes in let write_bytes = block_stats.D.wr_bytes -^ prev_block_stats.D.wr_bytes in let rd = { rd with rd_block_rd_reqs = Some read_reqs; rd_block_wr_reqs = Some write_reqs; rd_block_rd_bytes = Some read_bytes; rd_block_wr_bytes = Some write_bytes; } in name, Active rd (* For all other domains we can't calculate it, so leave as None. *) | rd -> rd ) doms in (* Calculate the same as above for network interfaces across * all network interfaces attached to a domain. *) let doms = List.map ( function (* Do we have stats from the previous slice? *) | name, Active ({ rd_prev_interface_stats = ((_::_) as prev_interface_stats) } as rd) -> let interface_stats = rd.rd_interface_stats in (* stats now *) (* Add all the devices together. Throw away device names. *) let prev_interface_stats = sum_interface_stats (List.map snd prev_interface_stats) in let interface_stats = sum_interface_stats (List.map snd interface_stats) in (* Calculate increase in rx & tx bytes. *) let rx_bytes = interface_stats.D.rx_bytes -^ prev_interface_stats.D.rx_bytes in let tx_bytes = interface_stats.D.tx_bytes -^ prev_interface_stats.D.tx_bytes in let rd = { rd with rd_net_rx_bytes = Some rx_bytes; rd_net_tx_bytes = Some tx_bytes } in name, Active rd (* For all other domains we can't calculate it, so leave as None. *) | rd -> rd ) doms in (* Calculate totals. *) let totals = List.fold_left ( fun (count, running, blocked, paused, shutdown, shutoff, crashed, active, inactive, total_cpu_time, total_memory, total_domU_memory) -> function | (name, Active rd) -> let test state orig = if rd.rd_info.D.state = state then orig+1 else orig in let running = test D.InfoRunning running in let blocked = test D.InfoBlocked blocked in let paused = test D.InfoPaused paused in let shutdown = test D.InfoShutdown shutdown in let shutoff = test D.InfoShutoff shutoff in let crashed = test D.InfoCrashed crashed in let total_cpu_time = total_cpu_time +. rd.rd_cpu_time in let total_memory = total_memory +^ rd.rd_info.D.memory in let total_domU_memory = total_domU_memory +^ if rd.rd_domid > 0 then rd.rd_info.D.memory else 0L in (count+1, running, blocked, paused, shutdown, shutoff, crashed, active+1, inactive, total_cpu_time, total_memory, total_domU_memory) | (name, Inactive) -> (* inactive domain *) (count+1, running, blocked, paused, shutdown, shutoff, crashed, active, inactive+1, total_cpu_time, total_memory, total_domU_memory) ) (0,0,0,0,0,0,0,0,0, 0.,0L,0L) doms in (* Update last_time, last_info. *) last_time := time; Hashtbl.clear last_info; List.iter ( function | (_, Active rd) -> let info = rd.rd_info, rd.rd_block_stats, rd.rd_interface_stats in Hashtbl.add last_info rd.rd_domuuid info | _ -> () ) doms; { rd_doms = doms; rd_time = time; rd_printable_time = printable_time; rd_nr_pcpus = nr_pcpus; rd_total_cpu = total_cpu; rd_total_cpu_per_pcpu = total_cpu_per_pcpu; rd_totals = totals } (* Collect some extra information in PCPUDisplay display_mode. *) let collect_pcpu { rd_doms = doms; rd_nr_pcpus = nr_pcpus } = (* Get the VCPU info and VCPU->PCPU mappings for active domains. * Also cull some data we don't care about. *) let doms = List.filter_map ( function | (name, Active rd) -> (try let domid = rd.rd_domid in let maplen = C.cpumaplen nr_pcpus in let cpu_stats = D.get_cpu_stats rd.rd_dom in (* Note the terminology is confusing. * * In libvirt, cpu_time is the total time (hypervisor + * vCPU). vcpu_time is the time only taken by the vCPU, * excluding time taken inside the hypervisor. * * For each pCPU, libvirt may return either "cpu_time" * or "vcpu_time" or neither or both. This function * returns an array pair [|cpu_time, vcpu_time|]; * if either is missing it is returned as 0. *) let find_cpu_usages params = let rec find_uint64_field name = function | (n, D.TypedFieldUInt64 usage) :: _ when n = name -> usage | _ :: params -> find_uint64_field name params | [] -> 0L in [| find_uint64_field "cpu_time" params; find_uint64_field "vcpu_time" params |] in let pcpu_usages = Array.map find_cpu_usages cpu_stats in let maxinfo = rd.rd_info.D.nr_virt_cpu in let nr_vcpus, vcpu_infos, cpumaps = D.get_vcpus rd.rd_dom maxinfo maplen in (* Got previous pcpu_usages for this domain? *) let prev_pcpu_usages = try Some (Hashtbl.find last_pcpu_usages domid) with Not_found -> None in (* Update last_pcpu_usages. *) Hashtbl.replace last_pcpu_usages domid pcpu_usages; (match prev_pcpu_usages with | Some prev_pcpu_usages when Array.length prev_pcpu_usages = Array.length pcpu_usages -> Some (domid, name, nr_vcpus, vcpu_infos, pcpu_usages, prev_pcpu_usages, cpumaps, maplen) | _ -> None (* ignore missing / unequal length prev_vcpu_infos *) ); with Libvirt.Virterror _ -> None (* ignore transient libvirt errors *) ) | (_, Inactive) -> None (* ignore inactive doms *) ) doms in let nr_doms = List.length doms in (* Rearrange the data into a matrix. Major axis (down) is * pCPUs. Minor axis (right) is domains. At each node we store: * cpu_time hypervisor + domain (on this pCPU only, nanosecs), * vcpu_time domain only (on this pCPU only, nanosecs). *) let make_3d_array dimx dimy dimz e = Array.init dimx (fun _ -> Array.make_matrix dimy dimz e) in let pcpus = make_3d_array nr_pcpus nr_doms 2 0L in List.iteri ( fun di (domid, name, nr_vcpus, vcpu_infos, pcpu_usages, prev_pcpu_usages, cpumaps, maplen) -> (* Which pCPUs can this dom run on? *) for p = 0 to Array.length pcpu_usages - 1 do pcpus.(p).(di).(0) <- pcpu_usages.(p).(0) -^ prev_pcpu_usages.(p).(0); pcpus.(p).(di).(1) <- pcpu_usages.(p).(1) -^ prev_pcpu_usages.(p).(1) done ) doms; (* Sum the total CPU time used by each pCPU, for the %CPU column. *) let pcpus_cpu_time = Array.map ( fun row -> let cpu_time = ref 0L in for di = 0 to Array.length row-1 do let t = row.(di).(0) in cpu_time := !cpu_time +^ t done; Int64.to_float !cpu_time ) pcpus in { rd_pcpu_doms = doms; rd_pcpu_pcpus = pcpus; rd_pcpu_pcpus_cpu_time = pcpus_cpu_time } virt-top-1.0.9/src/collect.mli0000664000175000017500000000735413066453120015621 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) (* Hook for [Opt_xml] to override (if present). *) val parse_device_xml : (int -> [ `R ] Libvirt.Domain.t -> string list * string list) ref (* Intermediate "domain + stats" structure that we use to collect * everything we know about a domain within the collect function. *) type rd_domain = Inactive | Active of rd_active and rd_active = { rd_domid : int; (* Domain ID. *) rd_domuuid : Libvirt.uuid; (* Domain UUID. *) rd_dom : [`R] Libvirt.Domain.t; (* Domain object. *) rd_info : Libvirt.Domain.info; (* Domain CPU info now. *) rd_block_stats : (string * Libvirt.Domain.block_stats) list; (* Domain block stats now. *) rd_interface_stats : (string * Libvirt.Domain.interface_stats) list; (* Domain net stats now. *) rd_prev_info : Libvirt.Domain.info option; (* Domain CPU info previously. *) rd_prev_block_stats : (string * Libvirt.Domain.block_stats) list; (* Domain block stats prev. *) rd_prev_interface_stats : (string * Libvirt.Domain.interface_stats) list; (* Domain interface stats prev. *) (* The following are since the last slice, or 0 if cannot be calculated: *) rd_cpu_time : float; (* CPU time used in nanoseconds. *) rd_percent_cpu : float; (* CPU time as percent of total. *) rd_mem_bytes : int64; (* Memory usage in bytes *) rd_mem_percent: int64; (* Memory usage as percent of total *) (* The following are since the last slice, or None if cannot be calc'd: *) rd_block_rd_reqs : int64 option; (* Number of block device read rqs. *) rd_block_wr_reqs : int64 option; (* Number of block device write rqs. *) rd_block_rd_bytes : int64 option; (* Number of bytes block device read *) rd_block_wr_bytes : int64 option; (* Number of bytes block device write *) rd_net_rx_bytes : int64 option; (* Number of bytes received. *) rd_net_tx_bytes : int64 option; (* Number of bytes transmitted. *) } type stats = { rd_doms : (string * rd_domain) list; (* List of domains. *) rd_time : float; rd_printable_time : string; rd_nr_pcpus : int; rd_total_cpu : float; rd_total_cpu_per_pcpu : float; rd_totals : (int * int * int * int * int * int * int * int * int * float * int64 * int64); } type pcpu_stats = { rd_pcpu_doms : (int * string * int * Libvirt.Domain.vcpu_info array * int64 array array * int64 array array * string * int) list; rd_pcpu_pcpus : int64 array array array; rd_pcpu_pcpus_cpu_time : float array } val collect : Types.setup -> stats (** Collect statistics. *) val collect_pcpu : stats -> pcpu_stats (** Used in PCPUDisplay mode only, this returns extra per-PCPU stats. *) val clear_pcpu_display_data : unit -> unit (** Clear the cache of pcpu_usages used by PCPUDisplay display_mode when we switch back to TaskDisplay mode. *) virt-top-1.0.9/src/csv_output.ml0000664000175000017500000001055113066272175016240 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) (* CSV output functions. *) open Printf open ExtList open Collect module C = Libvirt.Connect (* Hook for CSV support (see [opt_csv.ml]). *) let csv_write : (string list -> unit) ref = ref ( fun _ -> () ) (* Write CSV header row. *) let write_csv_header (csv_cpu, csv_mem, csv_block, csv_net) block_in_bytes = (!csv_write) ( [ "Hostname"; "Time"; "Arch"; "Physical CPUs"; "Count"; "Running"; "Blocked"; "Paused"; "Shutdown"; "Shutoff"; "Crashed"; "Active"; "Inactive"; "%CPU"; "Total hardware memory (KB)"; "Total memory (KB)"; "Total guest memory (KB)"; "Total CPU time (ns)" ] @ (* These fields are repeated for each domain: *) [ "Domain ID"; "Domain name"; ] @ (if csv_cpu then [ "CPU (ns)"; "%CPU"; ] else []) @ (if csv_mem then [ "Mem (bytes)"; "%Mem";] else []) @ (if csv_block && not block_in_bytes then [ "Block RDRQ"; "Block WRRQ"; ] else []) @ (if csv_block && block_in_bytes then [ "Block RDBY"; "Block WRBY"; ] else []) @ (if csv_net then [ "Net RXBY"; "Net TXBY" ] else []) ) (* Write summary data to CSV file. *) let append_csv (_, _, _, _, _, node_info, hostname, _) (* setup *) (csv_cpu, csv_mem, csv_block, csv_net) block_in_bytes { rd_doms = doms; rd_printable_time = printable_time; rd_nr_pcpus = nr_pcpus; rd_total_cpu = total_cpu; rd_totals = totals } (* state *) = (* The totals / summary fields. *) let (count, running, blocked, paused, shutdown, shutoff, crashed, active, inactive, total_cpu_time, total_memory, total_domU_memory) = totals in let percent_cpu = 100. *. total_cpu_time /. total_cpu in let summary_fields = [ hostname; printable_time; node_info.C.model; string_of_int nr_pcpus; string_of_int count; string_of_int running; string_of_int blocked; string_of_int paused; string_of_int shutdown; string_of_int shutoff; string_of_int crashed; string_of_int active; string_of_int inactive; sprintf "%2.1f" percent_cpu; Int64.to_string node_info.C.memory; Int64.to_string total_memory; Int64.to_string total_domU_memory; Int64.to_string (Int64.of_float total_cpu_time) ] in (* The domains. * * Sort them by ID so that the list of relatively stable. Ignore * inactive domains. *) let doms = List.filter_map ( function | _, Inactive -> None (* Ignore inactive domains. *) | name, Active rd -> Some (name, rd) ) doms in let cmp (_, { rd_domid = rd_domid1 }) (_, { rd_domid = rd_domid2 }) = compare rd_domid1 rd_domid2 in let doms = List.sort ~cmp doms in let string_of_int64_option = Option.map_default Int64.to_string "" in let domain_fields = List.map ( fun (domname, rd) -> [ string_of_int rd.rd_domid; domname ] @ (if csv_cpu then [ string_of_float rd.rd_cpu_time; string_of_float rd.rd_percent_cpu ] else []) @ (if csv_mem then [ Int64.to_string rd.rd_mem_bytes; Int64.to_string rd.rd_mem_percent ] else []) @ (if csv_block then if block_in_bytes then [ string_of_int64_option rd.rd_block_rd_bytes; string_of_int64_option rd.rd_block_wr_bytes; ] else [ string_of_int64_option rd.rd_block_rd_reqs; string_of_int64_option rd.rd_block_wr_reqs; ] else []) @ (if csv_net then [ string_of_int64_option rd.rd_net_rx_bytes; string_of_int64_option rd.rd_net_tx_bytes; ] else []) ) doms in let domain_fields = List.flatten domain_fields in (!csv_write) (summary_fields @ domain_fields) virt-top-1.0.9/src/csv_output.mli0000664000175000017500000000211613066272204016400 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) (** CSV output functions. *) (* Hook for [Opt_csv] to override (if present). *) val csv_write : (string list -> unit) ref val write_csv_header : bool * bool * bool * bool -> bool -> unit val append_csv : Types.setup -> bool * bool * bool * bool -> bool -> Collect.stats -> unit virt-top-1.0.9/src/main.ml0000644000175000017500000000431113005632676014743 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Just contains the main function. *) open Curses open Opt_gettext.Gettext open Top (* Note: make sure we catch any exceptions and clean up the display. * * Note (2): make sure all exit paths call the GC so that we can check * that all allocated resources are being counted properly (by running * the program under --debug ...). *) let () = Printexc.record_backtrace true let ((_, _, script_mode, _, stream_mode, _, _, _) as setup) = try start_up () with | Failure msg -> prerr_endline msg; Printexc.print_backtrace stderr; exit 1 | exn -> prerr_endline (s_ "Error" ^ ": " ^ Printexc.to_string exn); Printexc.print_backtrace stderr; exit 1 let () = try main_loop setup; if not script_mode && not stream_mode then endwin (); Gc.compact (); exit 0 with | Libvirt.Virterror err -> if not script_mode && not stream_mode then endwin (); prerr_endline (Libvirt.Virterror.to_string err); Printexc.print_backtrace stderr; Gc.compact (); exit 1 | Failure msg -> if not script_mode && not stream_mode then endwin (); prerr_endline msg; Printexc.print_backtrace stderr; Gc.compact (); exit 1 | exn -> if not script_mode && not stream_mode then endwin (); prerr_endline (s_ "Error" ^ ": " ^ Printexc.to_string exn); Printexc.print_backtrace stderr; Gc.compact (); exit 1 virt-top-1.0.9/src/opt_calendar.ml0000644000175000017500000000476013005633124016447 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This file contains all code which requires ocaml-calendar >= 2.0 *) open CalendarLib open Printf open ExtString open Opt_gettext.Gettext ;; Top.parse_date_time := fun time -> let cal : Calendar.t = if String.starts_with time "+" then ( (* +something *) let period = String.sub time 1 (String.length time - 1) in let period = if String.contains period ':' then ( (* +HH:MM:SS *) let t = Printer.TimePrinter.from_string period in let hh = Time.hour t and mm = Time.minute t and ss = Time.second t in Calendar.Period.make 0 0 0 hh mm ss ) else (* +seconds *) Calendar.Period.second (int_of_string period) in (* Add it as an offset from the current time. * * Note that the default for the Calendar library is to return * Calendar.now in the UTC time zone, which is in fact what we * need below. *) Calendar.add (Calendar.now ()) period ) else ( let cal = if String.contains time '-' then (* YYYY-MM-DD HH:MM:SS *) Printer.CalendarPrinter.from_string time else ( (* HH:MM:SS *) let time = Printer.TimePrinter.from_string time in Calendar.create (Date.today ()) time ) in (* Assume the user has entered a local time. Convert it to * UTC time zone which is what we need below. (RHBZ#680344) *) Calendar.convert cal Time_Zone.Local Time_Zone.UTC ) in eprintf "end time (UTC): %s\n" (Printer.CalendarPrinter.to_string cal); (* Convert to a time_t. Note that we compare this against * Unix.gettimeofday in the main module, so this must be returned as * plain seconds from 1970 with no timezone adjustment. (RHBZ#637964) *) Calendar.to_unixfloat cal virt-top-1.0.9/src/opt_csv.ml0000664000175000017500000000245713066270122015476 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This file contains all code which requires CSV support. *) open Opt_gettext.Gettext (* Output channel, or None if CSV output not enabled. *) let chan = ref None ;; Top.csv_start := fun filename -> chan := Some (open_out filename) ;; Csv_output.csv_write := fun row -> match !chan with | None -> () (* CSV output not enabled. *) | Some chan -> Csv.save_out chan [row]; (* Flush the output to the file immediately because we don't * explicitly close this file. *) flush chan virt-top-1.0.9/src/opt_xml.ml0000644000175000017500000000406313066220655015502 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This file contains all code which requires xml-light. *) open ExtList open Opt_gettext.Gettext module C = Libvirt.Connect module D = Libvirt.Domain module N = Libvirt.Network ;; Collect.parse_device_xml := fun id dom -> try let xml = D.get_xml_desc dom in let xml = Xml.parse_string xml in let devices = match xml with | Xml.Element ("domain", _, children) -> let devices = List.filter_map ( function | Xml.Element ("devices", _, devices) -> Some devices | _ -> None ) children in List.concat devices | _ -> failwith (s_ "get_xml_desc didn't return ") in let rec target_dev_of = function | [] -> None | Xml.Element ("target", attrs, _) :: rest -> (try Some (List.assoc "dev" attrs) with Not_found -> target_dev_of rest) | _ :: rest -> target_dev_of rest in let blkdevs = List.filter_map ( function | Xml.Element ("disk", _, children) -> target_dev_of children | _ -> None ) devices in let netifs = List.filter_map ( function | Xml.Element ("interface", _, children) -> target_dev_of children | _ -> None ) devices in blkdevs, netifs with | Xml.Error _ | Libvirt.Virterror _ -> [], [] (* ignore transient errs *) virt-top-1.0.9/src/redraw.ml0000664000175000017500000003757513066273106015323 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) open ExtList open Curses open Printf open Opt_gettext.Gettext open Utils open Types open Screen open Collect module C = Libvirt.Connect module D = Libvirt.Domain (* Keep a historical list of %CPU usages. *) let historical_cpu = ref [] let historical_cpu_last_time = ref (Unix.gettimeofday ()) (* Redraw the display. *) let redraw display_mode sort_order (_, _, _, _, _, node_info, _, _) (* setup *) block_in_bytes historical_cpu_delay { rd_doms = doms; rd_time = time; rd_printable_time = printable_time; rd_nr_pcpus = nr_pcpus; rd_total_cpu = total_cpu; rd_total_cpu_per_pcpu = total_cpu_per_pcpu; rd_totals = totals } (* state *) pcpu_display = clear (); (* Get the screen/window size. *) let lines, cols = get_size () in (* Time. *) mvaddstr top_lineno 0 (sprintf "virt-top %s - " printable_time); (* Basic node_info. *) addstr (sprintf "%s %d/%dCPU %dMHz %LdMB " node_info.C.model node_info.C.cpus nr_pcpus node_info.C.mhz (node_info.C.memory /^ 1024L)); (* Save the cursor position for when we come to draw the * historical CPU times (down in this function). *) let stdscr = stdscr () in let historical_cursor = getyx stdscr in (match display_mode with (*---------- Showing domains ----------*) | TaskDisplay -> (* Sort domains on current sort_order. *) let doms = let cmp = match sort_order with | DomainName -> (fun _ -> 0) (* fallthrough to default name compare *) | Processor -> (function | Active rd1, Active rd2 -> compare rd2.rd_percent_cpu rd1.rd_percent_cpu | Active _, Inactive -> -1 | Inactive, Active _ -> 1 | Inactive, Inactive -> 0) | Memory -> (function | Active { rd_info = info1 }, Active { rd_info = info2 } -> compare info2.D.memory info1.D.memory | Active _, Inactive -> -1 | Inactive, Active _ -> 1 | Inactive, Inactive -> 0) | Time -> (function | Active { rd_info = info1 }, Active { rd_info = info2 } -> compare info2.D.cpu_time info1.D.cpu_time | Active _, Inactive -> -1 | Inactive, Active _ -> 1 | Inactive, Inactive -> 0) | DomainID -> (function | Active { rd_domid = id1 }, Active { rd_domid = id2 } -> compare id1 id2 | Active _, Inactive -> -1 | Inactive, Active _ -> 1 | Inactive, Inactive -> 0) | NetRX -> (function | Active { rd_net_rx_bytes = r1 }, Active { rd_net_rx_bytes = r2 } -> compare r2 r1 | Active _, Inactive -> -1 | Inactive, Active _ -> 1 | Inactive, Inactive -> 0) | NetTX -> (function | Active { rd_net_tx_bytes = r1 }, Active { rd_net_tx_bytes = r2 } -> compare r2 r1 | Active _, Inactive -> -1 | Inactive, Active _ -> 1 | Inactive, Inactive -> 0) | BlockRdRq -> (function | Active { rd_block_rd_reqs = r1 }, Active { rd_block_rd_reqs = r2 } -> compare r2 r1 | Active _, Inactive -> -1 | Inactive, Active _ -> 1 | Inactive, Inactive -> 0) | BlockWrRq -> (function | Active { rd_block_wr_reqs = r1 }, Active { rd_block_wr_reqs = r2 } -> compare r2 r1 | Active _, Inactive -> -1 | Inactive, Active _ -> 1 | Inactive, Inactive -> 0) in let cmp (name1, dom1) (name2, dom2) = let r = cmp (dom1, dom2) in if r <> 0 then r else compare name1 name2 in List.sort ~cmp doms in (* Print domains. *) attron A.reverse; let header_string = if block_in_bytes then " ID S RDBY WRBY RXBY TXBY %CPU %MEM TIME NAME" else " ID S RDRQ WRRQ RXBY TXBY %CPU %MEM TIME NAME" in mvaddstr header_lineno 0 (pad cols header_string); attroff A.reverse; let rec loop lineno = function | [] -> () | (name, Active rd) :: doms -> if lineno < lines then ( let state = show_state rd.rd_info.D.state in let rd_info = if block_in_bytes then Show.int64_option rd.rd_block_rd_bytes else Show.int64_option rd.rd_block_rd_reqs in let wr_info = if block_in_bytes then Show.int64_option rd.rd_block_wr_bytes else Show.int64_option rd.rd_block_wr_reqs in let rx_bytes = Show.int64_option rd.rd_net_rx_bytes in let tx_bytes = Show.int64_option rd.rd_net_tx_bytes in let percent_cpu = Show.percent rd.rd_percent_cpu in let percent_mem = Int64.to_float rd.rd_mem_percent in let percent_mem = Show.percent percent_mem in let time = Show.time rd.rd_info.D.cpu_time in let line = sprintf "%5d %c %s %s %s %s %s %s %s %s" rd.rd_domid state rd_info wr_info rx_bytes tx_bytes percent_cpu percent_mem time name in let line = pad cols line in mvaddstr lineno 0 line; loop (lineno+1) doms ) | (name, Inactive) :: doms -> (* inactive domain *) if lineno < lines then ( let line = sprintf " - (%s)" name in let line = pad cols line in mvaddstr lineno 0 line; loop (lineno+1) doms ) in loop domains_lineno doms (*---------- Showing physical CPUs ----------*) | PCPUDisplay -> let { rd_pcpu_doms = doms; rd_pcpu_pcpus = pcpus; rd_pcpu_pcpus_cpu_time = pcpus_cpu_time } = match pcpu_display with | Some p -> p | None -> failwith "internal error: no pcpu_display data" in (* Display the pCPUs. *) let dom_names = String.concat "" ( List.map ( fun (_, name, _, _, _, _, _, _) -> let len = String.length name in let width = max (len+1) 12 in pad width name ) doms ) in attron A.reverse; mvaddstr header_lineno 0 (pad cols ("PHYCPU %CPU " ^ dom_names)); attroff A.reverse; Array.iteri ( fun p row -> mvaddstr (p+domains_lineno) 0 (sprintf "%4d " p); let cpu_time = pcpus_cpu_time.(p) in (* ns used on this CPU *) let percent_cpu = 100. *. cpu_time /. total_cpu_per_pcpu in addstr (Show.percent percent_cpu); addch ' '; List.iteri ( fun di (domid, name, _, _, _, _, _, _) -> let t = pcpus.(p).(di).(0) in (* hypervisor + domain *) let t_only = pcpus.(p).(di).(1) in (* domain only *) let len = String.length name in let width = max (len+1) 12 in let str_t = if t <= 0L then "" else ( let t = Int64.to_float t in let percent = 100. *. t /. total_cpu_per_pcpu in Show.percent percent ) in let str_t_only = if t_only <= 0L then "" else ( let t_only = Int64.to_float t_only in let percent = 100. *. t_only /. total_cpu_per_pcpu in Show.percent percent ) in addstr (pad 5 str_t); addstr (pad 5 str_t_only); addstr (pad (width-10) " "); () ) doms ) pcpus; (*---------- Showing network interfaces ----------*) | NetDisplay -> (* Only care about active domains. *) let doms = List.filter_map ( function | (name, Active rd) -> Some (name, rd) | (_, Inactive) -> None ) doms in (* For each domain we have a list of network interfaces seen * this slice, and seen in the previous slice, which we now * match up to get a list of (domain, interface) for which * we have current & previous knowledge. (And ignore the rest). *) let devs = List.map ( fun (name, rd) -> List.filter_map ( fun (dev, stats) -> try (* Have prev slice stats for this device? *) let prev_stats = List.assoc dev rd.rd_prev_interface_stats in Some (dev, name, rd, stats, prev_stats) with Not_found -> None ) rd.rd_interface_stats ) doms in (* Finally we have a list of: * device name, domain name, rd_* stuff, curr stats, prev stats. *) let devs : (string * string * rd_active * D.interface_stats * D.interface_stats) list = List.flatten devs in (* Difference curr slice & prev slice. *) let devs = List.map ( fun (dev, name, rd, curr, prev) -> dev, name, rd, diff_interface_stats curr prev ) devs in (* Sort by current sort order, but map some of the standard * sort orders into ones which makes sense here. *) let devs = let cmp = match sort_order with | DomainName -> (fun _ -> 0) (* fallthrough to default name compare *) | DomainID -> (fun (_, { rd_domid = id1 }, _, { rd_domid = id2 }) -> compare id1 id2) | Processor | Memory | Time | BlockRdRq | BlockWrRq (* fallthrough to RXBY comparison. *) | NetRX -> (fun ({ D.rx_bytes = b1 }, _, { D.rx_bytes = b2 }, _) -> compare b2 b1) | NetTX -> (fun ({ D.tx_bytes = b1 }, _, { D.tx_bytes = b2 }, _) -> compare b2 b1) in let cmp (dev1, name1, rd1, stats1) (dev2, name2, rd2, stats2) = let r = cmp (stats1, rd1, stats2, rd2) in if r <> 0 then r else compare (dev1, name1) (dev2, name2) in List.sort ~cmp devs in (* Print the header for network devices. *) attron A.reverse; mvaddstr header_lineno 0 (pad cols " ID S RXBY TXBY RXPK TXPK DOMAIN INTERFACE"); attroff A.reverse; (* Print domains and devices. *) let rec loop lineno = function | [] -> () | (dev, name, rd, stats) :: devs -> if lineno < lines then ( let state = show_state rd.rd_info.D.state in let rx_bytes = if stats.D.rx_bytes >= 0L then Show.int64 stats.D.rx_bytes else " " in let tx_bytes = if stats.D.tx_bytes >= 0L then Show.int64 stats.D.tx_bytes else " " in let rx_packets = if stats.D.rx_packets >= 0L then Show.int64 stats.D.rx_packets else " " in let tx_packets = if stats.D.tx_packets >= 0L then Show.int64 stats.D.tx_packets else " " in let line = sprintf "%5d %c %s %s %s %s %-12s %s" rd.rd_domid state rx_bytes tx_bytes rx_packets tx_packets (pad 12 name) dev in let line = pad cols line in mvaddstr lineno 0 line; loop (lineno+1) devs ) in loop domains_lineno devs (*---------- Showing block devices ----------*) | BlockDisplay -> (* Only care about active domains. *) let doms = List.filter_map ( function | (name, Active rd) -> Some (name, rd) | (_, Inactive) -> None ) doms in (* For each domain we have a list of block devices seen * this slice, and seen in the previous slice, which we now * match up to get a list of (domain, device) for which * we have current & previous knowledge. (And ignore the rest). *) let devs = List.map ( fun (name, rd) -> List.filter_map ( fun (dev, stats) -> try (* Have prev slice stats for this device? *) let prev_stats = List.assoc dev rd.rd_prev_block_stats in Some (dev, name, rd, stats, prev_stats) with Not_found -> None ) rd.rd_block_stats ) doms in (* Finally we have a list of: * device name, domain name, rd_* stuff, curr stats, prev stats. *) let devs : (string * string * rd_active * D.block_stats * D.block_stats) list = List.flatten devs in (* Difference curr slice & prev slice. *) let devs = List.map ( fun (dev, name, rd, curr, prev) -> dev, name, rd, diff_block_stats curr prev ) devs in (* Sort by current sort order, but map some of the standard * sort orders into ones which makes sense here. *) let devs = let cmp = match sort_order with | DomainName -> (fun _ -> 0) (* fallthrough to default name compare *) | DomainID -> (fun (_, { rd_domid = id1 }, _, { rd_domid = id2 }) -> compare id1 id2) | Processor | Memory | Time | NetRX | NetTX (* fallthrough to RDRQ comparison. *) | BlockRdRq -> (fun ({ D.rd_req = b1 }, _, { D.rd_req = b2 }, _) -> compare b2 b1) | BlockWrRq -> (fun ({ D.wr_req = b1 }, _, { D.wr_req = b2 }, _) -> compare b2 b1) in let cmp (dev1, name1, rd1, stats1) (dev2, name2, rd2, stats2) = let r = cmp (stats1, rd1, stats2, rd2) in if r <> 0 then r else compare (dev1, name1) (dev2, name2) in List.sort ~cmp devs in (* Print the header for block devices. *) attron A.reverse; mvaddstr header_lineno 0 (pad cols " ID S RDBY WRBY RDRQ WRRQ DOMAIN DEVICE"); attroff A.reverse; (* Print domains and devices. *) let rec loop lineno = function | [] -> () | (dev, name, rd, stats) :: devs -> if lineno < lines then ( let state = show_state rd.rd_info.D.state in let rd_bytes = if stats.D.rd_bytes >= 0L then Show.int64 stats.D.rd_bytes else " " in let wr_bytes = if stats.D.wr_bytes >= 0L then Show.int64 stats.D.wr_bytes else " " in let rd_req = if stats.D.rd_req >= 0L then Show.int64 stats.D.rd_req else " " in let wr_req = if stats.D.wr_req >= 0L then Show.int64 stats.D.wr_req else " " in let line = sprintf "%5d %c %s %s %s %s %-12s %s" rd.rd_domid state rd_bytes wr_bytes rd_req wr_req (pad 12 name) dev in let line = pad cols line in mvaddstr lineno 0 line; loop (lineno+1) devs ) in loop domains_lineno devs ); (* end of display_mode conditional section *) let (count, running, blocked, paused, shutdown, shutoff, crashed, active, inactive, total_cpu_time, total_memory, total_domU_memory) = totals in mvaddstr summary_lineno 0 (sprintf (f_"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d O:%d X:%d") count active running blocked paused inactive shutdown shutoff crashed); (* Total %CPU used, and memory summary. *) let percent_cpu = 100. *. total_cpu_time /. total_cpu in mvaddstr (summary_lineno+1) 0 (sprintf (f_"CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)") percent_cpu (total_memory /^ 1024L) (total_domU_memory /^ 1024L)); (* Time to grab another historical %CPU for the list? *) if time >= !historical_cpu_last_time +. float historical_cpu_delay then ( historical_cpu := percent_cpu :: List.take 10 !historical_cpu; historical_cpu_last_time := time ); (* Display historical CPU time. *) let () = let y, x = historical_cursor in let maxwidth = cols - x in let line = String.concat " " (List.map (sprintf "%2.1f%%") !historical_cpu) in let line = pad maxwidth line in mvaddstr y x line; () in move message_lineno 0; (* Park cursor in message area, as with top. *) refresh () (* Refresh the display. *) virt-top-1.0.9/src/redraw.mli0000664000175000017500000000167013066270123015453 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) val redraw : Types.display -> Types.sort_order -> Types.setup -> bool -> int -> Collect.stats -> Collect.pcpu_stats option -> unit virt-top-1.0.9/src/screen.ml0000664000175000017500000000327513066270122015277 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) (* The virt-top screen layout. *) open Curses module D = Libvirt.Domain (* Line numbers. *) let top_lineno = 0 let summary_lineno = 1 (* this takes 2 lines *) let message_lineno = 3 let header_lineno = 4 let domains_lineno = 5 (* Easier to use versions of curses functions addstr, mvaddstr, etc. *) let move y x = ignore (move y x) let refresh () = ignore (refresh ()) let addch c = ignore (addch (int_of_char c)) let addstr s = ignore (addstr s) let mvaddstr y x s = ignore (mvaddstr y x s) (* Print in the "message area". *) let clear_msg () = move message_lineno 0; clrtoeol () let print_msg str = clear_msg (); mvaddstr message_lineno 0 str (* Show a libvirt domain state (the 'S' column). *) let show_state = function | D.InfoNoState -> '?' | D.InfoRunning -> 'R' | D.InfoBlocked -> 'S' | D.InfoPaused -> 'P' | D.InfoShutdown -> 'D' | D.InfoShutoff -> 'O' | D.InfoCrashed -> 'X' virt-top-1.0.9/src/screen.mli0000664000175000017500000000264513066270122015450 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) (** The virt-top screen layout. *) (* Line numbers. *) val top_lineno : int val summary_lineno : int (** this takes 2 lines *) val message_lineno : int val header_lineno : int val domains_lineno : int (* Easier to use versions of curses functions addstr, mvaddstr, etc. *) val move : int -> int -> unit val refresh : unit -> unit val addch : char -> unit val addstr : string -> unit val mvaddstr : int -> int -> string -> unit (* Print in the "message area". *) val clear_msg : unit -> unit val print_msg : string -> unit (* Show a libvirt domain state (the 'S' column). *) val show_state : Libvirt.Domain.state -> char virt-top-1.0.9/src/stream_output.ml0000664000175000017500000000642013066271673016742 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) (* [--stream] mode output functions. *) open Printf open ExtList open Utils open Collect module C = Libvirt.Connect module D = Libvirt.Domain let append_stream (_, _, _, _, _, node_info, hostname, _) (* setup *) block_in_bytes { rd_doms = doms; rd_printable_time = printable_time; rd_nr_pcpus = nr_pcpus; rd_total_cpu = total_cpu; rd_totals = totals } (* state *) = (* Header for this iteration *) printf "virt-top time %s Host %s %s %d/%dCPU %dMHz %LdMB \n" printable_time hostname node_info.C.model node_info.C.cpus nr_pcpus node_info.C.mhz (node_info.C.memory /^ 1024L); (* dump domain information one by one *) let rd, wr = if block_in_bytes then "RDBY", "WRBY" else "RDRQ", "WRRQ" in printf " ID S %s %s RXBY TXBY %%CPU %%MEM TIME NAME\n" rd wr; (* sort by ID *) let doms = let compare = (function | Active {rd_domid = id1 }, Active {rd_domid = id2} -> compare id1 id2 | Active _, Inactive -> -1 | Inactive, Active _ -> 1 | Inactive, Inactive -> 0) in let cmp (name1, dom1) (name2, dom2) = compare(dom1, dom2) in List.sort ~cmp doms in (*Print domains *) let dump_domain = fun name rd -> begin let state = Screen.show_state rd.rd_info.D.state in let rd_req = if rd.rd_block_rd_reqs = None then " 0" else if block_in_bytes then Show.int64_option rd.rd_block_rd_bytes else Show.int64_option rd.rd_block_rd_reqs in let wr_req = if rd.rd_block_wr_reqs = None then " 0" else if block_in_bytes then Show.int64_option rd.rd_block_wr_bytes else Show.int64_option rd.rd_block_wr_reqs in let rx_bytes = if rd.rd_net_rx_bytes = None then " 0" else Show.int64_option rd.rd_net_rx_bytes in let tx_bytes = if rd.rd_net_tx_bytes = None then " 0" else Show.int64_option rd.rd_net_tx_bytes in let percent_cpu = Show.percent rd.rd_percent_cpu in let percent_mem = Int64.to_float rd.rd_mem_percent in let percent_mem = Show.percent percent_mem in let time = Show.time rd.rd_info.D.cpu_time in printf "%5d %c %s %s %s %s %s %s %s %s\n" rd.rd_domid state rd_req wr_req rx_bytes tx_bytes percent_cpu percent_mem time name; end in List.iter ( function | name, Active dom -> dump_domain name dom | name, Inactive -> () ) doms; flush stdout virt-top-1.0.9/src/stream_output.mli0000664000175000017500000000164013066270123017077 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) (** [--stream] mode output functions. *) val append_stream : Types.setup -> bool -> Collect.stats -> unit virt-top-1.0.9/src/top.ml0000664000175000017500000005637313526773036014646 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) open Printf open ExtList open Curses open Opt_gettext.Gettext open Utils open Types open Collect open Screen module C = Libvirt.Connect module D = Libvirt.Domain module N = Libvirt.Network let rcfile = ".virt-toprc" (* Hooks for CSV support (see [opt_csv.ml]). *) let csv_start : (string -> unit) ref = ref ( fun _ -> failwith (s_"virt-top was compiled without support for CSV files") ) (* Hook for calendar support (see [opt_calendar.ml]). *) let parse_date_time : (string -> float) ref = ref ( fun _ -> failwith (s_"virt-top was compiled without support for dates and times") ) (* Init file. *) type init_file = NoInitFile | DefaultInitFile | InitFile of string (* Settings. *) let quit = ref false let delay = ref 3000 (* milliseconds *) let historical_cpu_delay = ref 20 (* secs *) let iterations = ref (-1) let end_time = ref None let batch_mode = ref false let secure_mode = ref false let sort_order = ref Processor let display_mode = ref TaskDisplay let uri = ref None let debug_file = ref "" let csv_enabled = ref false let csv_cpu = ref true let csv_mem = ref true let csv_block = ref true let csv_net = ref true let init_file = ref DefaultInitFile let script_mode = ref false let stream_mode = ref false let block_in_bytes = ref false (* Function to read command line arguments and go into curses mode. *) let start_up () = (* Read command line arguments. *) let rec set_delay newdelay = if newdelay <= 0. then failwith (s_"-d: cannot set a negative delay"); delay := int_of_float (newdelay *. 1000.) and set_uri = function "" -> uri := None | u -> uri := Some u and set_sort order = sort_order := sort_order_of_cli order and set_pcpu_mode () = display_mode := PCPUDisplay and set_net_mode () = display_mode := NetDisplay and set_block_mode () = display_mode := BlockDisplay and set_csv filename = (!csv_start) filename; csv_enabled := true and no_init_file () = init_file := NoInitFile and set_init_file filename = init_file := InitFile filename and set_end_time time = end_time := Some ((!parse_date_time) time) and display_version () = printf "virt-top %s ocaml-libvirt %s\n" Version.version Libvirt_version.version; exit 0 in let argspec = Arg.align [ "-1", Arg.Unit set_pcpu_mode, " " ^ s_"Start by displaying pCPUs (default: tasks)"; "-2", Arg.Unit set_net_mode, " " ^ s_"Start by displaying network interfaces"; "-3", Arg.Unit set_block_mode, " " ^ s_"Start by displaying block devices"; "-b", Arg.Set batch_mode, " " ^ s_"Batch mode"; "-c", Arg.String set_uri, "uri " ^ s_"Connect to libvirt URI"; "--connect", Arg.String set_uri, "uri " ^ s_"Connect to libvirt URI"; "--csv", Arg.String set_csv, "file " ^ s_"Log statistics to CSV file"; "--no-csv-cpu", Arg.Clear csv_cpu, " " ^ s_"Disable CPU stats in CSV"; "--no-csv-mem", Arg.Clear csv_mem, " " ^ s_"Disable memory stats in CSV"; "--no-csv-block", Arg.Clear csv_block, " " ^ s_"Disable block device stats in CSV"; "--no-csv-net", Arg.Clear csv_net, " " ^ s_"Disable net stats in CSV"; "-d", Arg.Float set_delay, "delay " ^ s_"Delay time interval (seconds)"; "--debug", Arg.Set_string debug_file, "file " ^ s_"Send debug messages to file"; "--end-time", Arg.String set_end_time, "time " ^ s_"Exit at given time"; "--hist-cpu", Arg.Set_int historical_cpu_delay, "secs " ^ s_"Historical CPU delay"; "--init-file", Arg.String set_init_file, "file " ^ s_"Set name of init file"; "--no-init-file", Arg.Unit no_init_file, " " ^ s_"Do not read init file"; "-n", Arg.Set_int iterations, "iterations " ^ s_"Number of iterations to run"; "-o", Arg.String set_sort, "sort " ^ sprintf (f_"Set sort order (%s)") "cpu|mem|time|id|name|netrx|nettx|blockrdrq|blockwrrq"; "-s", Arg.Set secure_mode, " " ^ s_"Secure (\"kiosk\") mode"; "--script", Arg.Set script_mode, " " ^ s_"Run from a script (no user interface)"; "--stream", Arg.Set stream_mode, " " ^ s_"dump output to stdout (no userinterface)"; "--block-in-bytes", Arg.Set block_in_bytes, " " ^ s_"show block device load in bytes rather than reqs"; "--version", Arg.Unit display_version, " " ^ s_"Display version number and exit"; ] in let anon_fun str = raise (Arg.Bad (sprintf (f_"%s: unknown parameter") str)) in let usage_msg = s_"virt-top : a 'top'-like utility for virtualization SUMMARY virt-top [-options] OPTIONS" in Arg.parse argspec anon_fun usage_msg; (* Read the init file. *) let try_to_read_init_file filename = let config = read_config_file filename in (* Replacement functions that raise better errors when * parsing the init file. *) let int_of_string s = try int_of_string s with Invalid_argument _ -> failwithf (f_"%s: could not parse '%s' in init file: expecting an integer") filename s in let float_of_string s = try float_of_string s with Invalid_argument _ -> failwithf (f_"%s: could not parse '%s' in init file: expecting a number") filename s in let bool_of_string s = try bool_of_string s with Invalid_argument _ -> failwithf (f_"%s: could not parse '%s' in init file: expecting %s") filename s "true|false" in List.iter ( function | _, "display", mode -> display_mode := display_of_cli mode | _, "delay", secs -> set_delay (float_of_string secs) | _, "hist-cpu", secs -> historical_cpu_delay := int_of_string secs | _, "iterations", n -> iterations := int_of_string n | _, "sort", order -> set_sort order | _, "connect", uri -> set_uri uri | _, "debug", filename -> debug_file := filename | _, "csv", filename -> set_csv filename | _, "csv-cpu", b -> csv_cpu := bool_of_string b | _, "csv-mem", b -> csv_mem := bool_of_string b | _, "csv-block", b -> csv_block := bool_of_string b | _, "csv-net", b -> csv_net := bool_of_string b | _, "batch", b -> batch_mode := bool_of_string b | _, "secure", b -> secure_mode := bool_of_string b | _, "script", b -> script_mode := bool_of_string b | _, "stream", b -> stream_mode := bool_of_string b | _, "block-in-bytes", b -> block_in_bytes := bool_of_string b | _, "end-time", t -> set_end_time t | _, "overwrite-init-file", "false" -> no_init_file () | lineno, key, _ -> eprintf (f_"%s:%d: configuration item ``%s'' ignored\n%!") filename lineno key ) config in (match !init_file with | NoInitFile -> () | DefaultInitFile -> let home = try Sys.getenv "HOME" with Not_found -> "/" in let filename = home // rcfile in try_to_read_init_file filename | InitFile filename -> try_to_read_init_file filename ); (* Connect to the hypervisor before going into curses mode, since * this is the most likely thing to fail. *) let conn = let name = !uri in try C.connect_readonly ?name () with Libvirt.Virterror err -> prerr_endline (Libvirt.Virterror.to_string err); (* If non-root and no explicit connection URI, print a warning. *) if Unix.geteuid () <> 0 && name = None then ( print_endline (s_"NB: If you want to monitor a local hypervisor, you usually need to be root"); ); exit 1 in (* Get the node_info. This never changes, right? So we get it just once. *) let node_info = C.get_node_info conn in (* Hostname and libvirt library version also don't change. *) let hostname = try C.get_hostname conn with (* qemu:/// and other URIs didn't support virConnectGetHostname until * libvirt 0.3.3. Before that they'd throw a virterror. *) | Libvirt.Virterror _ | Libvirt.Not_supported "virConnectGetHostname" -> "unknown" in let libvirt_version = let v, _ = Libvirt.get_version () in v / 1_000_000, (v / 1_000) mod 1_000, v mod 1_000 in (* Open debug file if specified. * NB: Do this just before jumping into curses mode. *) (match !debug_file with | "" -> (* No debug file specified, send stderr to /dev/null unless * we're in script mode. *) if not !script_mode && not !stream_mode then ( let fd = Unix.openfile "/dev/null" [Unix.O_WRONLY] 0o644 in Unix.dup2 fd Unix.stderr; Unix.close fd ) | filename -> (* Send stderr to the named file. *) let fd = Unix.openfile filename [Unix.O_WRONLY;Unix.O_CREAT;Unix.O_TRUNC] 0o644 in Unix.dup2 fd Unix.stderr; Unix.close fd ); (* Curses voodoo (see ncurses(3)). *) if not !script_mode && not !stream_mode then ( ignore (initscr ()); ignore (cbreak ()); ignore (noecho ()); nonl (); let stdscr = stdscr () in ignore (intrflush stdscr false); ignore (keypad stdscr true); () ); (* This tuple of static information is called 'setup' in other parts * of this program, and is passed to other functions such as redraw and * main_loop. See [main.ml]. *) (conn, !batch_mode, !script_mode, !csv_enabled, !stream_mode, (* immutable modes *) node_info, hostname, libvirt_version (* info that doesn't change *) ) (* Sleep in seconds. *) let sleep = Unix.sleep (* Sleep in milliseconds. *) let millisleep n = ignore (Unix.select [] [] [] (float n /. 1000.)) (* The curses getstr/getnstr functions are just weird. * This helper function also enables echo temporarily. *) let get_string maxlen = ignore (echo ()); let str = Bytes.create maxlen in (* Safe because binding calls getnstr. However the unsafe cast * to string is required because ocaml-curses needs to be fixed. *) let ok = getstr (Obj.magic str) in ignore (noecho ()); if not ok then "" else ( (* Chop at first '\0'. *) try let i = Bytes.index str '\000' in Bytes.sub_string str 0 i with Not_found -> Bytes.to_string str (* it is full maxlen bytes *) ) (* Main loop. *) let rec main_loop ((_, batch_mode, script_mode, csv_enabled, stream_mode, _, _, _) as setup) = let csv_flags = !csv_cpu, !csv_mem, !csv_block, !csv_net in if csv_enabled then Csv_output.write_csv_header csv_flags !block_in_bytes; while not !quit do (* Collect stats. *) let state = collect setup in let pcpu_display = if !display_mode = PCPUDisplay then Some (collect_pcpu state) else None in (* Redraw display. *) if not script_mode && not stream_mode then Redraw.redraw !display_mode !sort_order setup !block_in_bytes !historical_cpu_delay state pcpu_display; (* Update CSV file. *) if csv_enabled then Csv_output.append_csv setup csv_flags !block_in_bytes state; (* Append to stream output file. *) if stream_mode then Stream_output.append_stream setup !block_in_bytes state; (* Clear up unused virDomainPtr objects. *) Gc.compact (); (* Max iterations? *) if !iterations >= 0 then ( decr iterations; if !iterations = 0 then quit := true ); (* End time? We might need to adjust the precise delay down if * the delay would be longer than the end time (RHBZ#637964). Note * 'delay' is in milliseconds. *) let delay = match !end_time with | None -> (* No --end-time option, so use the current delay. *) !delay | Some end_time -> let delay_secs = float !delay /. 1000. in if end_time <= state.rd_time +. delay_secs then ( quit := true; let delay = int_of_float (1000. *. (end_time -. state.rd_time)) in if delay >= 0 then delay else 0 ) else !delay in (*eprintf "adjusted delay = %d\n%!" delay;*) (* Get next key. This does the sleep. *) if not batch_mode && not script_mode && not stream_mode then get_key_press setup delay else ( (* Batch mode, script mode, stream mode. We didn't call * get_key_press, so we didn't sleep. Sleep now, unless we are * about to quit. *) if not !quit || !end_time <> None then millisleep delay ) done and get_key_press setup delay = (* Read the next key, waiting up to 'delay' milliseconds. *) timeout delay; let k = getch () in timeout (-1); (* Reset to blocking mode. *) if k >= 0 && k <> 32 (* ' ' *) && k <> 12 (* ^L *) && k <> Key.resize then ( if k = Char.code 'q' then quit := true else if k = Char.code 'h' then show_help setup else if k = Char.code 's' || k = Char.code 'd' then change_delay () else if k = Char.code 'M' then sort_order := Memory else if k = Char.code 'P' then sort_order := Processor else if k = Char.code 'T' then sort_order := Time else if k = Char.code 'N' then sort_order := DomainID else if k = Char.code 'F' then change_sort_order () else if k = Char.code '0' then set_tasks_display () else if k = Char.code '1' then toggle_pcpu_display () else if k = Char.code '2' then toggle_net_display () else if k = Char.code '3' then toggle_block_display () else if k = Char.code 'W' then write_init_file () else if k = Char.code 'B' then toggle_block_in_bytes_mode () else unknown_command k ) and change_delay () = print_msg (sprintf (f_"Change delay from %.1f to: ") (float !delay /. 1000.)); let str = get_string 16 in (* Try to parse the number. *) let error = try let newdelay = float_of_string str in if newdelay <= 0. then ( print_msg (s_"Delay must be > 0"); true ) else ( delay := int_of_float (newdelay *. 1000.); false ) with Failure _ -> print_msg (s_"Not a valid number"); true in refresh (); sleep (if error then 2 else 1) and change_sort_order () = clear (); let lines, cols = get_size () in mvaddstr top_lineno 0 (s_"Set sort order for main display"); mvaddstr summary_lineno 0 (s_"Type key or use up and down cursor keys."); attron A.reverse; mvaddstr header_lineno 0 (pad cols "KEY Sort field"); attroff A.reverse; let accelerator_key = function | Memory -> "(key: M)" | Processor -> "(key: P)" | Time -> "(key: T)" | DomainID -> "(key: N)" | _ -> (* all others have to be changed from here *) "" in let rec key_of_int = function | i when i < 10 -> Char.chr (i + Char.code '0') | i when i < 20 -> Char.chr (i + Char.code 'a') | _ -> assert false and int_of_key = function | k when k >= 0x30 && k <= 0x39 (* '0' - '9' *) -> k - 0x30 | k when k >= 0x61 && k <= 0x7a (* 'a' - 'j' *) -> k - 0x61 + 10 | k when k >= 0x41 && k <= 0x6a (* 'A' - 'J' *) -> k - 0x41 + 10 | _ -> -1 in (* Display possible sort fields. *) let selected_index = ref 0 in List.iteri ( fun i ord -> let selected = !sort_order = ord in if selected then selected_index := i; mvaddstr (domains_lineno+i) 0 (sprintf " %c %s %s %s" (key_of_int i) (if selected then "*" else " ") (printable_sort_order ord) (accelerator_key ord)) ) all_sort_fields; move message_lineno 0; refresh (); let k = getch () in if k >= 0 && k <> 32 && k <> Char.code 'q' && k <> 13 then ( let new_order, loop = (* Redraw the display. *) if k = 12 (* ^L *) then None, true (* Make the UP and DOWN arrow keys do something useful. *) else if k = Key.up then ( if !selected_index > 0 then Some (List.nth all_sort_fields (!selected_index-1)), true else None, true ) else if k = Key.down then ( if !selected_index < List.length all_sort_fields - 1 then Some (List.nth all_sort_fields (!selected_index+1)), true else None, true ) (* Also understand the regular accelerator keys. *) else if k = Char.code 'M' then Some Memory, false else if k = Char.code 'P' then Some Processor, false else if k = Char.code 'T' then Some Time, false else if k = Char.code 'N' then Some DomainID, false else ( (* It's one of the KEYs. *) let i = int_of_key k in if i >= 0 && i < List.length all_sort_fields then Some (List.nth all_sort_fields i), false else None, true ) in (match new_order with | None -> () | Some new_order -> sort_order := new_order; print_msg (sprintf "Sort order changed to: %s" (printable_sort_order new_order)); if not loop then ( refresh (); sleep 1 ) ); if loop then change_sort_order () ) (* Note: We need to clear_pcpu_display_data every time * we _leave_ PCPUDisplay mode. *) and set_tasks_display () = (* key 0 *) if !display_mode = PCPUDisplay then clear_pcpu_display_data (); display_mode := TaskDisplay and toggle_pcpu_display () = (* key 1 *) display_mode := match !display_mode with | TaskDisplay | NetDisplay | BlockDisplay -> PCPUDisplay | PCPUDisplay -> clear_pcpu_display_data (); TaskDisplay and toggle_net_display () = (* key 2 *) display_mode := match !display_mode with | PCPUDisplay -> clear_pcpu_display_data (); NetDisplay | TaskDisplay | BlockDisplay -> NetDisplay | NetDisplay -> TaskDisplay and toggle_block_display () = (* key 3 *) display_mode := match !display_mode with | PCPUDisplay -> clear_pcpu_display_data (); BlockDisplay | TaskDisplay | NetDisplay -> BlockDisplay | BlockDisplay -> TaskDisplay and toggle_block_in_bytes_mode () = (* key B *) block_in_bytes := match !block_in_bytes with | false -> true | true -> false (* Write an init file. *) and write_init_file () = match !init_file with | NoInitFile -> () (* Do nothing if --no-init-file *) | DefaultInitFile -> let home = try Sys.getenv "HOME" with Not_found -> "/" in let filename = home // rcfile in _write_init_file filename | InitFile filename -> _write_init_file filename and _write_init_file filename = try (* Create the new file as filename.new. *) let chan = open_out (filename ^ ".new") in let time = Unix.gettimeofday () in let tm = Unix.localtime time in let printable_date_time = sprintf "%04d-%02d-%02d %02d:%02d:%02d" (tm.Unix.tm_year + 1900) (tm.Unix.tm_mon+1) tm.Unix.tm_mday tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec in let username = try let uid = Unix.geteuid () in (Unix.getpwuid uid).Unix.pw_name with Not_found -> "unknown" in let fp = fprintf in let nl () = fp chan "\n" in let () = fp chan (f_"# %s virt-top configuration file\n") rcfile in let () = fp chan (f_"# generated on %s by %s\n") printable_date_time username in nl (); fp chan "display %s\n" (cli_of_display !display_mode); fp chan "delay %g\n" (float !delay /. 1000.); fp chan "hist-cpu %d\n" !historical_cpu_delay; if !iterations <> -1 then fp chan "iterations %d\n" !iterations; fp chan "sort %s\n" (cli_of_sort_order !sort_order); (match !uri with | None -> () | Some uri -> fp chan "connect %s\n" uri ); if !batch_mode = true then fp chan "batch true\n"; if !secure_mode = true then fp chan "secure true\n"; nl (); output_string chan (s_"# To send debug and error messages to a file, uncomment next line\n"); fp chan "#debug virt-top.out\n"; nl (); output_string chan (s_"# Enable CSV output to the named file\n"); fp chan "#csv virt-top.csv\n"; nl (); output_string chan (s_"# To protect this file from being overwritten, uncomment next line\n"); fp chan "#overwrite-init-file false\n"; close_out chan; (* If the file exists, rename it as filename.old. *) (try Unix.rename filename (filename ^ ".old") with Unix.Unix_error _ -> ()); (* Rename filename.new to filename. *) Unix.rename (filename ^ ".new") filename; print_msg (sprintf (f_"Wrote settings to %s") filename); refresh (); sleep 2 with | Sys_error err -> print_msg (s_"Error" ^ ": " ^ err); refresh (); sleep 2 | Unix.Unix_error (err, fn, str) -> print_msg (s_"Error" ^ ": " ^ (Unix.error_message err) ^ " " ^ fn ^ " " ^ str); refresh (); sleep 2 and show_help (_, _, _, _, _, _, hostname, (libvirt_major, libvirt_minor, libvirt_release)) = clear (); (* Get the screen/window size. *) let lines, cols = get_size () in (* Banner at the top of the screen. *) let banner = sprintf (f_"virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat") Version.version Libvirt_version.version libvirt_major libvirt_minor libvirt_release in let banner = pad cols banner in attron A.reverse; mvaddstr 0 0 banner; attroff A.reverse; (* Status. *) mvaddstr 1 0 (sprintf (f_"Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s") (float !delay /. 1000.) (if !batch_mode then s_"On" else s_"Off") (if !secure_mode then s_"On" else s_"Off") (printable_sort_order !sort_order)); mvaddstr 2 0 (sprintf (f_"Connect: %s; Hostname: %s") (match !uri with None -> s_"default" | Some s -> s) hostname); (* Misc keys on left. *) let banner = pad 38 (s_"MAIN KEYS") in attron A.reverse; mvaddstr header_lineno 1 banner; attroff A.reverse; let get_lineno = let lineno = ref domains_lineno in fun () -> let i = !lineno in incr lineno; i in let key keys description = let lineno = get_lineno () in move lineno 1; attron A.bold; addstr keys; attroff A.bold; move lineno 10; addstr description in key "space ^L" (s_"Update display"); key "q" (s_"Quit"); key "d s" (s_"Set update interval"); key "h" (s_"Help"); key "B" (s_"toggle block info req/bytes"); (* Sort order. *) ignore (get_lineno ()); let banner = pad 38 (s_"SORTING") in attron A.reverse; mvaddstr (get_lineno ()) 1 banner; attroff A.reverse; key "P" (s_"Sort by %CPU"); key "M" (s_"Sort by %MEM"); key "T" (s_"Sort by TIME"); key "N" (s_"Sort by ID"); key "F" (s_"Select sort field"); (* Display modes on right. *) let banner = pad 39 (s_"DISPLAY MODES") in attron A.reverse; mvaddstr header_lineno 40 banner; attroff A.reverse; let get_lineno = let lineno = ref domains_lineno in fun () -> let i = !lineno in incr lineno; i in let key keys description = let lineno = get_lineno () in move lineno 40; attron A.bold; addstr keys; attroff A.bold; move lineno 49; addstr description in key "0" (s_"Domains display"); key "1" (s_"Toggle physical CPUs"); key "2" (s_"Toggle network interfaces"); key "3" (s_"Toggle block devices"); (* Update screen and wait for key press. *) mvaddstr (lines-1) 0 (s_"More help in virt-top(1) man page. Press any key to return."); refresh (); ignore (getch ()) and unknown_command k = print_msg (s_"Unknown command - try 'h' for help"); refresh (); sleep 1 virt-top-1.0.9/src/top.mli0000664000175000017500000000207213066270123014766 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) (* Hook for [Opt_csv] to override (if present). *) val csv_start : (string -> unit) ref (* Hook for [Opt_calendar] to override (if present). *) val parse_date_time : (string -> float) ref val start_up : unit -> Types.setup val main_loop : Types.setup -> unit virt-top-1.0.9/src/types.ml0000664000175000017500000001265413066270123015166 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) open Opt_gettext.Gettext open Utils module C = Libvirt.Connect module D = Libvirt.Domain (* XXX We should get rid of this type. *) type setup = Libvirt.ro C.t (* connection *) * bool * bool * bool * bool (* batch, script, csv, stream mode *) * C.node_info (* node_info *) * string (* hostname *) * (int * int * int) (* libvirt version *) (* Sort order. *) type sort_order = | DomainID | DomainName | Processor | Memory | Time | NetRX | NetTX | BlockRdRq | BlockWrRq let all_sort_fields = [ DomainID; DomainName; Processor; Memory; Time; NetRX; NetTX; BlockRdRq; BlockWrRq ] let printable_sort_order = function | Processor -> s_"%CPU" | Memory -> s_"%MEM" | Time -> s_"TIME (CPU time)" | DomainID -> s_"Domain ID" | DomainName -> s_"Domain name" | NetRX -> s_"Net RX bytes" | NetTX -> s_"Net TX bytes" | BlockRdRq -> s_"Block read reqs" | BlockWrRq -> s_"Block write reqs" let sort_order_of_cli = function | "cpu" | "processor" -> Processor | "mem" | "memory" -> Memory | "time" -> Time | "id" -> DomainID | "name" -> DomainName | "netrx" -> NetRX | "nettx" -> NetTX | "blockrdrq" -> BlockRdRq | "blockwrrq" -> BlockWrRq | str -> failwithf (f_"%s: sort order should be: %s") str "cpu|mem|time|id|name|netrx|nettx|blockrdrq|blockwrrq" let cli_of_sort_order = function | Processor -> "cpu" | Memory -> "mem" | Time -> "time" | DomainID -> "id" | DomainName -> "name" | NetRX -> "netrx" | NetTX -> "nettx" | BlockRdRq -> "blockrdrq" | BlockWrRq -> "blockwrrq" (* Current major display mode: TaskDisplay is the normal display. *) type display = TaskDisplay | PCPUDisplay | BlockDisplay | NetDisplay let display_of_cli = function | "task" -> TaskDisplay | "pcpu" -> PCPUDisplay | "block" -> BlockDisplay | "net" -> NetDisplay | str -> failwithf (f_"%s: display should be %s") str "task|pcpu|block|net" let cli_of_display = function | TaskDisplay -> "task" | PCPUDisplay -> "pcpu" | BlockDisplay -> "block" | NetDisplay -> "net" (* Sum Domain.block_stats structures together. Missing fields * get forced to 0. Empty list returns all 0. *) let zero_block_stats = { D.rd_req = 0L; rd_bytes = 0L; wr_req = 0L; wr_bytes = 0L; errs = 0L } let add_block_stats bs1 bs2 = let add f1 f2 = if f1 >= 0L && f2 >= 0L then f1 +^ f2 else 0L in { D.rd_req = add bs1.D.rd_req bs2.D.rd_req; rd_bytes = add bs1.D.rd_bytes bs2.D.rd_bytes; wr_req = add bs1.D.wr_req bs2.D.wr_req; wr_bytes = add bs1.D.wr_bytes bs2.D.wr_bytes; errs = add bs1.D.errs bs2.D.errs } let sum_block_stats = List.fold_left add_block_stats zero_block_stats (* Get the difference between two block_stats structures. Missing data * forces the difference to -1. *) let diff_block_stats curr prev = let sub f1 f2 = if f1 >= 0L && f2 >= 0L then f1 -^ f2 else -1L in { D.rd_req = sub curr.D.rd_req prev.D.rd_req; rd_bytes = sub curr.D.rd_bytes prev.D.rd_bytes; wr_req = sub curr.D.wr_req prev.D.wr_req; wr_bytes = sub curr.D.wr_bytes prev.D.wr_bytes; errs = sub curr.D.errs prev.D.errs } (* Sum Domain.interface_stats structures together. Missing fields * get forced to 0. Empty list returns all 0. *) let zero_interface_stats = { D.rx_bytes = 0L; rx_packets = 0L; rx_errs = 0L; rx_drop = 0L; tx_bytes = 0L; tx_packets = 0L; tx_errs = 0L; tx_drop = 0L } let add_interface_stats is1 is2 = let add f1 f2 = if f1 >= 0L && f2 >= 0L then f1 +^ f2 else 0L in { D.rx_bytes = add is1.D.rx_bytes is2.D.rx_bytes; rx_packets = add is1.D.rx_packets is2.D.rx_packets; rx_errs = add is1.D.rx_errs is2.D.rx_errs; rx_drop = add is1.D.rx_drop is2.D.rx_drop; tx_bytes = add is1.D.tx_bytes is2.D.tx_bytes; tx_packets = add is1.D.tx_packets is2.D.tx_packets; tx_errs = add is1.D.tx_errs is2.D.tx_errs; tx_drop = add is1.D.tx_drop is2.D.tx_drop } let sum_interface_stats = List.fold_left add_interface_stats zero_interface_stats (* Get the difference between two interface_stats structures. * Missing data forces the difference to -1. *) let diff_interface_stats curr prev = let sub f1 f2 = if f1 >= 0L && f2 >= 0L then f1 -^ f2 else -1L in { D.rx_bytes = sub curr.D.rx_bytes prev.D.rx_bytes; rx_packets = sub curr.D.rx_packets prev.D.rx_packets; rx_errs = sub curr.D.rx_errs prev.D.rx_errs; rx_drop = sub curr.D.rx_drop prev.D.rx_drop; tx_bytes = sub curr.D.tx_bytes prev.D.tx_bytes; tx_packets = sub curr.D.tx_packets prev.D.tx_packets; tx_errs = sub curr.D.tx_errs prev.D.tx_errs; tx_drop = sub curr.D.tx_drop prev.D.tx_drop } virt-top-1.0.9/src/types.mli0000664000175000017500000000412513066270123015331 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *) (* XXX We should get rid of this type. *) type setup = Libvirt.ro Libvirt.Connect.t (* connection *) * bool * bool * bool * bool (* batch, script, csv, stream mode *) * Libvirt.Connect.node_info (* node_info *) * string (* hostname *) * (int * int * int) (* libvirt version *) (* Sort order. *) type sort_order = | DomainID | DomainName | Processor | Memory | Time | NetRX | NetTX | BlockRdRq | BlockWrRq val all_sort_fields : sort_order list val printable_sort_order : sort_order -> string val sort_order_of_cli : string -> sort_order val cli_of_sort_order : sort_order -> string (* Current major display mode: TaskDisplay is the normal display. *) type display = TaskDisplay | PCPUDisplay | BlockDisplay | NetDisplay val display_of_cli : string -> display val cli_of_display : display -> string (* Helpers for manipulating block_stats & interface_stats. *) val sum_block_stats : Libvirt.Domain.block_stats list -> Libvirt.Domain.block_stats val diff_block_stats : Libvirt.Domain.block_stats -> Libvirt.Domain.block_stats -> Libvirt.Domain.block_stats val sum_interface_stats : Libvirt.Domain.interface_stats list -> Libvirt.Domain.interface_stats val diff_interface_stats : Libvirt.Domain.interface_stats -> Libvirt.Domain.interface_stats -> Libvirt.Domain.interface_stats virt-top-1.0.9/src/utils.ml0000664000175000017500000001124313066447711015164 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This file contains utility functions. *) open Printf let (//) = Filename.concat (* Int64 operators for convenience. *) let (+^) = Int64.add let (-^) = Int64.sub let ( *^ ) = Int64.mul let (/^) = Int64.div (* failwithf is a printf-like version of failwith. *) let failwithf fs = ksprintf failwith fs let rec range a b = if a <= b then a :: range (a+1) b else [] (* Input a whole file as a list of lines. *) let input_all_lines chan = let lines = ref [] in (try while true; do lines := input_line chan :: !lines done with End_of_file -> ()); List.rev !lines (* Trim whitespace from the beginning and end of strings. *) let isspace c = c = ' ' (* || c = '\f' *) || c = '\n' || c = '\r' || c = '\t' (* || c = '\v' *) let triml ?(test = isspace) str = let i = ref 0 in let n = ref (String.length str) in while !n > 0 && test str.[!i]; do decr n; incr i done; if !i = 0 then str else String.sub str !i !n let trimr ?(test = isspace) str = let n = ref (String.length str) in while !n > 0 && test str.[!n-1]; do decr n done; if !n = String.length str then str else String.sub str 0 !n let trim ?(test = isspace) str = trimr (triml str) (* Read a configuration file as a list of (key, value) pairs. * If the config file is missing this returns an empty list. *) let blanks_and_comments = Str.regexp "^[ \t]*\\(#.*\\)?$" let read_config_file filename = let lines = try let chan = open_in filename in let lines = input_all_lines chan in close_in chan; lines with Sys_error _ -> [] in (* Ignore errors opening file. *) (* Line numbers. *) let lines = let i = ref 0 in List.map (fun line -> (incr i; !i), line) lines in (* Remove blank lines and comment lines. *) let lines = List.filter (fun (lineno, line) -> not (Str.string_match blanks_and_comments line 0)) lines in (* Convert to key, value pairs. *) List.map ( fun (lineno, line) -> let key, value = ExtString.String.split line " " in lineno, trim key, trim value ) lines (* Pad a string to the full width with spaces. If too long, truncate. *) let pad width str = if width <= 0 then "" else ( let n = String.length str in if n = width then str else if n > width then String.sub str 0 width else (* if n < width then *) str ^ String.make (width-n) ' ' ) module Show = struct (* Show a percentage in 4 chars. *) let percent percent = if percent <= 0. then " 0.0" else if percent <= 9.9 then sprintf " %1.1f" percent else if percent <= 99.9 then sprintf "%2.1f" percent else "100 " (* Show an int64 option in 4 chars. *) let rec int64_option = function | None -> " " | Some n -> int64 n (* Show an int64 in 4 chars. *) and int64 = function | n when n < 0L -> "-!!!" | n when n <= 9999L -> sprintf "%4Ld" n | n when n /^ 1024L <= 999L -> sprintf "%3LdK" (n /^ 1024L) | n when n /^ 1_048_576L <= 999L -> sprintf "%3LdM" (n /^ 1_048_576L) | n when n /^ 1_073_741_824L <= 999L -> sprintf "%3LdG" (n /^ 1_073_741_824L) | _ -> ">!!!" (* Format the total time (may be large!) in 9 chars. *) let time ns = let secs_in_ns = 1_000_000_000L in let mins_in_ns = 60_000_000_000L in let hours_in_ns = 3_600_000_000_000L in let hours = ns /^ hours_in_ns in let ns = ns -^ (hours *^ hours_in_ns) in let mins = ns /^ mins_in_ns in let ns = ns -^ (mins *^ mins_in_ns) in let secs = ns /^ secs_in_ns in let ns = ns -^ (secs *^ secs_in_ns) in let pennies = ns /^ 10_000_000L in if hours < 12L then sprintf "%3Ld:%02Ld.%02Ld" (hours *^ 60L +^ mins) secs pennies else if hours <= 999L then sprintf "%3Ld:%02Ld:%02Ld" hours mins secs else ( let days = hours /^ 24L in let hours = hours -^ (days *^ 24L) in sprintf "%3Ldd%02Ld:%02Ld" days hours mins ) end virt-top-1.0.9/src/utils.mli0000664000175000017500000000342713066447753015350 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This file contains utility functions. *) (* Filename concatenation. *) val (//) : string -> string -> string (* failwithf is a printf-like version of failwith. *) val failwithf : ('a, unit, string, 'b) format4 -> 'a (* Return the list of integers [a..b] (inclusive). *) val range : int -> int -> int list (* Read a configuration file as a list of (lineno, key, value) pairs. * If the config file is missing this returns an empty list. *) val read_config_file : string -> (int * string * string) list (* Pad or truncate a string to a fixed width. *) val pad : int -> string -> string (* Int64 operators for convenience. *) val (+^) : int64 -> int64 -> int64 val (-^) : int64 -> int64 -> int64 val ( *^ ) : int64 -> int64 -> int64 val (/^) : int64 -> int64 -> int64 (* Utility functions for formating numbers as short strings. *) module Show : sig val percent : float -> string val int64_option : int64 option -> string val int64 : int64 -> string val time : int64 -> string end virt-top-1.0.9/src/version.ml.in0000644000175000017500000000162312107133561016103 0ustar rjonesrjones(* 'top'-like tool for libvirt domains. (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This file contains all code which requires CSV support. *) let version = "@PACKAGE_VERSION@" virt-top-1.0.9/src/virt-top.pod0000644000175000017500000003312212107133561015746 0ustar rjonesrjones=head1 NAME virt-top - 'top'-like utility for virtualization stats =head1 SUMMARY virt-top [-options] =head1 DESCRIPTION virt-top is a L-like utility for showing stats of virtualized domains. Many keys and command line options are the same as for ordinary I. It uses libvirt so it is capable of showing stats across a variety of different virtualization systems. =head1 OPTIONS =over 4 =item B<-1> Display physical CPUs by default (instead of domains). Under each domain column, two numbers are shown. The first is the percentage of the physical CPU used by the domain and the hypervisor together. The second is the percentage used by just the domain. When virt-top is running, use the I<1> key to toggle between physical CPUs and domains display. =item B<-2> Display network interfaces by default (instead of domains). When virt-top is running, use the I<2> key to toggle between network interfaces and domains display. =item B<-3> Display block devices (virtual disks) by default (instead of domains). When virt-top is running, use the I<3> key to toggle between block devices and domains display. =item B<-b> Batch mode. In this mode keypresses are ignored. =item B<-c uri> or B<--connect uri> Connect to the libvirt URI given. To connect to QEMU/KVM you would normally do I<-c qemu:///system> To connect to Xen on the same host, do I<-c xen:///> To connect to libvirtd on a remote machine you would normally do I<-c qemu://host/system> If this option is not given then virt-top connects by default to whatever is the default hypervisor for libvirt, although this can be overridden by setting environment variables. See the libvirt documentation at L for further information. =item B<-d delay> Set the delay between screen updates in seconds. The default is 3.0 seconds. You can change this while virt-top is running by pressing either I or I key. =item B<-n iterations> Set the number of iterations to run. The default is to run continuously. =item B<-o sort> Set the sort order to one of: B (sort by %CPU used), B (sort by total memory), B