Files
nixpkgs/pkgs/by-name/io/ioztat/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

61 lines
1.5 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
installShellFiles,
python3,
}:
stdenv.mkDerivation rec {
pname = "ioztat";
version = "2.0.1";
src = fetchFromGitHub {
owner = "jimsalterjrs";
repo = "ioztat";
rev = "v${version}";
sha256 = "sha256-8svMijgVxSuquPFO2Q2HeqGLdMkwhiujS1DSxC/LRRk=";
};
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ python3 ];
prePatch = ''
patchShebangs .
'';
installPhase = ''
runHook preInstall
install -vDt $out/bin -m 0555 ioztat
if [ -f ioztat.8 ]; then
installManPage ioztat.8
fi
runHook postInstall
'';
meta = with lib; {
inherit version;
inherit (src.meta) homepage;
description = "Storage load analysis tool for OpenZFS";
longDescription = ''
ioztat is a storage load analysis tool for OpenZFS. It provides
iostat-like statistics at an individual dataset/zvol level.
The statistics offered are read and write operations per second, read and
write throughput per second, and the average size of read and write
operations issued in the current reporting interval. Viewing these
statistics at the individual dataset level allows system administrators
to identify storage "hot spots" in larger multi-tenant
systems -- particularly those with many VMs or containers operating
essentially independent workloads.
'';
license = licenses.bsd2;
platforms = with platforms; linux ++ freebsd;
maintainers = with maintainers; [ numinit ];
mainProgram = "ioztat";
};
}