Search in sources :

Example 1 with Emitter

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

the class EmitterModuleTest method testParametrizedUriEmitterConfig.

@Test
public void testParametrizedUriEmitterConfig() {
    final Properties props = new Properties();
    props.setProperty("druid.emitter", "parametrized");
    props.setProperty("druid.emitter.parametrized.recipientBaseUrlPattern", "http://example.com:8888/{feed}");
    props.setProperty("druid.emitter.parametrized.httpEmitting.flushMillis", "1");
    props.setProperty("druid.emitter.parametrized.httpEmitting.flushCount", "2");
    props.setProperty("druid.emitter.parametrized.httpEmitting.basicAuthentication", "a:b");
    props.setProperty("druid.emitter.parametrized.httpEmitting.batchingStrategy", "NEWLINES");
    props.setProperty("druid.emitter.parametrized.httpEmitting.maxBatchSize", "4");
    props.setProperty("druid.emitter.parametrized.httpEmitting.flushTimeOut", "1000");
    final Emitter emitter = makeInjectorWithProperties(props).getInstance(Emitter.class);
    // Testing that ParametrizedUriEmitter is successfully deserialized from the above config
    Assert.assertThat(emitter, CoreMatchers.instanceOf(ParametrizedUriEmitter.class));
}
Also used : ParametrizedUriEmitter(org.apache.druid.java.util.emitter.core.ParametrizedUriEmitter) Emitter(org.apache.druid.java.util.emitter.core.Emitter) ParametrizedUriEmitter(org.apache.druid.java.util.emitter.core.ParametrizedUriEmitter) NoopEmitter(org.apache.druid.java.util.emitter.core.NoopEmitter) Properties(java.util.Properties) Test(org.junit.Test)

Example 2 with Emitter

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

the class EmitterModuleTest method testMissingEmitterType.

@Test
public void testMissingEmitterType() {
    final Properties props = new Properties();
    props.setProperty("druid.emitter", "");
    final Emitter emitter = makeInjectorWithProperties(props).getInstance(Emitter.class);
    Assert.assertThat(emitter, CoreMatchers.instanceOf(NoopEmitter.class));
}
Also used : Emitter(org.apache.druid.java.util.emitter.core.Emitter) ParametrizedUriEmitter(org.apache.druid.java.util.emitter.core.ParametrizedUriEmitter) NoopEmitter(org.apache.druid.java.util.emitter.core.NoopEmitter) Properties(java.util.Properties) NoopEmitter(org.apache.druid.java.util.emitter.core.NoopEmitter) Test(org.junit.Test)

Example 3 with Emitter

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

the class PrometheusEmitterTest method testEmitterMetric.

@Test
public void testEmitterMetric() {
    PrometheusEmitterConfig config = new PrometheusEmitterConfig(PrometheusEmitterConfig.Strategy.pushgateway, "namespace", null, 0, "pushgateway");
    PrometheusEmitterModule prometheusEmitterModule = new PrometheusEmitterModule();
    Emitter emitter = prometheusEmitterModule.getEmitter(config);
    ServiceMetricEvent build = ServiceMetricEvent.builder().setDimension("dataSource", "test").setDimension("taskType", "index_parallel").build("task/run/time", 500).build(ImmutableMap.of("service", "overlord"));
    emitter.emit(build);
    double assertEpsilon = 0.0001;
    Assert.assertEquals(0.0, CollectorRegistry.defaultRegistry.getSampleValue("namespace_task_run_time_bucket", new String[] { "dataSource", "taskType", "le" }, new String[] { "test", "index_parallel", "0.1" }), assertEpsilon);
    Assert.assertEquals(1.0, CollectorRegistry.defaultRegistry.getSampleValue("namespace_task_run_time_bucket", new String[] { "dataSource", "taskType", "le" }, new String[] { "test", "index_parallel", "0.5" }), assertEpsilon);
}
Also used : Emitter(org.apache.druid.java.util.emitter.core.Emitter) ServiceMetricEvent(org.apache.druid.java.util.emitter.service.ServiceMetricEvent) EasyMock.anyString(org.easymock.EasyMock.anyString) Test(org.junit.Test)

Example 4 with Emitter

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

the class PrometheusEmitterTest method testEmitter.

@Test
public void testEmitter() {
    PrometheusEmitterConfig config = new PrometheusEmitterConfig(PrometheusEmitterConfig.Strategy.exporter, null, null, 0, null);
    PrometheusEmitterModule prometheusEmitterModule = new PrometheusEmitterModule();
    Emitter emitter = prometheusEmitterModule.getEmitter(config);
    ServiceMetricEvent build = ServiceMetricEvent.builder().setDimension("server", "druid-data01.vpc.region").build("segment/loadQueue/count", 10).build(ImmutableMap.of("service", "historical"));
    Assert.assertEquals("historical", build.getService());
    Assert.assertFalse(build.getUserDims().isEmpty());
    emitter.emit(build);
    Double count = CollectorRegistry.defaultRegistry.getSampleValue("druid_segment_loadqueue_count", new String[] { "server" }, new String[] { "druid_data01_vpc_region" });
    Assert.assertEquals(10, count.intValue());
}
Also used : Emitter(org.apache.druid.java.util.emitter.core.Emitter) ServiceMetricEvent(org.apache.druid.java.util.emitter.service.ServiceMetricEvent) Test(org.junit.Test)

Example 5 with Emitter

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

the class LoggingEmitterFactory method makeEmitter.

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

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