batiscaph
Batiscaph is a research device that submerges into ocean and explores unknown space. That's what this tool does -- submerges into Erlang node and observes how programs work in it.
UI ideas for this project could be found here: https://www.figma.com/file/Jz6rhLiGoFbRZOZnoeTBHIvj/Chertezh
Unfortunately I don't have much time to work on this project as I wish I had, because I'm fulltime employee. I wish I could turn this tool into something very convenient for everyday work. If you want to help me make it happen please support me at Patreon: https://www.patreon.com/VladimirVG
How to visualize Common Test runs locally
It worked with my Erlang 20, Clickhouse 1.1.54318, Neo4j 3.0.5 and Node.js v6.11.3. Haven't tested on other versions, but likely gonna work just fine.
- install Clickhouse, Neo4j and stable Nodejs(required for frontend build)
- create empty database in Clickhouse.
- specify env variables in Makefile according to your configuration (CLICKHOUSE_DB, CLICKHOUSE_URL, NEO4J_HTTP_URL, HTTP_PORT)
- run
npm install .
, This will install React required for frontend - run
./rebar3 get-deps
,./rebar3 compile
and finallymake shell
. - after getting into erlang shell you need to setup databases.
Run:
batiscaph:create_tables().
,batiscaph:prepare_graph_schema().
- after that you should be able to access http://localhost:HTTP_PORT with port you previously specified
- run
./rebar3 path --app batiscaph
and copy path to beam files of Batiscaph, gonna need that later - go to directory of a project you want to run tests on
- make sure that Common Test run command takes path to batiscaph beam files.
specify it with
-pa
, likect_run ... -pa path/to/batiscaph/ebin ...
- add two lines into
*_SUITE
files that you want to be visualized:Specifying parse_transform through ct_run args may not work, it doesn't guarantee that this transform gonna run last, and may conflict with others (like ms_transform).-batiscaph_steps(all). -compile({parse_transform, batiscaph_suite_transform}).
- finally run your ct_run, but also specify
BATISCAPH_NODE=batiscaph@(hostname)
env variable - after run you would see your test run displayed on http://localhost:HTTP_PORT
Old shell demo
If you want to locally setup demo that was described in my blog, please check out demo-07-2017 git tag.