Class MemoryPoolsExports
- java.lang.Object
-
- io.prometheus.client.Collector
-
- io.prometheus.client.hotspot.MemoryPoolsExports
-
public class MemoryPoolsExports extends Collector
Exports metrics about JVM memory areas.Example usage:
new MemoryPoolsExports().register();
jvm_memory_bytes_used{area="heap"} 2000000 jvm_memory_bytes_committed{area="nonheap"} 200000 jvm_memory_bytes_max{area="nonheap"} 2000000 jvm_memory_pool_bytes_used{pool="PS Eden Space"} 2000
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.prometheus.client.Collector
Collector.Describable, Collector.MetricFamilySamples, Collector.Type
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
JVM_MEMORY_BYTES_COMMITTED
private static java.lang.String
JVM_MEMORY_BYTES_INIT
private static java.lang.String
JVM_MEMORY_BYTES_MAX
private static java.lang.String
JVM_MEMORY_BYTES_USED
private static java.lang.String
JVM_MEMORY_OBJECTS_PENDING_FINALIZATION
private static java.lang.String
JVM_MEMORY_POOL_BYTES_COMMITTED
private static java.lang.String
JVM_MEMORY_POOL_BYTES_INIT
private static java.lang.String
JVM_MEMORY_POOL_BYTES_MAX
private static java.lang.String
JVM_MEMORY_POOL_BYTES_USED
private static java.lang.String
JVM_MEMORY_POOL_COLLECTION_COMMITTED_BYTES
private static java.lang.String
JVM_MEMORY_POOL_COLLECTION_INIT_BYTES
private static java.lang.String
JVM_MEMORY_POOL_COLLECTION_MAX_BYTES
private static java.lang.String
JVM_MEMORY_POOL_COLLECTION_USED_BYTES
private java.lang.management.MemoryMXBean
memoryBean
private java.util.List<java.lang.management.MemoryPoolMXBean>
poolBeans
-
Fields inherited from class io.prometheus.client.Collector
MILLISECONDS_PER_SECOND, NANOSECONDS_PER_SECOND
-
-
Constructor Summary
Constructors Constructor Description MemoryPoolsExports()
MemoryPoolsExports(java.lang.management.MemoryMXBean memoryBean, java.util.List<java.lang.management.MemoryPoolMXBean> poolBeans)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addMemoryAreaMetrics(java.util.List<Collector.MetricFamilySamples> sampleFamilies, Predicate<java.lang.String> nameFilter)
(package private) void
addMemoryPoolMetrics(java.util.List<Collector.MetricFamilySamples> sampleFamilies, Predicate<java.lang.String> nameFilter)
private void
addPoolMetrics(GaugeMetricFamily used, GaugeMetricFamily committed, GaugeMetricFamily max, GaugeMetricFamily init, java.lang.String poolName, java.lang.management.MemoryUsage poolUsage)
java.util.List<Collector.MetricFamilySamples>
collect()
Return all metrics of this Collector.java.util.List<Collector.MetricFamilySamples>
collect(Predicate<java.lang.String> nameFilter)
LikeCollector.collect()
, but the result should only containMetricFamilySamples
wheresampleNameFilter.test(name)
istrue
for at least one Sample name.-
Methods inherited from class io.prometheus.client.Collector
checkMetricLabelName, checkMetricName, doubleToGoString, register, register, sanitizeMetricName
-
-
-
-
Field Detail
-
JVM_MEMORY_OBJECTS_PENDING_FINALIZATION
private static final java.lang.String JVM_MEMORY_OBJECTS_PENDING_FINALIZATION
- See Also:
- Constant Field Values
-
JVM_MEMORY_BYTES_USED
private static final java.lang.String JVM_MEMORY_BYTES_USED
- See Also:
- Constant Field Values
-
JVM_MEMORY_BYTES_COMMITTED
private static final java.lang.String JVM_MEMORY_BYTES_COMMITTED
- See Also:
- Constant Field Values
-
JVM_MEMORY_BYTES_MAX
private static final java.lang.String JVM_MEMORY_BYTES_MAX
- See Also:
- Constant Field Values
-
JVM_MEMORY_BYTES_INIT
private static final java.lang.String JVM_MEMORY_BYTES_INIT
- See Also:
- Constant Field Values
-
JVM_MEMORY_POOL_BYTES_USED
private static final java.lang.String JVM_MEMORY_POOL_BYTES_USED
- See Also:
- Constant Field Values
-
JVM_MEMORY_POOL_BYTES_COMMITTED
private static final java.lang.String JVM_MEMORY_POOL_BYTES_COMMITTED
- See Also:
- Constant Field Values
-
JVM_MEMORY_POOL_BYTES_MAX
private static final java.lang.String JVM_MEMORY_POOL_BYTES_MAX
- See Also:
- Constant Field Values
-
JVM_MEMORY_POOL_BYTES_INIT
private static final java.lang.String JVM_MEMORY_POOL_BYTES_INIT
- See Also:
- Constant Field Values
-
JVM_MEMORY_POOL_COLLECTION_USED_BYTES
private static final java.lang.String JVM_MEMORY_POOL_COLLECTION_USED_BYTES
- See Also:
- Constant Field Values
-
JVM_MEMORY_POOL_COLLECTION_COMMITTED_BYTES
private static final java.lang.String JVM_MEMORY_POOL_COLLECTION_COMMITTED_BYTES
- See Also:
- Constant Field Values
-
JVM_MEMORY_POOL_COLLECTION_MAX_BYTES
private static final java.lang.String JVM_MEMORY_POOL_COLLECTION_MAX_BYTES
- See Also:
- Constant Field Values
-
JVM_MEMORY_POOL_COLLECTION_INIT_BYTES
private static final java.lang.String JVM_MEMORY_POOL_COLLECTION_INIT_BYTES
- See Also:
- Constant Field Values
-
memoryBean
private final java.lang.management.MemoryMXBean memoryBean
-
poolBeans
private final java.util.List<java.lang.management.MemoryPoolMXBean> poolBeans
-
-
Method Detail
-
addMemoryAreaMetrics
void addMemoryAreaMetrics(java.util.List<Collector.MetricFamilySamples> sampleFamilies, Predicate<java.lang.String> nameFilter)
-
addMemoryPoolMetrics
void addMemoryPoolMetrics(java.util.List<Collector.MetricFamilySamples> sampleFamilies, Predicate<java.lang.String> nameFilter)
-
addPoolMetrics
private void addPoolMetrics(GaugeMetricFamily used, GaugeMetricFamily committed, GaugeMetricFamily max, GaugeMetricFamily init, java.lang.String poolName, java.lang.management.MemoryUsage poolUsage)
-
collect
public java.util.List<Collector.MetricFamilySamples> collect()
Description copied from class:Collector
Return all metrics of this Collector.
-
collect
public java.util.List<Collector.MetricFamilySamples> collect(Predicate<java.lang.String> nameFilter)
Description copied from class:Collector
LikeCollector.collect()
, but the result should only containMetricFamilySamples
wheresampleNameFilter.test(name)
istrue
for at least one Sample name.The default implementation first collects all
MetricFamilySamples
and then discards the ones wheresampleNameFilter.test(name)
returnsfalse
for all names inCollector.MetricFamilySamples.getNames()
. To improve performance, collector implementations should override this method to preventMetricFamilySamples
from being collected if they will be discarded anyways. SeeThreadExports
for an example.Note that the resulting List may contain
MetricFamilySamples
where some Sample names returntrue
forsampleNameFilter.test(name)
but some Sample names returnfalse
. This is ok, because before we produce the output format we will callCollector.MetricFamilySamples.filter(Predicate)
to strip all Samples wheresampleNameFilter.test(name)
returnsfalse
.
-
-