gpt4 book ai didi

jmx - 如何为自定义处理器定义新指标(并使它们在 jconsole 中可用)?

转载 作者:行者123 更新时间:2023-12-05 04:07:24 26 4
gpt4 key购买 nike

我有一个应该生成 kstream JMX 指标的处理器:

public class ProcessorJMX implements Processor<String, GenericRecord> {
private StreamsMetrics streamsMetrics;
private Sensor sensorStartTs;

@Override
public void init(ProcessorContext processorContext) {
streamsMetrics = processorContext.metrics();
sensorStartTs = streamsMetrics.addSensor("start_ts", Sensor.RecordingLevel.INFO);
}
@Override
public void process(String key, GenericRecord val) {
streamsMetrics.recordThroughput(sensorStartTs, Long.valueOf(val.get("start_ts").toString()));
}
@Override
public void punctuate(long l) { }

@Override
public void close() { }
}

然后我在我的输出主题上使用它并开始我的集成测试。但是当我查看 jconsole 时,我在任何地方都看不到这个指标。我在哪里可以在 MBean 下的 jconsole 中找到它?

在它变得可见之前我是否必须做其他事情?

enter image description here

这是我正在使用的属性:

Properties testProperties = new Properties();
testProperties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG,
CLUSTER.bootstrapServers());
testProperties.put("confluent.metrics.reporter.bootstrap.servers", CLUSTER.bootstrapServers());
testProperties.put("metrics.recording.level", "DEBUG");
testProperties.put("metric.reporters", "org.apache.kafka.common.metrics.JmxReporter");

这个配置有什么问题?

最佳答案

以下是我添加到init中的内容:

@Override
public void init(ProcessorContext processorContext) {
streamsMetrics = processorContext.metrics();

Map<String, String> metricTags = new HashMap<String, String>();
metricTags.put("metricTagKey", "metricsTagVal");

MetricConfig metricConfig = new MetricConfig().tags(metricTags);
Metrics metrics = new Metrics(metricConfig);
sensorStartTs = metrics.sensor("start_ts");
MetricName metricName = metrics.metricName("x-name", "x-group", "x-description");
sensorStartTs = streamsMetrics.addSensor("start_ts", Sensor.RecordingLevel.INFO);
sensorStartTs.add(metricName, new Min());
}

enter image description here

MetricName类帮助。

关于jmx - 如何为自定义处理器定义新指标(并使它们在 jconsole 中可用)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48745642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com