<h2 id="jvm-micrometer">JVM (Micrometer)</h2>
<p>A dashboard for <a href="https://micrometer.io" target="_blank" rel="noopener noreferrer">Micrometer</a> instrumented applications (Java, Spring Boot, Micronaut).</p>
<h2 id="features">Features</h2>
<ul>
<li>JVM memory</li>
<li>Process memory (provided by <a href="https://github.com/mweirauch/micrometer-jvm-extras" target="_blank" rel="noopener noreferrer">micrometer-jvm-extras</a>)</li>
<li>CPU-Usage, Load, Threads, Thread States, File Descriptors, Log Events</li>
<li>JVM Memory Pools (Heap, Non-Heap)</li>
<li>Garbage Collection/Pressure</li>
<li>Classloading</li>
<li>Direct-/Mapped-Buffer</li>
<li>minimalist I/O Overview
<ul>
<li>HTTP - Rate, Errors, Duration</li>
<li>TOMCAT/JETTY - Utilisation</li>
</ul>
</li>
</ul>
<h2 id="note">Note</h2>
<p>Instead of using the <code>job</code> tag to distinct different applications, this dashboard makes use of a <a href="https://micrometer.io/docs/concepts#_common_tags" target="_blank" rel="noopener noreferrer">common tag</a> called <code>application</code> applied to every metric.</p>
<p>In a Spring Boot setting, this could look like this:</p>
<div class="code-snippet "><div class="lang-toolbar">
<span class="lang-toolbar__item lang-toolbar__item-active">java</span>
<span class="code-clipboard">
<button x-data="app_code_snippet()" x-init="init()" @click="copy()">
<img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
<span>Copy</span>
</button>
</span>
<div class="lang-toolbar__border"></div>
</div><div class="code-snippet ">
<pre data-expanded="false"><code class="language-java">@Bean
MeterRegistryCustomizer<MeterRegistry> configurer(
@Value("${spring.application.name}") String applicationName) {
return (registry) -> registry.config().commonTags("application", applicationName);
}</code></pre>
</div>
</div>
<p>Or since Spring Boot <code>2.1</code> / Micrometer <code>1.1.0</code> with a property:</p>
<div class="code-snippet "><div class="lang-toolbar">
<span class="lang-toolbar__item lang-toolbar__item-active">properties</span>
<span class="code-clipboard">
<button x-data="app_code_snippet()" x-init="init()" @click="copy()">
<img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
<span>Copy</span>
</button>
</span>
<div class="lang-toolbar__border"></div>
</div><div class="code-snippet ">
<pre data-expanded="false"><code class="language-properties">management.metrics.tags.application=${spring.application.name}</code></pre>
</div>
</div>
<h2 id="compatibility">Compatibility</h2>
<ul>
<li>micrometer:1.1.0+</li>
<li>micrometer-jvm-extras:0.1.2+</li>
</ul>
<h2 id="changelog">Changelog</h2>
<ul>
<li>2023-05-04 (Revision 10)
<ul>
<li>added GC Pressure panel in JVM Misc section</li>
<li>changed process average CPU usage query from 1h to 15m</li>
<li>reworked Buffer Pool panels
<ul>
<li>combined buffer usage and buffer count into one panel</li>
<li>fixed buffer detection (where hardcoded to “direct” and “mapped” before)</li>
</ul>
</li>
<li>removed JVM Memory Pool selection dropdown</li>
</ul>
</li>
<li>2019-11-03 (Revision 9)
<ul>
<li>adjusted “JVM Process Memory” panel to <a href="https://github.com/mweirauch/micrometer-jvm-extras/releases/tag/0.2.0" target="_blank" rel="noopener noreferrer">micrometer-jvm-extras:0.2.0</a> (removed ‘pss’ and ‘swappss’)</li>
<li>dropped micrometer:1.0.x query fallbacks from PromQL</li>
<li>minor polish</li>
</ul>
</li>
<li>2019-04-15 (Revision 8)
<ul>
<li>fixed PromQL query for Java11 non-heap areas</li>
<li>GC allocation/promotion unit changed to bytes/s (from byte)</li>
<li>moved process memory metrics to dedicated panel</li>
</ul>
</li>
<li>2018-11-14 (Revision 7)
<ul>
<li>updated some metric queries (with fallbacks) due to meter name changes from Micrometer <code>1.0.x</code> to <code>1.1.x</code></li>
<li>added Thread States panel</li>
</ul>
</li>
</ul>
<h2 id="contact">Contact</h2>
<p>For suggestions or bug reports, please go to the <a href="https://github.com/mweirauch/grafana-dashboards" target="_blank" rel="noopener noreferrer">GitHub Project</a>.</p>
Data source config
Collector type:
Collector config: