All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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