daimor / BlocksExplorer

Database Blocks Explorer for InterSystems Caché

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

zpm

Blocks Explorer

Quality Gate Status

Database Blocks Explorer for InterSystems IRIS/Caché

Key features

Tree explorer
  • Shows tree of database blocks;
  • Export tree as SVG or PNG image;
  • Shows every node in the block;
  • Open any block just by clicking on node in parent block;
  • Reload block info by clicking at the same node second time;
  • Zoom in and out, fit and navigator;
  • Easy way to switch between view modes (tree/map);
Fragmentation map
  • Shows every block with the same colour for every globals;
  • Legend for globals;

Run with Docker

You need license key for Caché or IRIS on RedHat systems.

Caché
docker run -d --name blocksexplorer --rm \
       -p 57772:57772 \
       -v /opt/some/database/for/test:/opt/blocks/db/test \
       -v ~/cache.key:/usr/cachesys/mgr/cache.key \
       daimor/blocksexplorer:cache

Generate blocks map as image file in out directory

docker run -it --rm \
       -v /opt/some/database/for/test:/opt/blocks/db/test \
       -v `pwd`/out:/opt/blocks/out \
       daimor/blocksexplorer:cache generate
IRIS
docker run -d --name blocksexplorer --rm \
       -p 52773:52773 \
       -v /opt/some/database/for/test:/opt/blocks/db/test \
       daimor/blocksexplorer:iris

Generate blocks map as image file in out directory

docker run -it --rm \
       -v /opt/some/database/for/test:/opt/blocks/db/test \
       -v `pwd`/out:/opt/blocks/out \
       daimor/blocksexplorer:iris generate

Development mode

Run with docker-compose, will start web part with hot reloading.

docker-compose up -d --build

It will start server base on IRIS To start on Caché use this command

MODE=cache docker-compose up -d --build

By default running on 80 port. To start using it, just open http://localhost/

Screenshots

Tree Map

CLI mode

Using prebuild docker image gives a way to generate a picture for any IRIS or Caché database. Use docker image daimor/blocksexplorer:iris for IRIS or daimor/blocksexplorer:cache for Caché Databases. Those images accepts command generate with arguments

  • path to the tested databases inside a container, by default /db, can be omited
  • cellSize - size of the cell in pixels, where each cell represents particular database's block, by default 1
  • cellSpace - sorrounding space between cell, by default 0
  • showFill - sign to show how much block fill by data, by default 0

This tool generates a square picture in folder /out inside a container in formats BMP and PNG.

So, with command like this

docker run -v `pwd`/out:/out daimor/blocksexplorer:iris generate 20 1 1

It will generate this picture for an empty database.

TESTDB With a lighter color visible that most of the blocks just empty.

The same test empty database, but with showFill=0

docker run -v `pwd`/out:/out daimor/blocksexplorer:iris generate 20 1 0

Blocks have different colors but just for globals, and does not show how much it fill.

TESTDB

More examples
ENSLIB

docker run -v `pwd`/out:/out daimor/blocksexplorer:iris generate /usr/irissys/mgr/enslib 5 1

ENSLIB

IRISSYS

docker run -v `pwd`/out:/out daimor/blocksexplorer:iris generate /usr/irissys/mgr/ 5 1 1

IRISSYS

For large databases, would not recommend to use have too big cellSize.

Useful Links

There you can find more about database internals, and how to use this tool.

About

Database Blocks Explorer for InterSystems Caché

License:MIT License


Languages

Language:JavaScript 46.9%Language:ObjectScript 38.0%Language:SCSS 9.0%Language:Dockerfile 2.1%Language:Shell 1.8%Language:HTML 1.7%Language:Makefile 0.4%