Library

The JDiagnose Library project contains a number of diagnostics and other useful classes for running and monitoring diagnostics. The JDiagnose Library contains code to store diagnostic results in a database. The JDiagnose Library project has a great deal of dependencies.

DiagnosticDescription
BSF DiagnosticRun any scripted diagnostics using the Bean Scripting Framework
Test Case DiagnosticRuns a JUnit Test Case as a diagnostic
Win32 Disk Space DiagnosticMakes sure there's enough disk space (Win32)

The JDiagnose Library also contains hibernate mappings and sql for storing diagnostic results. Typical sql for the table looks as follows:

CREATE TABLE DIAGNOSTICRESULT (
	id						INTEGER				IDENTITY,
	guid    				VARCHAR				NULL,
	host    				VARCHAR				NULL,
	agent    				VARCHAR				NULL,
	name    				VARCHAR				NOT NULL,
	resultState   			VARCHAR  			NOT NULL,
	startDate        		TIMESTAMP	     		NOT NULL,
	finishDate              TIMESTAMP				NOT NULL,
	duration	            BIGINT   			NOT NULL,
	summary					VARCHAR     		NULL,
	body					VARCHAR      		NULL,
	CONSTRAINT DR_PK PRIMARY KEY (id)
);