Written by

~~ retired but not tired ~~
Article Robert Cemper · 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

Comments

Robert Cemper · Sep 25

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
0
Evgeny Shvarov · Sep 26

Cool! Add dsw? Curious how it displays it? Also, DSW works neatly on a mobile

0
Robert Cemper  Sep 26 to Evgeny Shvarov

DSW definitely offers a strong improvement in graphics.
THOUGH you require some externally installed tools/libraries.

My intention here was to make it IRIS-only and all internal,
concentrating on the actions behind the scene. (query, tables, cubes) 
The charts are more eye-catcher for the visualization 

0