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                
#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                

Confluent.Kafka.Extensions.Diagnostics

GitHub Actions Badge NuGet Badge

Confluent.Kafka.Extensions.Diagnostics 包通过 活动 APIConfluent.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 已计算。
兼容目标框架
包含的目标框架(在包中)
了解更多关于目标框架.NET Standard的信息。

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