From 6211b887b68b3ebc9245fada1c0f36725955b052 Mon Sep 17 00:00:00 2001 From: vincent van beek Date: Wed, 19 Mar 2025 15:34:38 +0100 Subject: add how to for using intellij (#305) --- site/docs/getting-started/3-whats-next.md | 1 + .../docs/getting-started/4-start-using-intellij.md | 172 +++++++++++++++++++++ .../getting-started/img/Intellij_experimentcli.png | Bin 0 -> 155669 bytes .../img/experiment_file_structure.png | Bin 0 -> 18601 bytes .../img/intellij_edit_the_run_config.png | Bin 0 -> 100556 bytes .../img/intellij_edit_the_run_config.psd | Bin 0 -> 501826 bytes .../getting-started/img/intellij_gradle_panel.png | Bin 0 -> 21292 bytes .../getting-started/img/intellij_gradle_panel.psd | Bin 0 -> 165358 bytes .../img/intellij_libs_versions_toml.png | Bin 0 -> 67876 bytes .../img/intellij_libs_versions_toml.psd | Bin 0 -> 258893 bytes .../getting-started/img/intellij_open_project.png | Bin 0 -> 41127 bytes .../img/intellij_open_run_config.png | Bin 0 -> 37849 bytes .../docs/getting-started/img/intellij_settings.png | Bin 0 -> 316241 bytes .../docs/getting-started/img/intellij_settings.psd | Bin 0 -> 1357431 bytes 14 files changed, 173 insertions(+) create mode 100644 site/docs/getting-started/4-start-using-intellij.md create mode 100644 site/docs/getting-started/img/Intellij_experimentcli.png create mode 100644 site/docs/getting-started/img/experiment_file_structure.png create mode 100644 site/docs/getting-started/img/intellij_edit_the_run_config.png create mode 100644 site/docs/getting-started/img/intellij_edit_the_run_config.psd create mode 100644 site/docs/getting-started/img/intellij_gradle_panel.png create mode 100644 site/docs/getting-started/img/intellij_gradle_panel.psd create mode 100644 site/docs/getting-started/img/intellij_libs_versions_toml.png create mode 100644 site/docs/getting-started/img/intellij_libs_versions_toml.psd create mode 100644 site/docs/getting-started/img/intellij_open_project.png create mode 100644 site/docs/getting-started/img/intellij_open_run_config.png create mode 100644 site/docs/getting-started/img/intellij_settings.png create mode 100644 site/docs/getting-started/img/intellij_settings.psd diff --git a/site/docs/getting-started/3-whats-next.md b/site/docs/getting-started/3-whats-next.md index e613eba7..03737629 100644 --- a/site/docs/getting-started/3-whats-next.md +++ b/site/docs/getting-started/3-whats-next.md @@ -9,3 +9,4 @@ Congratulations! You have just learned how to design and experiment with a (virt - Follow one of the [tutorials](/docs/category/tutorials) using OpenDC. - Read about [existing work using OpenDC](/community/research). - Get involved in the [OpenDC Community](/community/support). +- If you are interested in contributing to OpenDC you can find a How-To here [4-start-using-intellij](4-start-using-intellij.md), please also read https://github.com/atlarge-research/opendc/blob/master/CONTRIBUTING.md. diff --git a/site/docs/getting-started/4-start-using-intellij.md b/site/docs/getting-started/4-start-using-intellij.md new file mode 100644 index 00000000..eb821088 --- /dev/null +++ b/site/docs/getting-started/4-start-using-intellij.md @@ -0,0 +1,172 @@ + + +# In this How-To we explain how you setup IntelliJ IDEA + +First of all you can download IntelliJ here: https://lp.jetbrains.com/intellij-idea-promo/ + +# Basic steps + +``` +git clone git@github.com:atlarge-research/opendc +``` + +Check if you have a compatible java version available. Make sure to have one of these versions available: [19, 20, 21] + +If not install a supported version! + +On a MAC + +``` +/usr/libexec/java_home -V +``` + +On Debian + +``` +update-alternatives --list java +``` + +On Redhat/Centos + +``` +yum list installed | grep java +``` + + +Open the project in IntelliJ + +![Intellij Open Project](img/intellij_open_project.png) + +Now fix the settings so that you use the correct java version. (In the example the java version is set to "21") +Navigation path in the settings pannel: "Build, Execution, Deployment" -> "Build Tools" -> "Gradle" + +![Intellij Settings](img/intellij_settings.png) + +Now navigate in the file menu to and open the file: "gradle"/"libs.versions.toml" + +Make sure the java version is set to the same version as previously cofigured in the settings. + +![Intellij Libs Versions Toml](img/intellij_libs_versions_toml.png) + + +Now open the Gradle panel on the right-hand side of the editor (1) and hit the refresh button at the top of the panel (2). + +![Intellij Gradle Panel](img/intellij_gradle_panel.png) + + +# Setup your first experiment and run it from source + + +Create a directory where you are going to put the files for your first experiment. + +File structure: + +![Experiment File Structure](img/experiment_file_structure.png) + +You can download the example workload trace (bitbrains-small-9d2e576e6684ddc57c767a6161e66963.zip) [here](https://atlarge-research.github.io/opendc/assets/files/bitbrains-small-9d2e576e6684ddc57c767a6161e66963.zip) + +Now unzip the trace. + +The content of "topology.json" + +``` +{ + "clusters": + [ + { + "name": "C01", + "hosts" : + [ + { + "name": "H01", + "cpu": + { + "coreCount": 32, + "coreSpeed": 3200 + }, + "memory": { + "memorySize": 256000 + } + } + ] + }, + { + "name": "C02", + "hosts" : + [ + { + "name": "H02", + "count": 6, + "cpu": + { + "coreCount": 8, + "coreSpeed": 2930 + }, + "memory": { + "memorySize": 64000 + } + } + ] + }, + { + "name": "C03", + "hosts" : + [ + { + "name": "H03", + "count": 2, + "cpu": + { + "coreCount": 16, + "coreSpeed": 3200 + }, + "memory": { + "memorySize": 128000 + } + } + ] + } + ] +} +``` + +The content of "experiment.json" + +The paths in the "experiment.json" file are relative to the "working directory" which is configured next. + + +``` +{ + "name": "simple", + "topologies": [{ + "pathToFile": "topology.json" + }], + "workloads": [{ + "pathToFile": "bitbrains-small", + "type": "ComputeWorkload" + }] +} +``` + +In the project file structure on the left open the following file: + +"opendc-experiments"/"opendc-experiments-base"/"src"/"main"/"kotlin"/"org.opendc.experiment.base"/"runner"/"ExperimentCLi.kt" + +![Intellij Experimentcli](img/Intellij_experimentcli.png) + +Now open the "Run/Debug" configuration (top right). + +![Intellij Open Run Config](img/intellij_open_run_config.png) + +We need to edit two settings: + +"Program arguments": --experiment-path experiment.json + +"Working Directory": a path where you have put the experiment files + +![Intellij Edit The Run Config](img/intellij_edit_the_run_config.png) + +Now you can click "Run" and start your first experiment. + +In the working directory a "output" direcotry is created with the results of the experiment. + diff --git a/site/docs/getting-started/img/Intellij_experimentcli.png b/site/docs/getting-started/img/Intellij_experimentcli.png new file mode 100644 index 00000000..fceed499 Binary files /dev/null and b/site/docs/getting-started/img/Intellij_experimentcli.png differ diff --git a/site/docs/getting-started/img/experiment_file_structure.png b/site/docs/getting-started/img/experiment_file_structure.png new file mode 100644 index 00000000..8b0b8f3a Binary files /dev/null and b/site/docs/getting-started/img/experiment_file_structure.png differ diff --git a/site/docs/getting-started/img/intellij_edit_the_run_config.png b/site/docs/getting-started/img/intellij_edit_the_run_config.png new file mode 100644 index 00000000..fae35b5c Binary files /dev/null and b/site/docs/getting-started/img/intellij_edit_the_run_config.png differ diff --git a/site/docs/getting-started/img/intellij_edit_the_run_config.psd b/site/docs/getting-started/img/intellij_edit_the_run_config.psd new file mode 100644 index 00000000..b178fdb2 Binary files /dev/null and b/site/docs/getting-started/img/intellij_edit_the_run_config.psd differ diff --git a/site/docs/getting-started/img/intellij_gradle_panel.png b/site/docs/getting-started/img/intellij_gradle_panel.png new file mode 100644 index 00000000..c3c98e10 Binary files /dev/null and b/site/docs/getting-started/img/intellij_gradle_panel.png differ diff --git a/site/docs/getting-started/img/intellij_gradle_panel.psd b/site/docs/getting-started/img/intellij_gradle_panel.psd new file mode 100644 index 00000000..a52f0c9d Binary files /dev/null and b/site/docs/getting-started/img/intellij_gradle_panel.psd differ diff --git a/site/docs/getting-started/img/intellij_libs_versions_toml.png b/site/docs/getting-started/img/intellij_libs_versions_toml.png new file mode 100644 index 00000000..a27f7cc0 Binary files /dev/null and b/site/docs/getting-started/img/intellij_libs_versions_toml.png differ diff --git a/site/docs/getting-started/img/intellij_libs_versions_toml.psd b/site/docs/getting-started/img/intellij_libs_versions_toml.psd new file mode 100644 index 00000000..ae27af25 Binary files /dev/null and b/site/docs/getting-started/img/intellij_libs_versions_toml.psd differ diff --git a/site/docs/getting-started/img/intellij_open_project.png b/site/docs/getting-started/img/intellij_open_project.png new file mode 100644 index 00000000..c04f5368 Binary files /dev/null and b/site/docs/getting-started/img/intellij_open_project.png differ diff --git a/site/docs/getting-started/img/intellij_open_run_config.png b/site/docs/getting-started/img/intellij_open_run_config.png new file mode 100644 index 00000000..a9c4436f Binary files /dev/null and b/site/docs/getting-started/img/intellij_open_run_config.png differ diff --git a/site/docs/getting-started/img/intellij_settings.png b/site/docs/getting-started/img/intellij_settings.png new file mode 100644 index 00000000..6bbda7e7 Binary files /dev/null and b/site/docs/getting-started/img/intellij_settings.png differ diff --git a/site/docs/getting-started/img/intellij_settings.psd b/site/docs/getting-started/img/intellij_settings.psd new file mode 100644 index 00000000..f9affd86 Binary files /dev/null and b/site/docs/getting-started/img/intellij_settings.psd differ -- cgit v1.2.3