@Override public ScheduledExecutors.Signal call() { // Run one more time even if the monitor was removed, in case there's some extra data to flush if (monitor.monitor(emitter) && hasMonitor(monitor)) { return ScheduledExecutors.Signal.REPEAT; } else { removeMonitor(monitor); return ScheduledExecutors.Signal.STOP; } } }
public void addMonitor(final Monitor monitor) { synchronized (lock) { if (!started) { throw new ISE("addMonitor must be called after start"); } if (hasMonitor(monitor)) { throw new ISE("Monitor already monitoring: %s", monitor); } monitors.add(monitor); startMonitor(monitor); } }
@Provides @ManageLifecycle public MonitorScheduler getMonitorScheduler( Supplier<DruidMonitorSchedulerConfig> config, MonitorsConfig monitorsConfig, Set<Class<? extends Monitor>> monitorSet, ServiceEmitter emitter, Injector injector ) { List<Monitor> monitors = new ArrayList<>(); for (Class<? extends Monitor> monitorClass : Iterables.concat(monitorsConfig.getMonitors(), monitorSet)) { final Monitor monitor = injector.getInstance(monitorClass); log.info("Adding monitor[%s]", monitor); monitors.add(monitor); } return new MonitorScheduler( config.get(), Execs.scheduledSingleThreaded("MonitorScheduler-%s"), emitter, monitors ); }
monitorScheduler.addMonitor(EasyMock.anyObject(Monitor.class)); EasyMock.expectLastCall().atLeastOnce(); monitorScheduler.removeMonitor(EasyMock.anyObject(Monitor.class)); EasyMock.expectLastCall().anyTimes(); EasyMock.replay(monitorScheduler, queryRunnerFactoryConglomerate);
FireDepartmentMetrics fireDepartmentMetrics = fireDepartmentForMetrics.getMetrics(); toolbox.getMonitorScheduler() .addMonitor(TaskRealtimeMetricsMonitorBuilder.build(task, fireDepartmentForMetrics, rowIngestionMeters));
@LifecycleStart public void start() { synchronized (lock) { if (started) { return; } started = true; for (final Monitor monitor : monitors) { startMonitor(monitor); } } }
monitorScheduler.addMonitor(EasyMock.anyObject(Monitor.class)); EasyMock.expectLastCall().atLeastOnce(); monitorScheduler.removeMonitor(EasyMock.anyObject(Monitor.class)); EasyMock.expectLastCall().anyTimes(); EasyMock.replay(monitorScheduler, queryRunnerFactoryConglomerate);
fireDepartmentMetrics = fireDepartmentForMetrics.getMetrics(); toolbox.getMonitorScheduler() .addMonitor(TaskRealtimeMetricsMonitorBuilder.build(task, fireDepartmentForMetrics, rowIngestionMeters));
@LifecycleStart public void start() { synchronized (lock) { if (started) { return; } started = true; for (final Monitor monitor : monitors) { startMonitor(monitor); } } }
toolbox.getMonitorScheduler().addMonitor(metricsMonitor); CloseQuietly.close(driver); toolbox.getMonitorScheduler().removeMonitor(metricsMonitor);
toolbox.getMonitorScheduler().addMonitor( new RealtimeMetricsMonitor( Collections.singletonList(fireDepartmentForMetrics),
@Override public ScheduledExecutors.Signal call() { // Run one more time even if the monitor was removed, in case there's some extra data to flush if (monitor.monitor(emitter) && hasMonitor(monitor)) { return ScheduledExecutors.Signal.REPEAT; } else { removeMonitor(monitor); return ScheduledExecutors.Signal.STOP; } } }
public void addMonitor(final Monitor monitor) { synchronized (lock) { if (!started) { throw new ISE("addMonitor must be called after start"); } if (hasMonitor(monitor)) { throw new ISE("Monitor already monitoring: %s", monitor); } monitors.add(monitor); startMonitor(monitor); } }
@Provides @ManageLifecycle public MonitorScheduler getMonitorScheduler( Supplier<DruidMonitorSchedulerConfig> config, MonitorsConfig monitorsConfig, Set<Class<? extends Monitor>> monitorSet, ServiceEmitter emitter, Injector injector ) { List<Monitor> monitors = Lists.newArrayList(); for (Class<? extends Monitor> monitorClass : Iterables.concat(monitorsConfig.getMonitors(), monitorSet)) { final Monitor monitor = injector.getInstance(monitorClass); log.info("Adding monitor[%s]", monitor); monitors.add(monitor); } return new MonitorScheduler( config.get(), Execs.scheduledSingleThreaded("MonitorScheduler-%s"), emitter, monitors ); }
toolbox.getMonitorScheduler().addMonitor(metricsMonitor); CloseQuietly.close(firehose); toolbox.getMonitorScheduler().removeMonitor(metricsMonitor);
buildSegmentsMeters ); toolbox.getMonitorScheduler().addMonitor(metricsMonitor);
toolbox.getMonitorScheduler().addMonitor(metricsMonitor); CloseQuietly.close(driver); toolbox.getMonitorScheduler().removeMonitor(metricsMonitor);
toolbox.getMonitorScheduler().addMonitor( new RealtimeMetricsMonitor( Collections.singletonList(fireDepartmentForMetrics),
toolbox.getMonitorScheduler().addMonitor(metricsMonitor); CloseQuietly.close(firehose); toolbox.getMonitorScheduler().removeMonitor(metricsMonitor);
buildSegmentsMeters ); toolbox.getMonitorScheduler().addMonitor(metricsMonitor);