@Override
    public void startProcessing() {
        if (stroomStatStoreRef == null) {
            super.log(Severity.FATAL_ERROR, "Stroom-Stats data source has not been set", null);
            throw LoggedException.create("Stroom-Stats data source has not been set");
        }

        final StroomStatsStoreDoc stroomStatsStoreEntity = stroomStatsStoreStore.readDocument(stroomStatStoreRef);

        if (stroomStatsStoreEntity == null) {
            super.log(
                    Severity.FATAL_ERROR,
                    "Unable to find Stroom-Stats data source " + stroomStatStoreRef,
                    null);
            throw LoggedException.create("Unable to find Stroom-Stats data source " + stroomStatStoreRef);
        }

        if (!stroomStatsStoreEntity.isEnabled()) {
            final String msg = "Stroom-Stats data source with name [" + stroomStatsStoreEntity.getName() +
                    "] is disabled";
            log(Severity.FATAL_ERROR, msg, null);
            throw LoggedException.create(msg);
        }

        switch (stroomStatsStoreEntity.getStatisticType()) {
            case COUNT:
                topic = hBaseStatisticsConfig.getKafkaTopicsConfig().getCount();
                break;
            case VALUE:
                topic = hBaseStatisticsConfig.getKafkaTopicsConfig().getValue();
                break;
        }
        recordKey = stroomStatsStoreEntity.getUuid();

        super.startProcessing();
    }
A Kafka appender specifically for sending statistic event messages to kafka.
The key and topic are derived from the selected statistic data source
stroom-statistics/stroom-statistics-impl-hbase/src/main/java/stroom/statistics/impl/hbase/pipeline/StroomStatsAppender.java