Confluent.Kafka.Extensions.Diagnostics 0.5.0
dotnet add package Confluent.Kafka.Extensions.Diagnostics --version 0.5.0
NuGet\Install-Package Confluent.Kafka.Extensions.Diagnostics -Version 0.5.0
此命令应在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Confluent.Kafka.Extensions.Diagnostics" Version="0.5.0" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用该包。
paket add Confluent.Kafka.Extensions.Diagnostics --version 0.5.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
#r "nuget: Confluent.Kafka.Extensions.Diagnostics, 0.5.0"
#r 指令可以在 F# Interactive 和 Polyglot Notebooks 中使用。将此复制到交互式工具或脚本的源代码中以引用包。
// Install Confluent.Kafka.Extensions.Diagnostics as a Cake Addin #addin nuget:?package=Confluent.Kafka.Extensions.Diagnostics&version=0.5.0 // Install Confluent.Kafka.Extensions.Diagnostics as a Cake Tool #tool nuget:?package=Confluent.Kafka.Extensions.Diagnostics&version=0.5.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
Confluent.Kafka.Extensions.Diagnostics
Confluent.Kafka.Extensions.Diagnostics
包通过 活动 API 为 Confluent.Kafka
库启用仪器化。
安装
Install-Package Confluent.Kafka.Extensions.Diagnostics
用法
生产者
生产者仪器化是通过包装类完成的,因此不需要重写生产者用法。然而,为了启用生产者仪器化,应在与 Build
代替调用 BuildWithInstrumentation
方法。之后,将仪器化所有生产调用(同步和异步)。
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!" });
消费者
不幸的是,Confluent.Kafka
库的消费者接口并不非常灵活。因此,通过消费者本身的扩展方法实现仪器化。因此,应将消费者用法重写如下
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");
try
{
while (true)
{
try
{
consumer.ConsumeWithInstrumentation((result) =>
{
Console.WriteLine(result.Message.Value);
}, 2000);
}
catch (ConsumeException e)
{
Console.WriteLine($"Error occured: {e.Error.Reason}");
}
}
}
catch (OperationCanceledException)
{
consumer.Close();
}
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | net6.0兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0兼容。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
-
net6.0
- Confluent.Kafka (>= 2.3.0 && < 3.0.0)
-
net8.0
- Confluent.Kafka (>= 2.3.0 && < 3.0.0)
NuGet包 (1)
显示依赖Confluent.Kafka.Extensions.Diagnostics的前1个NuGet包
包 | 下载 |
---|---|
Confluent.Kafka.Extensions.OpenTelemetry
Confluent.Kafka的OpenTelemetry仪表 |
GitHub仓库
此包未用于任何流行的GitHub仓库。
版本 | 下载 | 最后更新 |
---|---|---|
0.5.0 | 864 | 8/7/2024 |
0.4.0 | 160,394 | 7/27/2023 |
0.3.1-alpha.5 | 92 | 7/27/2023 |
0.3.1-alpha.4 | 175 | 5/29/2023 |
0.3.1-alpha.3 | 81 | 5/29/2023 |
0.3.1-alpha.2 | 73 | 5/29/2023 |
0.3.1-alpha.1 | 75 | 5/29/2023 |
0.3.0 | 40,913 | 3/14/2023 |
0.2.3-alpha.5 | 87 | 3/14/2023 |
0.2.3-alpha.1 | 106 | 11/8/2022 |
0.2.2 | 111,785 | 8/8/2022 |
0.2.2-alpha.1 | 100 | 8/8/2022 |
0.2.1 | 369 | 8/8/2022 |
0.2.0 | 374 | 8/7/2022 |
0.1.0 | 389 | 8/5/2022 |