NOTE: The documentation (HTML, PDF and slides) is produced with a doc-as-code approach. Only my IDE and GIT have been used. No office automation tools were harmed in the making of this project 😉.
Here you can find project documentation index published through GitHub pages.
Introduction slides are available thanks to Slidev :
While AsciiDoc full documentation is here :
Requirement :
- maven 3.9.x
- java 21+ (GraalVM for native version)
NOTE: All benchmarks has been run on Oracle GraalVM 23.
- Verify the app
mvn verify
- Start the app
mvn quarkus:dev
- Try the app
Open the swagger-ui
Test available paths (for instance : /doc/example.md)
If you picked only native modules, you should be able to build and run the AOT version (GraalVM 21+ needed).
Further documentation :
- Build and verify
mvn package -Dnative
- Start
./target/graalkus-*-runner
Requirement :
- Container environment (Docker or Podman)
Note: It is recommended to install the latest versions of Docker Desktop or Podman Desktop.
Pick a docker compose file (inside the src/main/docker) and run by using docker compose or podman compose. Se example below:
# If you have a docker environment
# This syntax of docker compose is available from then Docker Desktop 3.4
docker compose -f src/main/docker/docker-compose.yml up -d
# If you have a podman environment
# This syntax of podman compose is available from the Podman 4.0
podman compose -f src/main/docker/docker-compose.yml up -d
NOTE: both amd64 and arm64 (including macOS) pre-built images are available.
Requirement :
- siege
- psrecord (optional for plotting)
Start the application and run :
./src/main/script/bench-graph-siege.sh
The result output file is in the target
directory.
Requirement :
- h2load
- psrecord (optional for plotting)
Start the application and run :
./src/main/script/bench-graph-h2-load.sh
The result output file is in the target
directory.
Default for benchmark is to run on http://localhost:8080.
To run on a different url use the -u parameter, for instance :
./src/main/script/bench-graph-h2-load.sh -u http://localhost:8081
The result output file is in the target
directory.
To run benchmark with plotting, psrecord should be installed.
Build the application without launching it, and run :
mvn install -Dnative
./src/main/script/bench-graph-h2-load.sh -m AOT
or
mvn package
./src/main/script/bench-graph-h2-load.sh -m JIT
The result output file is in the target
directory.
Requirement :
- NodeJS 20+
- Mermaid CLI
AsciiDoc source folder is located at :
It is possible to build HTML and PDF documentation running :
mvn install -Pdocs
Output will be in target/site
directory.
Slidev source folder is located at :
To run the slideshow in dev mode just :
cd src/main/docs/slidev/graalkus
npm install
npm run dev
For a production build :
mvn clean install -Pslidev
serve src/main/docs/slidev/graalkus