com.landoop.lenses.topology.client.pulsar.metrics.ProducerMetricsBuilder Maven / Gradle / Ivy
package com.landoop.lenses.topology.client.pulsar.metrics;
import com.landoop.lenses.topology.client.metrics.Metrics;
import com.landoop.lenses.topology.client.metrics.MetricsBuilder;
import org.apache.pulsar.client.api.Producer;
public class ProducerMetricsBuilder implements MetricsBuilder {
private final Producer producer;
public ProducerMetricsBuilder(Producer producer) {
this.producer = producer;
}
@Override
public Metrics build(String appName, String topic) {
Metrics metrics = new Metrics(appName, topic);
metrics.setMessageSentTotal(producer.getStats().getTotalMsgsSent());
metrics.setMessageErrorTotal(producer.getStats().getTotalSendFailed());
metrics.setBytesSentPerSecond(producer.getStats().getSendBytesRate());
metrics.setMessagesSentPerSecond(producer.getStats().getSendMsgsRate());
return metrics;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy