GraalVM ships with the Graal Polyglot SDK, an abstraction layer for guest programming languages. This SDK features a rich set of language-agnostic instrumentation capabilities and allows building a language-agnostic set of tools like debuggers, profilers, or performance monitoring software that works for all languages out of the box. These instrumentation capabilities are first-class citizens in the GraalVM, which makes the API powerful and guarantees a close-to-zero run-time overhead.
We are the main APM vendor partnering with the Oracle team developing Graal to refine the monitoring capabilities of the Graal VM. This allows us to provide the well-known surplus value of monitoring at very low overhead costs. We have already experimented with the monitoring capabilities of the GraalVM and are looking forward to be able to ship a single Java-based agent that can monitor a variety of languages at once. It also enables us to easily instrument C/C++ languages at run-time. Compared to other monitoring interfaces, instrumenting code running in the GraalVM is a lot easier and much more potent.