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()
SystemMetricsCollectorExplicitly having this function available reduces a significant amount of boilerplate
createMetrics in class SystemMetricsCollector<CompositeMetrics>