| Interface | Description | 
|---|---|
| Metric | Metric class that allows metric visitors to visit it to get its information. | 
| MetricsAccessor | A MetricsAccessor allows users to retrieve metric values, based on group name and metric name,
 though specific metrics system, such as JMX. | 
| MetricsRegistry | A MetricsRegistry allows its users to create new  Metrics and
 have those metrics wired to specific metrics systems, such as JMX, provided byMetricsReporters. | 
| MetricsReporter | A MetricsReporter is the interface that different metrics sinks, such as JMX, implement to receive
 metrics from the Samza framework and Samza jobs. | 
| MetricsReporterFactory | Build a  MetricsReporter | 
| MetricsValidator | A MetricsValidator reads the job's metrics values by using the  MetricsAccessor,
 and validate them. | 
| ReadableMetricsRegistry | A ReadableMetricsRegistry is a  MetricsRegistrythat also
 allows read access to the metrics for which it is responsible. | 
| ReadableMetricsRegistryListener | |
| Reservoir | A reservoir interface to store, update and display values | 
| Class | Description | 
|---|---|
| Counter | A counter is a  Metricthat represents a cumulative value. | 
| Gauge<T> | A Gauge is a  Metricthat wraps some instance of T in a thread-safe
 reference and allows it to be set or retrieved. | 
| ListGauge<T> | |
| MetricsVisitor | A MetricsVisitor can be used to process each metric in a  ReadableMetricsRegistry,
 encapsulating the logic of what to be done with each metric in the counter and gauge methods. | 
| SlidingTimeWindowReservoir | An implemented  Reservoirused to store values that appear in a
 sliding time window | 
| Snapshot | A statistical snapshot of a collection of values | 
| Timer | A timer metric that stores time duration and provides  Snapshotof the
 durations. | 
| Exception | Description | 
|---|---|
| MetricsValidationFailureException | Thrown when the metrics validation fails. |