'. '

Insight

From APIDesign

Revision as of 05:15, 11 July 2020 by JaroslavTulach (Talk | contribs)
Jump to: navigation, search

GraalVM Insight has been introduced in version 19.3 of GraalVM. It is a multipurpose, flexible tool that allows to dynamically apply complex insights gathering hooks on already deployed applications running at full speed. Insight further blurs the difference between various DevOps tasks - code once, apply your insights anytime, anywhere! See Insight.md.

Insight builds on the polyglot nature of GraalVM. One can write Insights in any language - e.g. JavaScript, Ruby, etc. and apply them to any other language including also C, C++, Fortran, etc.

The capabilities of Insight are improved with every GraalVM release. Version 20.0 for example improved embedding of Insight into custom applications. Version 20.1 added access to local variables of C and other Sulong based programs. Version 20.2 allows to modify local variables and write insight scripts in Python.

Insight is obviously good fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about agent-like instrumentation for GraalVM.

A promising direction of research is usage of Insight as a harness for post-mortem debugging. Apply watchpoints dynamically, capture the state of execution whenever a program goes though them and replay the recorded stream in advanced tools like Chrome dev tools or NetBeans.

Personal tools
buy