Class InfluxdbMetricStreamer

    • Constructor Detail

      • InfluxdbMetricStreamer

        @Inject
        public InfluxdbMetricStreamer​(org.slf4j.Logger logger,
                                      java.util.concurrent.ScheduledExecutorService executor,
                                      com.elastisys.scale.commons.eventbus.EventBus eventBus)
        Creates a new instance. The new instance will be in an unconfigured and stopped state.
        Parameters:
        logger - Logger to use.
        executor - Task execution service for performing work in separate threads.
        eventBus - The EventBus on which to send out collected MetricValues.
    • Method Detail

      • validate

        public void validate​(InfluxdbMetricStreamerConfig configuration)
                      throws java.lang.IllegalArgumentException
        Specified by:
        validate in interface com.elastisys.autoscaler.core.api.Configurable<InfluxdbMetricStreamerConfig>
        Throws:
        java.lang.IllegalArgumentException
      • configure

        public void configure​(InfluxdbMetricStreamerConfig configuration)
                       throws java.lang.IllegalArgumentException
        Specified by:
        configure in interface com.elastisys.autoscaler.core.api.Configurable<InfluxdbMetricStreamerConfig>
        Throws:
        java.lang.IllegalArgumentException
      • start

        public void start()
                   throws java.lang.IllegalStateException
        Specified by:
        start in interface com.elastisys.autoscaler.core.api.Service<InfluxdbMetricStreamerConfig>
        Throws:
        java.lang.IllegalStateException
      • getStatus

        public com.elastisys.autoscaler.core.api.types.ServiceStatus getStatus()
        Specified by:
        getStatus in interface com.elastisys.autoscaler.core.api.Service<InfluxdbMetricStreamerConfig>
      • getMetricStreams

        public java.util.List<com.elastisys.autoscaler.core.monitoring.metricstreamer.api.MetricStream> getMetricStreams()
        Specified by:
        getMetricStreams in interface com.elastisys.autoscaler.core.monitoring.metricstreamer.api.MetricStreamer<InfluxdbMetricStreamerConfig>
      • getMetricStream

        public com.elastisys.autoscaler.core.monitoring.metricstreamer.api.MetricStream getMetricStream​(java.lang.String metricStreamId)
                                                                                                 throws java.lang.IllegalArgumentException
        Specified by:
        getMetricStream in interface com.elastisys.autoscaler.core.monitoring.metricstreamer.api.MetricStreamer<InfluxdbMetricStreamerConfig>
        Throws:
        java.lang.IllegalArgumentException
      • fetch

        public void fetch()
                   throws com.elastisys.autoscaler.core.monitoring.metricstreamer.api.MetricStreamException,
                          java.lang.IllegalStateException
        Specified by:
        fetch in interface com.elastisys.autoscaler.core.monitoring.metricstreamer.api.MetricStreamer<InfluxdbMetricStreamerConfig>
        Throws:
        com.elastisys.autoscaler.core.monitoring.metricstreamer.api.MetricStreamException
        java.lang.IllegalStateException