pl.allegro.tech.hermes.api.SubscriptionMetrics Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hermes-api Show documentation
Show all versions of hermes-api Show documentation
Fast and reliable message broker built on top of Kafka.
package pl.allegro.tech.hermes.api;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
public class SubscriptionMetrics {
private long delivered;
private long discarded;
private long volume;
private MetricDecimalValue timeouts;
private MetricDecimalValue otherErrors;
private MetricDecimalValue codes2xx;
private MetricDecimalValue codes4xx;
private MetricDecimalValue codes5xx;
private MetricDecimalValue retries;
private MetricLongValue lag;
private Subscription.State state;
private MetricDecimalValue rate;
private MetricDecimalValue throughput;
private MetricDecimalValue batchRate;
private SubscriptionMetrics() {
}
@JsonCreator
public SubscriptionMetrics(@JsonProperty("delivered") long delivered,
@JsonProperty("discarded") long discarded,
@JsonProperty("volume") long volume,
@JsonProperty("timeouts") MetricDecimalValue timeouts,
@JsonProperty("otherErrors") MetricDecimalValue otherErrors,
@JsonProperty("codes2xx") MetricDecimalValue codes2xx,
@JsonProperty("codes4xx") MetricDecimalValue codes4xx,
@JsonProperty("codes5xx") MetricDecimalValue codes5xx,
@JsonProperty("retries") MetricDecimalValue retries,
@JsonProperty("Subscription") Subscription.State state,
@JsonProperty("rate") MetricDecimalValue rate,
@JsonProperty("throughput") MetricDecimalValue throughput,
@JsonProperty("batchRate") MetricDecimalValue batchRate) {
this.delivered = delivered;
this.discarded = discarded;
this.volume = volume;
this.timeouts = timeouts;
this.otherErrors = otherErrors;
this.codes2xx = codes2xx;
this.codes4xx = codes4xx;
this.codes5xx = codes5xx;
this.retries = retries;
this.state = state;
this.rate = rate;
this.throughput = throughput;
this.batchRate = batchRate;
}
public long getDelivered() {
return delivered;
}
public long getDiscarded() {
return discarded;
}
public MetricDecimalValue getTimeouts() {
return timeouts;
}
public MetricLongValue getLag() {
return lag;
}
public MetricDecimalValue getRate() {
return rate;
}
public MetricDecimalValue getOtherErrors() {
return otherErrors;
}
public MetricDecimalValue getCodes2xx() {
return codes2xx;
}
public MetricDecimalValue getCodes4xx() {
return codes4xx;
}
public MetricDecimalValue getCodes5xx() {
return codes5xx;
}
public MetricDecimalValue getRetries() {
return retries;
}
public Subscription.State getState() {
return state;
}
public MetricDecimalValue getThroughput() {
return throughput;
}
public MetricDecimalValue getBatchRate() {
return batchRate;
}
public long getVolume() {
return volume;
}
public static class Builder {
private SubscriptionMetrics subscriptionMetrics;
public Builder() {
subscriptionMetrics = new SubscriptionMetrics();
}
public Builder withDelivered(long delivered) {
subscriptionMetrics.delivered = delivered;
return this;
}
public Builder withDiscarded(long discarded) {
subscriptionMetrics.discarded = discarded;
return this;
}
public Builder withVolume(long volume) {
subscriptionMetrics.volume = volume;
return this;
}
public Builder withOtherErrors(MetricDecimalValue otherErrors) {
subscriptionMetrics.otherErrors = otherErrors;
return this;
}
public Builder withTimeouts(MetricDecimalValue timeouts) {
subscriptionMetrics.timeouts = timeouts;
return this;
}
public Builder withCodes2xx(MetricDecimalValue count) {
subscriptionMetrics.codes2xx = count;
return this;
}
public Builder withCodes4xx(MetricDecimalValue count) {
subscriptionMetrics.codes4xx = count;
return this;
}
public Builder withCodes5xx(MetricDecimalValue count) {
subscriptionMetrics.codes5xx = count;
return this;
}
public Builder withRetries(MetricDecimalValue retries) {
subscriptionMetrics.retries = retries;
return this;
}
public Builder withRate(MetricDecimalValue rate) {
subscriptionMetrics.rate = rate;
return this;
}
public Builder withState(Subscription.State state) {
subscriptionMetrics.state = state;
return this;
}
public Builder withLag(MetricLongValue lag) {
subscriptionMetrics.lag = lag;
return this;
}
public Builder withThroughput(MetricDecimalValue throughput) {
subscriptionMetrics.throughput = throughput;
return this;
}
public Builder withBatchRate(MetricDecimalValue batchRate) {
subscriptionMetrics.batchRate = batchRate;
return this;
}
public static Builder subscriptionMetrics() {
return new Builder();
}
public SubscriptionMetrics build() {
return subscriptionMetrics;
}
}
}