git: 152db36446b9 - main - sysutils/blockio: New port: Display block device activity as a map of the address space
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 04 Sep 2026 14:09:44 UTC
The branch main has been updated by olgeni:
URL: https://cgit.FreeBSD.org/ports/commit/?id=152db36446b93e2ffdd668877fcc711de0a11097
commit 152db36446b93e2ffdd668877fcc711de0a11097
Author: Jimmy Olgeni <olgeni@FreeBSD.org>
AuthorDate: 2026-09-04 13:02:14 +0000
Commit: Jimmy Olgeni <olgeni@FreeBSD.org>
CommitDate: 2026-09-04 14:09:41 +0000
sysutils/blockio: New port: Display block device activity as a map of the address space
---
sysutils/Makefile | 1 +
sysutils/blockio/Makefile | 22 ++++++++++++++++++++++
sysutils/blockio/distinfo | 5 +++++
sysutils/blockio/pkg-descr | 13 +++++++++++++
4 files changed, 41 insertions(+)
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 0c2d6970aed2..2ec7588d0e2a 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -131,6 +131,7 @@
SUBDIR += bksh
SUBDIR += bkt
SUBDIR += blisp
+ SUBDIR += blockio
SUBDIR += bmd
SUBDIR += bmd-plugin-avahi
SUBDIR += bmd-plugin-hookcmd
diff --git a/sysutils/blockio/Makefile b/sysutils/blockio/Makefile
new file mode 100644
index 000000000000..1f41e0dde2bb
--- /dev/null
+++ b/sysutils/blockio/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= blockio
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.1.0
+CATEGORIES= sysutils
+
+MAINTAINER= olgeni@FreeBSD.org
+COMMENT= Display block device activity as a map of the address space
+WWW= https://github.com/olgeni/blockio
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= go:modules
+GO_MODULE= github.com/olgeni/blockio
+
+PLIST_FILES= bin/blockio \
+ share/man/man8/blockio.8.gz
+
+post-install:
+ ${INSTALL_MAN} ${WRKSRC}/blockio.8 ${STAGEDIR}${PREFIX}/share/man/man8/
+
+.include <bsd.port.mk>
diff --git a/sysutils/blockio/distinfo b/sysutils/blockio/distinfo
new file mode 100644
index 000000000000..952bce962ca9
--- /dev/null
+++ b/sysutils/blockio/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1788526768
+SHA256 (go/sysutils_blockio/blockio-v1.1.0/v1.1.0.mod) = 5702120327dfa6af606376bf8c24dbfb32350d8786de245855312a132152842a
+SIZE (go/sysutils_blockio/blockio-v1.1.0/v1.1.0.mod) = 1620
+SHA256 (go/sysutils_blockio/blockio-v1.1.0/v1.1.0.zip) = 3e58ad8e3b7aa48715acb4556e01572f73e97bfed01e298f5e3ba4445346bc4d
+SIZE (go/sysutils_blockio/blockio-v1.1.0/v1.1.0.zip) = 145581
diff --git a/sysutils/blockio/pkg-descr b/sysutils/blockio/pkg-descr
new file mode 100644
index 000000000000..0f06ce751049
--- /dev/null
+++ b/sysutils/blockio/pkg-descr
@@ -0,0 +1,13 @@
+blockio is a terminal front-end to whatever the kernel will say about block
+I/O: on FreeBSD it drives the DTrace io provider and diskinfo(8). It draws
+one pane per device and one cell per slice of the address space, green for
+reads, red for writes and amber for TRIM, so a resilver or a scrub shows up
+as a bright head marching across the map while scattered metadata writes
+speckle it.
+
+Each cell carries an activity layer that fades in milliseconds and a dimmer
+trail that fades over a minute, showing both what the disk is doing now and
+where the head has been.
+
+It needs root, and on FreeBSD it needs the DTrace modules loaded
+(kldload dtraceall). A demo mode draws synthetic devices without root.