Repository navigation
Releases: olivierlambert/xentop-ng
Release list
xentop-ng v0.5.0
What's new
Numbers you can trust: xentop-ng no longer shows a spike, a zero or a
complete-looking total when it didn't actually measure one.
Changed
--batchJSON:host.pcpu_busyentries can benull(a core without
a baseline yet), and a source in"sources"can bepartial. New
fields say how complete each figure is:disk_samples(host, domain,
SR) andhost.pcpu_samplescount devices with a valid interval
(availableoftotal, pluspendingnew disks);
sources.vbd_latency_coverageandsources.steal_coveragedo the same
for latency and steal. VBDs gainstats_valid,warming_upand
collection_error; domains gainbaseline_reset. See
Batch mode.- Totals missing some disks or pCPUs are marked
*and raise the header's
◐ marker; with none they show-. History graphs show a dotted gap for
a missing sample instead of drawing it as idle, and keep the sum of the
disks that were measured. - Steal time available for only some domains now raises the ◐ marker
(missing steal still doesn't: that depends on the hypervisor).
Fixed
- A hung hypervisor or xenstore call froze the whole interface. Sampling
now runs on its own thread: keys keep working, the header shows how
stale the data is, andqquits at once. - When xentop-ng can't start (no Xen, missing library), it prints why and
exits before taking over the terminal. - A rebooted VM, or another VM reusing its domain ID, could inherit the
old one's history, or show a CPU or disk spike computed across the two.
VMs are now recognised by their xenstore UUID (no xapi needed), so a
rename keeps the history and a different VM starts afresh. - Disk rates spanning a failed read, a counter reset or a swapped VDI
could show huge or bogus values; that interval is now skipped. A disk
read failure shows asread!in the details instead of being added to
the disk's I/O error count. - Booting a VM no longer flags its disks as failing for the ~15 s before
the guest's PV driver connects; they wait for a baseline like a new disk. - A pCPU going offline or online could wipe or mix up the cores' history
graphs, and showed a newly online core at 100%. - An unreadable
/proc/net/devwas reported as "no VIFs" instead of
missing data.
Security
- New libxenstat patch 0005:
libxenstat reads tapdisk's stats from world-writable/dev/shmwith a
plainfopen(), so a symlink, FIFO or crafted file there could hang or
mislead a root monitor. The patch only accepts root-owned, non-writable,
regular files with a valid record. xentop-ng's own fallback already did;
this protects libxenstat itself, so apply it if you replace libxenstat.
Downloads
- xentop-ng-v0.5.0-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.5.0-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.5.0-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks. - xentop-ng-v0.5.0-aarch64-linux-gnu.tar.gz and
xentop-ng-v0.5.0-riscv64-linux-gnu.tar.gz: the same for arm64
(glibc 2.17 or newer) and riscv64 (glibc 2.27 or newer) dom0s.
Tested under qemu-user only so far; reports from real hosts welcome.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.
xentop-ng v0.4.1
What's new
Fixed
- The SR view (
v) lists the SRs plugged into the host even when no VM
uses them, instead of "no storage mapping (xenstore)" on a host with no
running VM (#6).
They come from xapi; DVD drives, removable media and ISO libraries are
left out. Without xapi, an empty view now says no VM disk is active,
and "no storage mapping" only shows when disks can't be mapped.
Security
--lib PATHas root loaded the path as given after checking the file it
resolved to. If the path went through a symlink in a directory its owner
controls, the symlink could be swapped in between and another library
loaded as root (relevant when xentop-ng is granted through sudo). It now
loads the file it checked.
Internal
- Code reorganised with no change in behavior: the UI is split into one
file per panel, the Xen libraries are loaded in one place, and reading
libxenstat is separate from filling its gaps (now unit-tested).
Downloads
- xentop-ng-v0.4.1-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.4.1-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.4.1-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks. - xentop-ng-v0.4.1-aarch64-linux-gnu.tar.gz and
xentop-ng-v0.4.1-riscv64-linux-gnu.tar.gz: the same for arm64
(glibc 2.17 or newer) and riscv64 (glibc 2.27 or newer) dom0s.
Tested under qemu-user only so far; reports from real hosts welcome.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.
xentop-ng v0.4.0
What's new
Added
- Downloads for arm64 (
aarch64-linux-gnu, glibc 2.17 or newer) and
RISC-V (riscv64-linux-gnu, glibc 2.27 or newer) dom0s. They are
cross-built, and each release runs the test suite and the demo under
qemu-user; they haven't been tried on a real Arm or RISC-V Xen host yet:
reports are welcome, see Architectures.
Downloads
- xentop-ng-v0.4.0-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.4.0-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.4.0-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks. - xentop-ng-v0.4.0-aarch64-linux-gnu.tar.gz and
xentop-ng-v0.4.0-riscv64-linux-gnu.tar.gz: the same for arm64
(glibc 2.17 or newer) and riscv64 (glibc 2.27 or newer) dom0s.
Tested under qemu-user only so far; reports from real hosts welcome.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.
xentop-ng v0.3.2
What's new
Fixed
- Domain names are no longer cut while there is room to show them:
- the mem box cut them at 12 characters; names now get as much room as
the longest one needs, up to half the row, so a wide mem box (cpu box
hidden with1) shows them in full; - the same in the cpu box's "top domains" list (stock libxenstat),
which cut them at 9; - the domain table's NAME column grew by at most 12 columns; it now
grows to the longest name, leaving the CPU history at least half of
the spare width. Long names never push other columns out; - SR names in the SR view (
v) use the width left over past 20
columns; - these widths grow at once but shrink only after 30 s, so short-lived
VMs (CI jobs, backups) don't shift the columns as they come and go.
- the mem box cut them at 12 characters; names now get as much room as
Downloads
- xentop-ng-v0.3.2-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.3.2-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.3.2-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.
xentop-ng v0.3.1
What's new
Changed
- Screenshots of the 0.3.0 features in the README (SR view, domain
details), and a refreshed tour GIF. - Release notes on GitHub now include the release's CHANGELOG entry.
Downloads
- xentop-ng-v0.3.1-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.3.1-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.3.1-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.
xentop-ng v0.3.0
Downloads
- xentop-ng-v0.3.0-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.3.0-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.3.0-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.
xentop-ng v0.2.2
Downloads
- xentop-ng-v0.2.2-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.2.2-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.2.2-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.
xentop-ng v0.2.1
Downloads
- xentop-ng-v0.2.1-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.2.1-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.2.1-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.
xentop-ng v0.2.0
Downloads
- xentop-ng-v0.2.0-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.2.0-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.2.0-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.
xentop-ng v0.1.2
Downloads
- xentop-ng-v0.1.2-xcp-ng-8.3.tar.gz: for XCP-ng 8.3. Includes the
patched libxenstat (used only through thextoplauncher) and an
installer:tar xzf … && cd xentop-ng-v0.1.2-xcp-ng-8.3 && ./install.sh,
then run/opt/xentop-ng/bin/xtop. - xentop-ng-v0.1.2-x86_64-linux-gnu.tar.gz: the binary alone, for
any x86_64 Linux dom0 with glibc 2.17 or newer. It uses the system
libxenstat and fills gaps with built-in fallbacks.
Verify: sha256sum -c SHA256SUMS and
gh attestation verify <file> --repo olivierlambert/xentop-ng.