Access Solaris kstats from Go. Provides a Go API for the Solaris kstat library for retrieving kernel statistics.
Switch branches/tags
Nothing to show
Clone or download


Go-kstat provides a Go API for the kstat kernel statistics system
on Solaris, Illumos, OmniOS, and other Solaris derived systems. For
general information on kstats, see the kstat(1) and kstat(3kstat)
manpages. For more documentation on the details of the package, see
doc.go, kstat_solaris.go, types_solaris_amd64.go, and raw_solaris.go.

This package is quite young, so the API may well change as I and
other people gain experience with using it.

The API supports access to 'named' kstat statistics, IO statistics,
and the most common and useful sorts of 'raw' kstat statistics
(unix:0:sysinfo, unix:0:vminfo, unix:0:var, and mnt:*:mntinfo).
Other raw kstat statistics are not explicitly supported, but the
API provides some escape hatches for access to custom raw

This is a cgo-based package so it can't be cross compiled like a regular
Go package. It may also have bugs with memory management, since it
interacts with the Solaris kstat library and holds references to memory
that's been dynamically allocated in C.

See kstat-godoc.txt for a text dump of the full godoc for the package.
Unfortunately Go tool limitations appear to make it impossible to see
full package documentat on anything except a Solaris machine (including, sadly).

Bug reports and other contributions are highly welcome.


Chris Siebenmann

(and elsewhere)

Copyright: standard Go copyright