You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This will open a window where you apply some settings for the recording. First select that you want this to be a __Continuous recording__ and for Event settings, we will import a template to get some consistent settings for profiling. Within the __Template Manager__, select __Import Files...__ and import the `open_jdk_9_.jfc`included in the [content/docs/jmc](https://github.com/cchesser/java-perf-workshop/tree/main/docs/content/docs/jmc) folder. It should appear as _Java Performance Workshop JDK9+ Profile_. Select this as the __Event Settings__ and then click on __Finish__.
51
+
This will open a window where you apply some settings for the recording. First select that you want this to be a __Continuous recording__ and for Event settings, we will import a template to get some consistent settings for profiling. Within the __Template Manager__, select __Import Files...__ and import the `open_jdk_9_.jfc`by [downloading it here](jfc/open_jdk_9+.jfc) folder. It should appear as _Java Performance Workshop JDK9+ Profile_. Select this as the __Event Settings__ and then click on __Finish__.
49
52
50
53
For reference, these are the options for the template.
💡 You can see the JFR templates (continuous / profile) which are shipped as part of the JRE in: `$JAVA_HOME/jre/lib/jfr`. These become helpful if you are wanting to compare your settings to some of the standard ones.
@@ -46,9 +46,11 @@ <h1 class="r-fit-text">Open Up your JVM with Open Source Tooling</h1>
46
46
## Why
47
47
## 🤔
48
48
49
-
Understanding what is occurring in your JVM is _critical_. <br/>
49
+
<divclass="r-fit-text">It's <em>critical</em> to understand what is occurring in your JVM.</div>
50
+
51
+
___
50
52
51
-
With knowledge on what tools are readily available without modifying your application, you can quickly understand effective options to diagnose your system.
53
+
<small>With knowledge on what tools are readily available without modifying your application, you can quickly understand effective options to diagnose your system.</small>
52
54
---
53
55
## History
54
56
## 🙋♂️
@@ -57,30 +59,64 @@ <h1 class="r-fit-text">Open Up your JVM with Open Source Tooling</h1>
Workshop focused on utilizing these tools with a poorly implemented service.
65
+
Workshop focused on using open and available tooling on a poorly performing Java service.
64
66
</div>
65
67
</section>
66
68
<sectiondata-markdown>
67
69
<textareadata-template>
68
70
## 🧭
69
71
## Our Adventure
70
72
71
-
We are going to explore three tools with rich history in Java for diagnosing different aspects of performance.
73
+
We are going to explore some tools with rich history in Java for diagnosing different aspects of performance.
72
74
73
75
* JDK Mission Control
74
76
* Eclipse Memory Analyzer
75
77
* VisualVM
76
78
* Demo in jvmperf.net workshop
79
+
* OpenTelemetry
77
80
---
78
81
## 🧰
79
82
## Open Source Tooling
80
83
81
84
These tools are not new.<br/>
82
85
83
-
If you are familar with these tools, we will also be sharing their updates over the years, so hopefully you can learn some new tricks on how they can used.
86
+
If you are familar with these tools, we will also be sharing their updates over the years.
87
+
88
+
<small>Hopefully you can learn some new tricks on how they can used.</small>
89
+
</textarea>
90
+
</section>
91
+
92
+
<!-- JDK Mission Control -->
93
+
<sectiondata-markdown>
94
+
<textareadata-template>
95
+
## JDK Mission Control
96
+
## 🚀
97
+
* Started out as JRockit Mission Control
98
+
* Open-sourced in 2018 as part of OpenJDK
99
+
* Continues to get updates / releases (latest: 9.1 - Feb 2025)
Download at [eclipse.dev/mat/download](https://eclipse.dev/mat/download/).
138
+
Download at [eclipse.dev/mat/download](https://eclipse.dev/mat/download/).<br/>
139
+
⭐️ [New and Noteworthy Updates](https://eclipse.dev/mat/1.16.0/noteworthy.html)
140
+
</textarea>
141
+
</section>
142
+
143
+
<!-- VisualVM -->
144
+
<sectiondata-markdown>
145
+
<textareadata-template>
146
+
## VisualVM
147
+
## <imgsrc="img/visualvm.png" width="150" />
148
+
* Started out as part of Java 6
149
+
* Built on the NetBeans Platform, now with [VS Code Extension 🤩](https://marketplace.visualstudio.com/items?itemName=oracle-labs-graalvm.visualvm-vscode)
150
+
* Continues to get updates / releases (latest: 2.2 - Apr 2025)
151
+
152
+
<small>📄 License: GNU General Public License (GPLv2)</small>
103
153
</textarea>
104
154
</section>
155
+
<sectiondata-markdown>
156
+
<textareadata-template>
157
+
## VisualVM Updates
158
+
## <imgsrc="img/visualvm.png" width="150" />
159
+
* Can be utilized with other languages through GraalVM (Ruby, Javascript, Python, R)
160
+
* Can load heap dumps, JDK Flight Recordings, and coredumps
0 commit comments