Class MetricsExecutor

  • All Implemented Interfaces:
    Runnable

    public class MetricsExecutor
    extends Object
    implements Runnable
    MetricsExecutor would run in a separate thread via WakeableLooper, and block until it is waken up by metrics pushed from other InstanceExecutor.

    Then it would look up all InstanceExecutor added and invoke handleExecutorsMetrics(InstanceExecutor instance) to handle the metrics

    • Constructor Detail

      • MetricsExecutor

        public MetricsExecutor​(org.apache.heron.common.config.SystemConfig systemConfig)
    • Method Detail

      • addInstanceExecutor

        public void addInstanceExecutor​(InstanceExecutor instanceExecutor)
      • run

        public void run()
        Specified by:
        run in interface Runnable
      • stop

        public void stop()
      • addMetricsExecutorTasks

        protected void addMetricsExecutorTasks()
      • handleExecutorsMetrics

        protected void handleExecutorsMetrics​(InstanceExecutor instance)
      • handleMetricPublisherPublishMessage

        protected void handleMetricPublisherPublishMessage​(String instanceId,
                                                           org.apache.heron.proto.system.Metrics.MetricPublisherPublishMessage message)
      • createWakeableLooper

        protected org.apache.heron.common.basics.WakeableLooper createWakeableLooper()