Search in sources :

Example 1 with FluentdIngester

use of org.komamitsu.fluency.fluentd.ingester.FluentdIngester in project fluency by komamitsu.

the class FluencyTestWithMockServer method testFluencyUsingAsyncFlusher.

@ParameterizedTest
@MethodSource("optionsProvider")
void testFluencyUsingAsyncFlusher(final Options options) throws Exception {
    testFluencyBase(localPorts -> {
        FluentdSender sender;
        int fluentdPort = localPorts.get(0);
        if (options.failover) {
            int secondaryFluentdPort = localPorts.get(1);
            if (options.sslEnabled) {
                sender = getDoubleSSLSender(fluentdPort, secondaryFluentdPort);
            } else {
                sender = getDoubleTCPSender(fluentdPort, secondaryFluentdPort);
            }
        } else {
            if (options.sslEnabled) {
                sender = getSingleSSLSender(fluentdPort);
            } else {
                sender = getSingleTCPSender(fluentdPort);
            }
        }
        FluentdIngester.Config ingesterConfig = new FluentdIngester.Config();
        if (options.ackResponse) {
            ingesterConfig.setAckResponseMode(true);
        }
        Buffer.Config bufferConfig = new Buffer.Config();
        if (options.smallBuffer) {
            bufferConfig.setChunkRetentionSize(SMALL_BUF_SIZE);
            bufferConfig.setMaxBufferSize(SMALL_BUF_SIZE + 1);
        }
        if (options.fileBackup) {
            bufferConfig.setFileBackupDir(TMPDIR);
            bufferConfig.setFileBackupPrefix("testFluencyUsingAsyncFlusher" + options.hashCode());
        }
        if (options.jvmHeap) {
            bufferConfig.setJvmHeapBufferMode(true);
        }
        Flusher.Config flusherConfig = new Flusher.Config();
        flusherConfig.setWaitUntilBufferFlushed(10);
        flusherConfig.setWaitUntilTerminated(10);
        Buffer buffer = new Buffer(bufferConfig, new FluentdRecordFormatter(new FluentdRecordFormatter.Config()));
        Flusher flusher = new Flusher(flusherConfig, buffer, new FluentdIngester(ingesterConfig, sender));
        return new Fluency(buffer, flusher);
    }, options);
}
Also used : ByteBuffer(java.nio.ByteBuffer) Buffer(org.komamitsu.fluency.buffer.Buffer) Fluency(org.komamitsu.fluency.Fluency) FluentdIngester(org.komamitsu.fluency.fluentd.ingester.FluentdIngester) FluentdSender(org.komamitsu.fluency.fluentd.ingester.sender.FluentdSender) Flusher(org.komamitsu.fluency.flusher.Flusher) FluentdRecordFormatter(org.komamitsu.fluency.fluentd.recordformat.FluentdRecordFormatter) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) MethodSource(org.junit.jupiter.params.provider.MethodSource)

Example 2 with FluentdIngester

use of org.komamitsu.fluency.fluentd.ingester.FluentdIngester in project fluency by komamitsu.

the class FluencyBuilderForFluentd method buildIngester.

private Ingester buildIngester(FluentdSender baseSender) {
    ExponentialBackOffRetryStrategy.Config retryStrategyConfig = new ExponentialBackOffRetryStrategy.Config();
    if (getSenderMaxRetryCount() != null) {
        retryStrategyConfig.setMaxRetryCount(getSenderMaxRetryCount());
    }
    if (getSenderBaseRetryIntervalMillis() != null) {
        retryStrategyConfig.setBaseIntervalMillis(getSenderBaseRetryIntervalMillis());
    }
    if (getSenderMaxRetryIntervalMillis() != null) {
        retryStrategyConfig.setMaxIntervalMillis(getSenderMaxRetryIntervalMillis());
    }
    RetryableSender.Config senderConfig = new RetryableSender.Config();
    if (getErrorHandler() != null) {
        senderConfig.setErrorHandler(getErrorHandler());
    }
    RetryableSender retryableSender = new RetryableSender(senderConfig, baseSender, new ExponentialBackOffRetryStrategy(retryStrategyConfig));
    FluentdIngester.Config ingesterConfig = new FluentdIngester.Config();
    ingesterConfig.setAckResponseMode(isAckResponseMode());
    return new FluentdIngester(ingesterConfig, retryableSender);
}
Also used : FluentdIngester(org.komamitsu.fluency.fluentd.ingester.FluentdIngester) ExponentialBackOffRetryStrategy(org.komamitsu.fluency.fluentd.ingester.sender.retry.ExponentialBackOffRetryStrategy) RetryableSender(org.komamitsu.fluency.fluentd.ingester.sender.RetryableSender)

Aggregations

FluentdIngester (org.komamitsu.fluency.fluentd.ingester.FluentdIngester)2 ByteBuffer (java.nio.ByteBuffer)1 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)1 MethodSource (org.junit.jupiter.params.provider.MethodSource)1 Fluency (org.komamitsu.fluency.Fluency)1 Buffer (org.komamitsu.fluency.buffer.Buffer)1 FluentdSender (org.komamitsu.fluency.fluentd.ingester.sender.FluentdSender)1 RetryableSender (org.komamitsu.fluency.fluentd.ingester.sender.RetryableSender)1 ExponentialBackOffRetryStrategy (org.komamitsu.fluency.fluentd.ingester.sender.retry.ExponentialBackOffRetryStrategy)1 FluentdRecordFormatter (org.komamitsu.fluency.fluentd.recordformat.FluentdRecordFormatter)1 Flusher (org.komamitsu.fluency.flusher.Flusher)1