Confluent.Kafka.Extensions.OpenTelemetry 0.4.0
Confluent.Kafka.Extensions.OpenTelemetry
The Confluent.Kafka.Extensions.OpenTelemetry
package enables collection of instrumentation data of the Confluent.Kafka
library.
The actual instrumentation of the Confluent.Kafka
library should be configured using
Confluent.Kafka.Extensions.Diagnostics.
Installation
Install-Package Confluent.Kafka.Extensions.OpenTelemetry
Usage
Confluent.Kafka configuration
As Confluent.Kafka
does not expose any instrumentation data, additional, configuration is required.
Full documentation is available at Confluent.Kafka.Extensions.Diagnostics docs.
There is also an example on how to use the package in real world application.
Producer
using Confluent.Kafka;
using Confluent.Kafka.Extensions.Diagnostics;
using var producer =
new ProducerBuilder<Null, string>(new ProducerConfig(new ClientConfig { BootstrapServers = "localhost:9092" }))
.SetKeySerializer(Serializers.Null)
.SetValueSerializer(Serializers.Utf8)
.BuildWithInstrumentation();
await producer.ProduceAsync("topic", new Message<Null, string> { Value = "Hello World!" });
Consumer
using Confluent.Kafka;
using Confluent.Kafka.Extensions.Diagnostics;
using var consumer = new ConsumerBuilder<Ignore, string>(
new ConsumerConfig(new ClientConfig { BootstrapServers = "localhost:9092" })
{
GroupId = "group", AutoOffsetReset = AutoOffsetReset.Earliest
})
.SetValueDeserializer(Deserializers.Utf8)
.Build();
consumer.Subscribe("topic");
consumer.ConsumeWithInstrumentation((result) =>
{
Console.WriteLine(result.Message.Value);
});
OpenTelemetry configuration
using Confluent.Kafka.Extensions.OpenTelemetry;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;
builder.Services.AddOpenTelemetry().WithTracing(traceBuilder =>
{
traceBuilder
.AddInMemoryExporter()
.AddHttpClientInstrumentation()
.AddAspNetCoreInstrumentation()
.AddConfluentKafkaInstrumentation(); // <-- Add Confluent.Kafka OpenTelemetry support
});
No packages depend on Confluent.Kafka.Extensions.OpenTelemetry.
.NET 6.0
- Confluent.Kafka.Extensions.Diagnostics (>= 0.5.0)
- OpenTelemetry.Api (>= 1.9.0)
.NET 8.0
- Confluent.Kafka.Extensions.Diagnostics (>= 0.5.0)
- OpenTelemetry.Api (>= 1.9.0)
Version | Downloads | Last updated |
---|---|---|
0.4.0 | 2 | 09/15/2025 |
0.3.1-alpha.1 | 0 | 08/07/2024 |
0.3.0 | 0 | 07/27/2023 |
0.2.0 | 0 | 03/14/2023 |
0.1.0 | 0 | 08/10/2022 |