public class CompositeMetricsCollector extends SystemMetricsCollector<CompositeMetrics>
For example, CompositeMetricsCollector collector = new CompositeMetricsCollector()
.addMetricsCollector(TimeMetrics.class, new TimeMetricsCollector())
.addMetricsCollector(CpuMetrics.class, new CpuMetricsCollector()); <p>CompositeMetrics snapshot =
collector.createMetrics(); collector.getSnapshot(snapshot); <p>long uptimeMs =
snapshot.getMetric(TimeMetrics.class).uptimeMs; // etc.
Modifier and Type | Class and Description |
---|---|
static class |
CompositeMetricsCollector.Builder |
Modifier | Constructor and Description |
---|---|
protected |
CompositeMetricsCollector(CompositeMetricsCollector.Builder builder) |
Modifier and Type | Method and Description |
---|---|
CompositeMetrics |
createMetrics()
Creates an empty instance of the corresponding system metrics.
|
<S extends SystemMetrics<S>,T extends SystemMetricsCollector<S>> |
getMetricsCollector(java.lang.Class<S> metricsClass)
Get the metrics collector associated with a metrics type
|
boolean |
getSnapshot(CompositeMetrics snapshot)
Gets the snapshot for all the metrics and returns a CompositeMetrics object with the value
|
protected CompositeMetricsCollector(CompositeMetricsCollector.Builder builder)
public <S extends SystemMetrics<S>,T extends SystemMetricsCollector<S>> T getMetricsCollector(java.lang.Class<S> metricsClass)
metricsClass
- Type of metricpublic boolean getSnapshot(CompositeMetrics snapshot)
getSnapshot
in class SystemMetricsCollector<CompositeMetrics>
snapshot
- snapshot to reusepublic CompositeMetrics createMetrics()
SystemMetricsCollector
Explicitly having this function available reduces a significant amount of boilerplate
createMetrics
in class SystemMetricsCollector<CompositeMetrics>