@Inject public ThresholdEventWriterProvider(final DiskSpoolEventWriter eventWriter, final EventTrackerConfig config) { this.eventWriter = eventWriter; this.maxUncommittedWriteCount = config.getMaxUncommittedWriteCount(); this.maxUncommittedPeriodInSeconds = config.getMaxUncommittedPeriodInSeconds(); }
@Override protected void configure() { super.configure(); switch (eventTrackerConfig.getType()) { case COLLECTOR: final EventSender httpSender = new HttpSender( eventTrackerConfig.getCollectorHost(), eventTrackerConfig.getCollectorPort(), eventTrackerConfig.getEventType(), eventTrackerConfig.getHttpMaxWaitTimeInMillis(), eventTrackerConfig.getHttpMaxKeepAlive().getMillis(), eventTrackerConfig.getHttpWorkersPoolSize() ); bind(EventSender.class).toInstance(httpSender); log.info("Enabled HTTP Event Logging"); break; case NO_LOGGING: bind(EventSender.class).to(NoLoggingSender.class).asEagerSingleton(); log.info("Disabled Event Logging"); break; default: throw new IllegalStateException("Unknown type " + eventTrackerConfig.getType()); } } }
/** * Provides an instance of a DiskSpoolEventWriter, which forwards local buffered events (in files) to the collector, * via an EventSender. * * @return instance of a DiskSpoolEventWriter */ @Override public DiskSpoolEventWriter get() { return new DiskSpoolEventWriter(new EventHandler() { @Override public void handle(final File file, final CallbackHandler handler) { eventSender.send(file, handler); } }, config.getSpoolDirectoryName(), config.isFlushEnabled(), config.getFlushIntervalInSeconds(), executor, SyncType.valueOf(config.getSyncType()), config.getSyncBatchSize(), new NoCompressionCodec(), serializer); } }
@Override protected void configure() { super.configure(); switch (eventTrackerConfig.getEventType()) { case SMILE: bind(EventSerializer.class).toInstance(new SmileEnvelopeEventSerializer(false)); break; case JSON: bind(EventSerializer.class).toInstance(new SmileEnvelopeEventSerializer(true)); break; default: bind(EventSerializer.class).to(ObjectOutputEventSerializer.class); break; } } }