Search in sources :

Example 6 with Emitter

use of org.apache.druid.java.util.emitter.core.Emitter in project druid by druid-io.

the class HttpEmitterFactory method makeEmitter.

@Override
public Emitter makeEmitter(ObjectMapper objectMapper, AsyncHttpClient httpClient, Lifecycle lifecycle) {
    Emitter retVal = new HttpPostEmitter(this, httpClient, objectMapper);
    lifecycle.addManagedInstance(retVal);
    return retVal;
}
Also used : Emitter(org.apache.druid.java.util.emitter.core.Emitter) HttpPostEmitter(org.apache.druid.java.util.emitter.core.HttpPostEmitter) HttpPostEmitter(org.apache.druid.java.util.emitter.core.HttpPostEmitter)

Example 7 with Emitter

use of org.apache.druid.java.util.emitter.core.Emitter in project druid by druid-io.

the class NoopEmitterFactory method makeEmitter.

public Emitter makeEmitter(Lifecycle lifecycle) {
    Emitter retVal = new NoopEmitter();
    lifecycle.addManagedInstance(retVal);
    return retVal;
}
Also used : Emitter(org.apache.druid.java.util.emitter.core.Emitter) NoopEmitter(org.apache.druid.java.util.emitter.core.NoopEmitter) NoopEmitter(org.apache.druid.java.util.emitter.core.NoopEmitter)

Example 8 with Emitter

use of org.apache.druid.java.util.emitter.core.Emitter in project druid by druid-io.

the class ParametrizedUriEmitterFactory method makeEmitter.

@Override
public Emitter makeEmitter(ObjectMapper objectMapper, AsyncHttpClient httpClient, Lifecycle lifecycle) {
    final Emitter retVal = new ParametrizedUriEmitter(this, httpClient, objectMapper);
    lifecycle.addManagedInstance(retVal);
    return retVal;
}
Also used : ParametrizedUriEmitter(org.apache.druid.java.util.emitter.core.ParametrizedUriEmitter) ParametrizedUriEmitter(org.apache.druid.java.util.emitter.core.ParametrizedUriEmitter) Emitter(org.apache.druid.java.util.emitter.core.Emitter)

Example 9 with Emitter

use of org.apache.druid.java.util.emitter.core.Emitter in project druid by druid-io.

the class DropwizardEmitter method emit.

@Override
public void emit(Event event) {
    synchronized (started) {
        if (!started.get()) {
            throw new RejectedExecutionException("Dropwizard emitter Service not started.");
        }
    }
    if (event instanceof ServiceMetricEvent) {
        ServiceMetricEvent metricEvent = (ServiceMetricEvent) event;
        String host = metricEvent.getHost();
        String service = metricEvent.getService();
        String metric = metricEvent.getMetric();
        Map<String, Object> userDims = metricEvent.getUserDims();
        Number value = metricEvent.getValue();
        ImmutableList.Builder<String> nameBuilder = new ImmutableList.Builder<>();
        LinkedHashMap<String, String> dims = new LinkedHashMap<>();
        final DropwizardMetricSpec metricSpec = converter.addFilteredUserDims(service, metric, userDims, dims);
        if (metricSpec != null) {
            if (config.getPrefix() != null) {
                nameBuilder.add(config.getPrefix());
            }
            nameBuilder.add(StringUtils.format("metric=%s", metric));
            nameBuilder.add(StringUtils.format("service=%s", service));
            if (config.getIncludeHost()) {
                nameBuilder.add(StringUtils.format("hostname=%s", host));
            }
            dims.forEach((key, value1) -> nameBuilder.add(StringUtils.format("%s=%s", key, value1)));
            String fullName = StringUtils.replaceChar(Joiner.on(",").join(nameBuilder.build()), '/', ".");
            updateMetric(fullName, value, metricSpec);
        } else {
            log.debug("Service=[%s], Metric=[%s] has no mapping", service, metric);
        }
    } else if (event instanceof AlertEvent) {
        for (Emitter emitter : alertEmitters) {
            emitter.emit(event);
        }
    } else {
        throw new ISE("unknown event type [%s]", event.getClass());
    }
}
Also used : Emitter(org.apache.druid.java.util.emitter.core.Emitter) ImmutableList(com.google.common.collect.ImmutableList) AlertEvent(org.apache.druid.java.util.emitter.service.AlertEvent) RejectedExecutionException(java.util.concurrent.RejectedExecutionException) LinkedHashMap(java.util.LinkedHashMap) ServiceMetricEvent(org.apache.druid.java.util.emitter.service.ServiceMetricEvent) ISE(org.apache.druid.java.util.common.ISE)

Example 10 with Emitter

use of org.apache.druid.java.util.emitter.core.Emitter in project druid by druid-io.

the class MockMemcachedClient method testMonitor.

@Test
public void testMonitor() throws Exception {
    final MemcachedCache cache = MemcachedCache.create(memcachedCacheConfig);
    final Emitter emitter = EasyMock.createNiceMock(Emitter.class);
    final Collection<Event> events = new ArrayList<>();
    final ServiceEmitter serviceEmitter = new ServiceEmitter("service", "host", emitter) {

        @Override
        public void emit(Event event) {
            events.add(event);
        }
    };
    while (events.isEmpty()) {
        Thread.sleep(memcachedCacheConfig.getTimeout());
        cache.doMonitor(serviceEmitter);
    }
    Assert.assertFalse(events.isEmpty());
    ObjectMapper mapper = new DefaultObjectMapper();
    for (Event event : events) {
        log.debug("Found event `%s`", mapper.writeValueAsString(event.toMap()));
    }
}
Also used : ServiceEmitter(org.apache.druid.java.util.emitter.service.ServiceEmitter) ServiceEmitter(org.apache.druid.java.util.emitter.service.ServiceEmitter) Emitter(org.apache.druid.java.util.emitter.core.Emitter) ArrayList(java.util.ArrayList) Event(org.apache.druid.java.util.emitter.core.Event) DefaultObjectMapper(org.apache.druid.jackson.DefaultObjectMapper) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) DefaultObjectMapper(org.apache.druid.jackson.DefaultObjectMapper) Test(org.junit.Test)

Aggregations

Emitter (org.apache.druid.java.util.emitter.core.Emitter)12 Test (org.junit.Test)7 Properties (java.util.Properties)3 NoopEmitter (org.apache.druid.java.util.emitter.core.NoopEmitter)3 ParametrizedUriEmitter (org.apache.druid.java.util.emitter.core.ParametrizedUriEmitter)3 ServiceMetricEvent (org.apache.druid.java.util.emitter.service.ServiceMetricEvent)3 Injector (com.google.inject.Injector)2 ComposingEmitterModule (org.apache.druid.server.emitter.ComposingEmitterModule)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 ImmutableList (com.google.common.collect.ImmutableList)1 Binder (com.google.inject.Binder)1 Module (com.google.inject.Module)1 ArrayList (java.util.ArrayList)1 LinkedHashMap (java.util.LinkedHashMap)1 RejectedExecutionException (java.util.concurrent.RejectedExecutionException)1 DruidGuiceExtensions (org.apache.druid.guice.DruidGuiceExtensions)1 LifecycleModule (org.apache.druid.guice.LifecycleModule)1 DefaultObjectMapper (org.apache.druid.jackson.DefaultObjectMapper)1 ISE (org.apache.druid.java.util.common.ISE)1 Event (org.apache.druid.java.util.emitter.core.Event)1