All Projects → mweirauch → micrometer-jvm-extras

mweirauch / micrometer-jvm-extras

Licence: Apache-2.0 license
A set of additional JVM process metrics for micrometer.io.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to micrometer-jvm-extras

kdl4j
KDL Parser for the JVM
Stars: ✭ 16 (-85.84%)
Mutual labels:  jvm
wasm.cljc
Spec compliant WebAssembly compiler, decompiler, and generator
Stars: ✭ 178 (+57.52%)
Mutual labels:  jvm
hsdis-macos
macOS Build artifacts for hsdis HotSpot Plugin
Stars: ✭ 22 (-80.53%)
Mutual labels:  jvm
rxjava2-http
Transmit RxJava2 Flowable over http with non-blocking backpressure
Stars: ✭ 19 (-83.19%)
Mutual labels:  jvm
arquillian-graphene
Robust Functional Tests leveraging WebDriver with flavour of neat AJAX-ready API
Stars: ✭ 91 (-19.47%)
Mutual labels:  jvm
tools jvm autodeps
Automatic Dependency Management Tools for JVM Languages
Stars: ✭ 48 (-57.52%)
Mutual labels:  jvm
darkseer
Experimental JVM profiler for analyzing real-world memory allocations
Stars: ✭ 13 (-88.5%)
Mutual labels:  jvm
JavaInterview
JVM、JUC(高并发)、集合、计算机网络、数据库、MySql、Redis、、工作流(Activiti)、规则引擎(Drools)、Spring、SpringCloud、Mybatis、Git、Docker、Utils、Linux
Stars: ✭ 179 (+58.41%)
Mutual labels:  jvm
jellyfin-sdk-kotlin
Kotlin SDK for Jellyfin, supporting Android and JVM Targets
Stars: ✭ 43 (-61.95%)
Mutual labels:  jvm
Hephaistos
NBT & Anvil save format library
Stars: ✭ 22 (-80.53%)
Mutual labels:  jvm
JVMByPython
《自己动手写Java虚拟机》JVM的python实现
Stars: ✭ 110 (-2.65%)
Mutual labels:  jvm
linux.gpio.clj
Use the standard Linux GPIO API from Clojure JVM
Stars: ✭ 24 (-78.76%)
Mutual labels:  jvm
Lastik
Kotlin Multiplatform + Jetpack Compose pet project, based on www.last.fm/api (in development)
Stars: ✭ 37 (-67.26%)
Mutual labels:  jvm
review-notes
团队分享学习、复盘笔记资料共享。Java、Scala、Flink...
Stars: ✭ 27 (-76.11%)
Mutual labels:  jvm
tribble
Coverage based JVM Fuzz testing tool.
Stars: ✭ 16 (-85.84%)
Mutual labels:  jvm
play-scala-streaming-example
Example Play application showing Comet and Server Sent Events in Scala
Stars: ✭ 42 (-62.83%)
Mutual labels:  jvm
LGP
A robust Linear Genetic Programming implementation on the JVM using Kotlin.
Stars: ✭ 14 (-87.61%)
Mutual labels:  jvm
graalvm
A Cloud Native Buildpack that provides the GraalVM implementations of JREs and JDKs
Stars: ✭ 21 (-81.42%)
Mutual labels:  jvm
JavaResolver
Java class file inspection library for .NET.
Stars: ✭ 39 (-65.49%)
Mutual labels:  jvm
sherlock-distributed-lock
Distributed locking library for JVM
Stars: ✭ 17 (-84.96%)
Mutual labels:  jvm

micrometer-jvm-extras

A set of additional JVM process metrics for micrometer.io.

Apache License 2 Build status Quality Gate Status Coverage Maven Central

Motivation

  • get "real" memory usage of the JVM beyond its managed parts
  • get ahold of that info from within the JVM in environments where you can't instrument from the outside (e.g. PaaS)

Usage

<dependency>
    <groupId>io.github.mweirauch</groupId>
    <artifactId>micrometer-jvm-extras</artifactId>
    <version>x.y.z</version>
</dependency>
    /* Plain Java */
    final MeterRegistry registry = new SimpleMeterRegistry();
    new ProcessMemoryMetrics().bindTo(registry);
    new ProcessThreadMetrics().bindTo(registry);
    /* With Spring */
    @Bean
    public MeterBinder processMemoryMetrics() {
        return new ProcessMemoryMetrics();
    }

    @Bean
    public MeterBinder processThreadMetrics() {
        return new ProcessThreadMetrics();
    }

Available Metrics

ProcessMemoryMetrics

ProcessMemoryMetrics reads process-level memory information from /proc/self/status. All Meters are reporting in bytes.

Please note that procfs is only available on Linux-based systems.

  • process.memory.vss: Virtual set size. The amount of virtual memory the process can access. Mostly irrelevant, but included for completeness sake.
  • process.memory.rss: Resident set size. The amount of process memory currently in RAM.
  • process.memory.swap: The amount of process memory paged out to swap.

ProcessThreadMetrics

ProcessThreadMetrics reads process-level thread information from /proc/self/status.

Please note that procfs is only available on Linux-based systems.

  • process.threads: The number of process threads as seen by the operating system.

Notes

  • procfs data is cached for 1000ms in order to relief the filesystem pressure when Meters based on this data are queried by the registry one after another on collection run.
  • Snapshot builds are pushed to Sonatype Nexus Snapshot Repository on successful main builds.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].