public class MetricsManager
extends java.lang.Object
2. Every IMetricsSink would be driven by an individual thread; and in fact it is an executor running within a fixed-size thread's ExecutorService. We would set the thread name of running executor driving the IMetricsSink, for restart when uncaught exceptions of that IMetricsSink are caught.
3. When one IMetricsSink throws uncaught exceptions, we would try to restart this sink unless we have hit the # of retry attempts.
4. When Metrics Manager internal exceptions are caught or we have restart IMetricsSink with too many attempts, Metrics Manager would flush any remain log and exit.
Modifier and Type | Class and Description |
---|---|
class |
MetricsManager.DefaultExceptionHandler
Handler for catching exceptions thrown by any threads (owned either by topology or heron
infrastructure).
|
Constructor and Description |
---|
MetricsManager(java.lang.String topologyName,
java.lang.String serverHost,
int serverPort,
java.lang.String metricsmgrId,
SystemConfig systemConfig,
MetricsSinksConfig config)
Metrics manager constructor
|
Modifier and Type | Method and Description |
---|---|
static void |
main(java.lang.String[] args) |
void |
start() |
public MetricsManager(java.lang.String topologyName, java.lang.String serverHost, int serverPort, java.lang.String metricsmgrId, SystemConfig systemConfig, MetricsSinksConfig config) throws java.io.IOException
java.io.IOException