Crate relay_kafka

source ·
Expand description

Kafka-related functionality.

By default, this library only provides the support for relay configuration. With producer feature enabled, the KafkaClient is provided and can be used to send messages to the Kafka broker.


    use relay_kafka::{KafkaClient, KafkaTopic};

    // Get the builder.
    let mut builder = KafkaClient::builder();

    // Then one can add different configs per topic.
    builder = builder.add_kafka_topic_config(KafkaTopic::Events, &kafka_config_events).unwrap();

    // And add potentially another topic config.
    builder = builder.add_kafka_topic_config(KafkaTopic::Transactions, &kafka_config_metrics).unwrap();

    // build the client
    let kafka_client =;

    // send the message
    kafka_client.send_message(KafkaTopic::Events, 1u64, &kafka_message).unwrap();

If the configuration for the KafkaTopic was not added, attemps to send the message to this topic will return the error.



  • Kafka producer errors.
  • Kafka configuration errors.
  • Describes Kafka config, with all the parameters extracted, which will be used for creating the kafka producer.
  • Define the topics over which Relay communicates with Sentry.
  • Configuration for a “logical” topic/datasink that Relay should forward data into.


  • Describes the type which can be sent using kafka producer provided by this crate.