Dcvix Stats is a Go application that provides a graphical user interface (GUI) to display statistics from a NICE DCV server log file. It uses the Fyne toolkit for the GUI and the go-charts library to render line charts of various metrics.
The application works by parsing a DCV server log file, extracting statistical data using regular expressions, and then displaying this data in a series of line charts. The user can show or hide them from the "Show" menu.
Note The DCV server writes statistics to the log file every minute, so the graph will update with new data once per minute.
The Dcvix Stats accepts the following command-line flags:
--version: Show version information.--verbose: Enable verbose logging.--entries: How many entries/minutes to evaluate (default 120).--logfile: Path to the DCV server log file.--refresh: Auto-refresh interval in seconds (default 30).
Preferences like auto refresh and opened graphs will be saved to:
- On linux
~/.config/fyne/net.cortassa.dcvix-stats/ - Om Windows
C:\Users\<user>\AppData\Local\net.cortassa.dcvix-stats\
Download binaries for Linux or windows from GitHub releases
No installation needed, Just extract the archive.
On linux launch dcvix-stats.
On windows launch dcvix-stats.exe
Preferred building environment Linux
- Go 1.23 or later, see GO Download and install
- Fyne library dependencies installed, see Fyne Getting Started
- Ensure that Docker is installed and functioning properly.
go install github.com/fyne-io/fyne-cross@latestgo install github.com/tc-hib/go-winres@latest
The project uses a Makefile to simplify common tasks,
the build process will create an executables in the dist directory.
make buildmake build-linux
make build-windows-crossmake runRun without building an executable, with Fyne containers and layouts highlighted (for testing GUI layout)
make run-debugAutomatically raise the minor version number
make version-bumpTo manually raise the version just edit the VERSION file
make tagThe tag will be ready to be pushed to GitHub, triggering automatic compilation and release creation.
