Skip to content

hivemq/jvm-metrics-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HiveMQ JVM Metrics Plugin

The HiveMQ JVM Metric Plugin adds several additional metrics about the Java Virtual Machine to HiveMQ’s internal metric registry. This allows for a deeper insight on what is happening inside the Java Virtual Machine and provides interesting information on memory usage and other runtime metrics provided by the JVM running HiveMQ.

These metrics include information about:

  • Memory usage

  • Threads

  • Class Loaders

  • Garbage Collection

  • Open Files

  • Buffer Pool

These metrics can be accessed by using the JMX-Plugin or the Graphite Plugin.

Or you can use these metrics in your own HiveMQ plugin

Installation

  1. Download the sources of a plugin and build it

  2. Unzip the contents of your download

  3. Copy the jar file to the plugins folder inside your HiveMQ folder.

Read more about installing and configuring plugins in the HiveMQ Plugin Documentation.

List of Metrics

The following metrics are added to HiveMQ when this plugin is installed.

BufferPool

Table 1. BufferPool metrics
Name  Description

com.hivemq.jvm.buffer-pool.direct.capacity

estimate of the total capacity of the buffers in the direct pool

com.hivemq.jvm.buffer-pool.direct.count

estimate of the number of buffers in the direct pool

com.hivemq.jvm.buffer-pool.direct.used

estimate of the memory that the Java virtual machine is using for the direct buffer pool

com.hivemq.jvm.buffer-pool.mapped.capacity

estimate of the total capacity of the buffers in the mapped pool

com.hivemq.jvm.buffer-pool.mapped.count

estimate of the number of buffers in the mapped pool

com.hivemq.jvm.buffer-pool.mapped.used

estimate of the memory that the Java virtual machine is using for the mapped buffer pool

ClassLoader

Table 2. ClassLoader metrics
Name  Description

com.hivemq.jvm.class-loader.loaded

number of classes that are currently loaded in the Java virtual machine

com.hivemq.jvm.class-loader.unloaded

the total number of classes unloaded since the Java virtual machine has started execution

File descriptors

Table 3. File descriptor metrics
Name  Description

com.hivemq.jvm.file-descriptor.ratio

ratio of currently open against max open files for this JVM

Garbage collector

Table 4. Garbage collector metrics
Name  Description

com.hivemq.jvm.garbage-collector.PS-MarkSweep.count

the total number of collections that have occurred

com.hivemq.jvm.garbage-collector.PS-MarkSweep.time

the approximate accumulated collection elapsed time in milliseconds

com.hivemq.jvm.garbage-collector.PS-Scavenge.count

the total number of collections that have occurred

com.hivemq.jvm.garbage-collector.PS-Scavenge.time

the approximate accumulated collection elapsed time in milliseconds

Memory

Table 5. Memory metrics
Name  Description

com.hivemq.jvm.memory.heap.committed

the amount of memory in bytes that is committed for the Java virtual machine to use

com.hivemq.jvm.memory.heap.init

the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management

com.hivemq.jvm.memory.heap.max

the maximum amount of memory in bytes that can be used for memory management

com.hivemq.jvm.memory.heap.usage

ratio used / max

com.hivemq.jvm.memory.heap.used

the amount of used memory in bytes

com.hivemq.jvm.memory.non-heap.committed

the amount of memory in bytes that is committed for the Java virtual machine to use

com.hivemq.jvm.memory.non-heap.init

the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management

com.hivemq.jvm.memory.non-heap.max

the maximum amount of memory in bytes that can be used for memory management

com.hivemq.jvm.memory.non-heap.usage

ratio used / max

com.hivemq.jvm.memory.non-heap.used

the amount of used memory in bytes

com.hivemq.jvm.memory.pools.Code-Cache.committed

the amount of memory in bytes that is committed for the Java virtual machine to use

com.hivemq.jvm.memory.pools.Code-Cache.init

the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management

com.hivemq.jvm.memory.pools.Code-Cache.max

the maximum amount of memory in bytes that can be used for memory management

com.hivemq.jvm.memory.pools.Code-Cache.usage

ratio used / max

com.hivemq.jvm.memory.pools.Code-Cache.used

the amount of used memory in bytes

com.hivemq.jvm.memory.pools.Compressed-Class-Space.committed

the amount of memory in bytes that is committed for the Java virtual machine to use

com.hivemq.jvm.memory.pools.Compressed-Class-Space.init

the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management

com.hivemq.jvm.memory.pools.Compressed-Class-Space.max

the maximum amount of memory in bytes that can be used for memory management

com.hivemq.jvm.memory.pools.Compressed-Class-Space.usage

ratio used / max

com.hivemq.jvm.memory.pools.Compressed-Class-Space.used

the amount of used memory in bytes

com.hivemq.jvm.memory.pools.Metaspace.committed

the amount of memory in bytes that is committed for the Java virtual machine to use

com.hivemq.jvm.memory.pools.Metaspace.init

the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management

com.hivemq.jvm.memory.pools.Metaspace.max

the maximum amount of memory in bytes that can be used for memory management

com.hivemq.jvm.memory.pools.Metaspace.usage

ratio used / max

com.hivemq.jvm.memory.pools.Metaspace.used

the amount of used memory in bytes

com.hivemq.jvm.memory.pools.PS-Eden-Space.committed

the amount of memory in bytes that is committed for the Java virtual machine to use

com.hivemq.jvm.memory.pools.PS-Eden-Space.init

the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management

com.hivemq.jvm.memory.pools.PS-Eden-Space.max

the maximum amount of memory in bytes that can be used for memory management

com.hivemq.jvm.memory.pools.PS-Eden-Space.usage

ratio used / max

com.hivemq.jvm.memory.pools.PS-Eden-Space.used

the amount of used memory in bytes

com.hivemq.jvm.memory.pools.PS-Old-Gen.committed

the amount of memory in bytes that is committed for the Java virtual machine to use

com.hivemq.jvm.memory.pools.PS-Old-Gen.init

the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management

com.hivemq.jvm.memory.pools.PS-Old-Gen.max

the maximum amount of memory in bytes that can be used for memory management

com.hivemq.jvm.memory.pools.PS-Old-Gen.usage

ratio used / max

com.hivemq.jvm.memory.pools.PS-Old-Gen.used

the amount of used memory in bytes

com.hivemq.jvm.memory.pools.PS-Survivor-Space.committed

the amount of memory in bytes that is committed for the Java virtual machine to use

com.hivemq.jvm.memory.pools.PS-Survivor-Space.init

the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management

com.hivemq.jvm.memory.pools.PS-Survivor-Space.max

the maximum amount of memory in bytes that can be used for memory management

com.hivemq.jvm.memory.pools.PS-Survivor-Space.usage

ratio used / max

com.hivemq.jvm.memory.pools.PS-Survivor-Space.used

the amount of used memory in bytes

com.hivemq.jvm.memory.total.committed

the amount of memory in bytes that is committed for the Java virtual machine to use

com.hivemq.jvm.memory.total.init

the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management

com.hivemq.jvm.memory.total.max

the maximum amount of memory in bytes that can be used for memory management

com.hivemq.jvm.memory.total.used

the amount of used memory in bytes

Threads

Table 6. Thread metrics
Name  Description

com.hivemq.jvm.threads.blocked.count

current number of threads in "blocked" state in this JVM (A thread in the blocked state is waiting for a monitor lock to enter a synchronized block/method or reenter a synchronized block/method)

com.hivemq.jvm.threads.count

current number of threads in this JVM

com.hivemq.jvm.threads.daemon.count

current number of live daemon threads in this JVM

com.hivemq.jvm.threads.deadlock.count

current number of deadlocked threads in this JVM

com.hivemq.jvm.threads.deadlocks

collection of information about the currently deadlocked threads

com.hivemq.jvm.threads.new.count

current number of threads in "new" state (has not yet started) in this JVM

com.hivemq.jvm.threads.runnable.count

current number of threads in "runnable" state in this JVM (A thread in the runnable state is executing in the Java virtual machine but it may be waiting for other resources from the operating system such as processor)

com.hivemq.jvm.threads.terminated.count

current number of threads in "terminated" state (The thread has completed execution) in this JVM

com.hivemq.jvm.threads.timed_waiting.count

current number of threads in "timed_waiting" state in this JVM ( thread in the waiting state is waiting for another thread to perform a particular action with a specified positive waiting time/timeout)

com.hivemq.jvm.threads.waiting.count

current number of threads in "waiting" state in this JVM (A thread in the waiting state is waiting for another thread to perform a particular action without a timeout)

Contributing

If you want to contribute to HiveMQ JVM Metrics Plugin, see the contribution guidelines.

License

HiveMQ JVM Metrics Plugin is licensed under the APACHE LICENSE, VERSION 2.0. A copy of the license can be found here.

About

The HiveMQ JVM Metrics Plugin adds several additional metrics based on the Java Virtual Machine to HiveMQ's metrics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages