Article
· Sep 22 2m read

Dashboard of database free space

Finishing my previous example for multiple IRIS instances, I tried
to compose a local single instance version.  The step from the external
Python app to a version using embedded Python seemed to be obvious.
This was a wrong assumption, as some Python libraries just refused installation
into my local Windows-based environment.
After several frustrating and fruitless attempts, I took a step back rethinking the case.

  • IRIS offers DeepSee a ready-to-use set of tools for all kinds of charts
  • It is ready to present the base data in tables
  • Dashboards allow the combination of graphs and tables on a single screen.
  • There is no need for an external store. 
  • And COS allows me any odd trick if ever needed.

The final result

The parts to be served

  • My Dashboards are a collection of Table views and  Charts
  • Tables and Charts are generated from Pivots created in Analyzer
  • I use 2 pivots
    1. based on raw numbers,
    2. based on $ZLOG(numbers) for better scaling of the chart  
  • Content for the Pivots comes from 2 separate Cubes
  • The Cubes are designed with DeepSee Architect from a persistent class
  • The class is refreshed for each view by a Class-Query in %SYS
  • To avoid useless Journal records, I use a temporary table in IRISTEMP
  • Finally, a Portlet provides the actual timestamp of the snapshot

The processing steps 

  • A CSP page is called by its URL
  • In method OnPreHTTP
    • The System Query fills the temp table from %SYS
    • Then both cubes are rebuilt
    • Finally, the Dashboard is launched by server-side redirection
  • The content of the initial CSP page is irrelevant and therefore empty

GitHub

Discussion (3)2
Log in or sign up to continue

Release notes version 1.0.0

Based on the very positive feedback, I have added a new functionality.
It is now possible to also take a snapshot from a remote system.
The only requirement is to append an URL-Parameter formatted like this:

?SERVER=IP-Address[:SuperServerPort[:Username[:Password]]]

defaults: port=1972 user=_SYSTEM pw=SYS
Example 

http://localhost:42773/csp/user/ZX.dbdash.cls?SERVER=192.168.0.11:11972:SuperUser:SYS