https://github.com/serkan-ozal/sarras
Reflection Configuration File Generator for Graal Substrate VM by Static and Dynamic Profiling of Java Applications
https://github.com/serkan-ozal/sarras
Last synced: 2 months ago
JSON representation
Reflection Configuration File Generator for Graal Substrate VM by Static and Dynamic Profiling of Java Applications
- Host: GitHub
- URL: https://github.com/serkan-ozal/sarras
- Owner: serkan-ozal
- License: mit
- Created: 2018-06-29T19:31:33.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-07-08T12:48:28.000Z (almost 7 years ago)
- Last Synced: 2025-02-12T12:22:13.709Z (4 months ago)
- Homepage:
- Size: 4.88 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sarras
**Note:** IN PROGRESS ... NOT IMPLEMENTED YET, STAY TUNED!!!
## What is Sarras?
**Sarras** is [Reflection Configuration File](https://github.com/oracle/graal/blob/master/substratevm/REFLECTION.md) Generator tool for **Graal Substrate VM** by Static and Dynamic Profiling of Java Applicatons.
See the technical discussion about the approach: https://github.com/oracle/graal/issues/476
### Static Profiling
Parses bytecode of all classes in the given jar, introspectes reflective calls (class/method/field accesses through reflection, etc ...) and adds their configurations to the generated reflection configuration file.
### Dynamic Profiling
Attaches to a regular Java application (not from native image) as Java agent and intercepts reflection calls (also includes `Class.forName(...)` and `ClassLoader.loadClass(...)` calls). So it can collect information at runtime about which classes/methods/fields are accessed/referenced through reflection and adds their configurations to the generated reflection configuration file.
## Where the Name `Sarras` Come From?
> Sarras is a mystical island to which the Holy Grail is brought in the Arthurian legend.See [Wikipedia](https://en.wikipedia.org/wiki/Sarras) for more details.