首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sarama获取kafka生产者/消费者指标

如何使用sarama获取kafka生产者/消费者指标
EN

Stack Overflow用户
提问于 2021-06-28 16:50:24
回答 1查看 264关注 0票数 0

我正在尝试使用sarama获取kafka生产者/消费者指标。但我找不到任何关于如何做到这一点的例子。有人能提供一个示例实现示例吗?

我使用以下代码来获取代理的指标。但是,为了获得生产者/消费者的指标,应该配置什么呢?我假设它不会是一样的。如果我错了,请纠正我

代码语言:javascript
复制
    saramaConfig := sarama.NewConfig()
    saramaConfig.Version = <BrokerVersion>
    client, err := sarama.NewClient(<brokerAddresses>, saramaConfig)
    if err != nil {
        log.Println("Unable to create sarama client")
        panic(err)
    }
    config := client.Config()

    MeanIncomingByteRate := metrics.GetOrRegisterMeter(getMetricNameForTopic("incoming-byte-rate", topic), config.MetricRegistry).RateMean(),
EN

回答 1

Stack Overflow用户

发布于 2021-06-28 22:49:11

我从来没有合作过。但我会试着回答。

您应该将go-metrics注册表注册到配置中。

这是一个如何创建和使用注册表的示例(https://pkg.go.dev/gopkg.in/Shopify/sarama.v2#example-Config-Metrics):

代码语言:javascript
复制
// Our application registry
appMetricRegistry := metrics.NewRegistry()
appGauge := metrics.GetOrRegisterGauge("m1", appMetricRegistry)
appGauge.Update(1)

config := NewConfig()
// Use a prefix registry instead of the default local one
config.MetricRegistry = metrics.NewPrefixedChildRegistry(appMetricRegistry, "sarama.")

// Simulate a metric created by sarama without starting a broker
saramaGauge := metrics.GetOrRegisterGauge("m2", config.MetricRegistry)
saramaGauge.Update(2)

metrics.WriteOnce(appMetricRegistry, os.Stdout)

因此,您应该创建注册表并将其设置为config

代码语言:javascript
复制
appMetricRegistry := metrics.NewRegistry()
appGauge := metrics.GetOrRegisterGauge("m1", appMetricRegistry)
appGauge.Update(1)

    saramaConfig := sarama.NewConfig()
    saramaConfig.Version = <BrokerVersion>

    // set it here
    saramaConfig.MetricRegistry = metrics.NewPrefixedChildRegistry(appMetricRegistry, "sarama.")


    client, err := sarama.NewClient(<brokerAddresses>, saramaConfig)
    if err != nil {
        log.Println("Unable to create sarama client")
        panic(err)
    }
    config := client.Config()

    MeanIncomingByteRate := metrics.GetOrRegisterMeter(getMetricNameForTopic("incoming-byte-rate", topic), config.MetricRegistry).RateMean(),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68160321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档