Vtstats

This software has been built using and depends on ServerKit.

Overview

Vtstats is a supplemental module for use with other modules collectively forming a ServerKit personality.

It's purpose is to report ServerKit runtime statistics on a virtual terminal periodically, optionally with screen blanking disabled in the interests of keeping recent statistics available in the face of system failures, overloads, or access restrictions regardless of console inactivity.

The information displayed is the same information you see on the server processes output upon delivery of SIGUSR1, but the vtstats report loop is unrelated to the builtin ServerKit signal-driven statistics report beyond sharing the same reporting function.

When used along with disabled screen blanking and vt activation enabled, this module takes advantage of the characteristic of frame buffers to independently continue displaying the contents of memory regardless of the overall system health/state. Even when the machine is frozen the RAMDAC continues "displaying" the contents of video memory.

If you do not disable screen blanking, you lose the ability to simply attach a display adapter and view the current video memory contents in situations where the machine is unable to respond to keypresses or other events that would normally unblank the screen. (lockups)


Usage

It is advised that you read the ServerKit documentation before trying to use this module, as most of the basic usage is simply using ServerKit, nothing specific to this module.

To integrate vtstats into existing ServerKit personalities, simply add the vtstats.so module to the existing personalities modules subdirectory. Configuration of the vtstats module is achieved through adding a vtstats section to your existing c11n file.

Vtstats will generally require a server process that starts as root so it can manipulate /dev/console. It is recommended that you configure the personality to switch users using the uid and gid directives when executing as root. Note that in order for ServerKit to allow root execution, the executes_as_root configuration option must be set to true.

Note:
ServerKit versions 1.2.0 and earlier contain a bug in the reporting function which ignores the supplied FILE * and prints directly to stderr. If when vtstats reports statistics you get some of the statistics printed to stderr instead of the virtual terminal, your ServerKit has the bug.


Configuration

The following configuration options are supported:
NameTypeDescription
period integer Period to insert (sleep) between reports in seconds, default is 5
vt_number integer Which virtual terminal to use, 0 means find next available and is the default.
activate_vt boolean Toggles wether the module should "activate" (switch to, focus, etc) the vt_number being used. Default is false
disable_blanking boolean Toggles wether the module should disable screen blanking on the console. Default is false

You can query the module for its supported configuration options by simply running it like a normal executable program. This is the preferred method of keeping informed on what configuration values are supported and what the defaults are.

Here is some sample output of running the module:
swivel@volatile:~/src/vtstats-0.0.1$ ./vtstats.so 
ServerKit bundled module inspector

- Summary -
Name: vtstats
Description: Virtual terminal ServerKit statistics reporter
Module version: 0.0.1
ServerKit build environment version: 1.2.0
Authors: Vito Caputo <vcapu***NOSPAM***om>

- Supported configuration options & defaults -
period = 5
vt_number = 0
activate_vt = false
disable_blanking = false


Source archives

Release date Tar.gz MD5 checksum
12-04-2007 vtstats-0.0.2.tar.gz c60fe47d296466f8004ce92b72d92865
12-03-2007 vtstats-0.0.1.tar.gz eea7fc563bfab4eaf5b76b8cd286d1d8

License

Vtstats is distributed under the GNU General Public License version 2

Contribute

I accept patches or feature requests, simply email me at the email address contained within the source tree. I am also always looking for testers so if you're willing to test new features, let me know.

If you would like to contribute to this project monetarily, feel free to donate via the paypal button below.

© 2008 Vito Caputo