Execution events can be captured by API clients with overhead that is extremely low in fully optimized code. The core GraalVM installation provides a language-agnostic debugger, profiler, heap viewer, and others based on instrumentation and other VM support. GraalVM also includes a backend implementation of the Chrome Inspector remote debugging protocol. Although designed originally for JavaScript debugging, it can be used to debug all GraalVM languages from a browser. GraalVM is written in and for the Java ecosystem. It can execute applications written in all languages that compile to the Java bytecode format, e.g. Java, Scala, Kotlin, and more. Based on Truffle Language Implementation framework additional languages can be supported in GraalVM. Support for additional languages can be implemented by users of GraalVM.