private void updateMeters(Subscription subscription) { hermesMetrics.meter(Meters.DISCARDED_METER).mark(); hermesMetrics.meter(Meters.DISCARDED_TOPIC_METER, subscription.getTopicName()).mark(); hermesMetrics.meter(Meters.DISCARDED_SUBSCRIPTION_METER, subscription.getTopicName(), subscription.getName()).mark(); }
private void updateMeters(Subscription subscription) { hermesMetrics.meter(Meters.DISCARDED_METER).mark(); hermesMetrics.meter(Meters.DISCARDED_TOPIC_METER, subscription.getTopicName()).mark(); hermesMetrics.meter(Meters.DISCARDED_SUBSCRIPTION_METER, subscription.getTopicName(), subscription.getName()).mark(); }
private void updateMeters(Message message, Subscription subscription, MessageSendingResult result) { hermesMetrics.meter(Meters.METER).mark(); hermesMetrics.meter(Meters.TOPIC_METER, subscription.getTopicName()).mark(); hermesMetrics.meter(Meters.SUBSCRIPTION_METER, subscription.getTopicName(), subscription.getName()).mark(); hermesMetrics.meter( Meters.SUBSCRIPTION_THROUGHPUT_BYTES, subscription.getTopicName(), subscription.getName()) .mark(message.getSize()); hermesMetrics.registerConsumerHttpAnswer(subscription, result.getStatusCode()); } }
private void updateMeters(Message message, Subscription subscription, MessageSendingResult result) { hermesMetrics.meter(Meters.METER).mark(); hermesMetrics.meter(Meters.TOPIC_METER, subscription.getTopicName()).mark(); hermesMetrics.meter(Meters.SUBSCRIPTION_METER, subscription.getTopicName(), subscription.getName()).mark(); hermesMetrics.meter( Meters.SUBSCRIPTION_THROUGHPUT_BYTES, subscription.getTopicName(), subscription.getName()) .mark(message.getSize()); hermesMetrics.registerConsumerHttpAnswer(subscription, result.getStatusCode()); } }
public void markDiscarded(MessageMetadata messageMetadata, Subscription subscription, String reason) { TopicName topicName = fromQualifiedName(messageMetadata.getTopic()); metrics.counter(Counters.DISCARDED, topicName, messageMetadata.getSubscription()).inc(); metrics.meter(Meters.DISCARDED_METER).mark(); metrics.meter(Meters.DISCARDED_TOPIC_METER, topicName).mark(); metrics.meter(Meters.DISCARDED_SUBSCRIPTION_METER, topicName, messageMetadata.getSubscription()).mark(); metrics.decrementInflightCounter(subscription); trackers.get(subscription).logDiscarded(messageMetadata, reason); } }
public void markDiscarded(MessageMetadata messageMetadata, Subscription subscription, String reason) { TopicName topicName = fromQualifiedName(messageMetadata.getTopic()); metrics.counter(Counters.DISCARDED, topicName, messageMetadata.getSubscription()).inc(); metrics.meter(Meters.DISCARDED_METER).mark(); metrics.meter(Meters.DISCARDED_TOPIC_METER, topicName).mark(); metrics.meter(Meters.DISCARDED_SUBSCRIPTION_METER, topicName, messageMetadata.getSubscription()).mark(); metrics.decrementInflightCounter(subscription); trackers.get(subscription).logDiscarded(messageMetadata, reason); } }
public void markDiscarded(MessageBatch batch, Subscription subscription, String reason) { metrics.counter(Counters.DISCARDED, subscription.getTopicName(), subscription.getName()).inc(batch.size()); metrics.meter(Meters.DISCARDED_METER).mark(batch.size()); metrics.meter(Meters.DISCARDED_TOPIC_METER, subscription.getTopicName()).mark(batch.size()); metrics.meter(Meters.DISCARDED_SUBSCRIPTION_METER, subscription.getTopicName(), subscription.getName()).mark(batch.size()); batch.getMessagesMetadata().forEach(m -> trackers.get(subscription).logDiscarded(m, reason)); }
private void markDelivered(MessageBatch batch, Subscription subscription, MessageSendingResult result) { metrics.registerConsumerHttpAnswer(subscription, result.getStatusCode()); metrics.meter(METER).mark(batch.size()); metrics.meter(TOPIC_METER, subscription.getTopicName()).mark(batch.size()); metrics.meter(SUBSCRIPTION_METER, subscription.getTopicName(), subscription.getName()).mark(batch.size()); metrics.meter(SUBSCRIPTION_BATCH_METER, subscription.getTopicName(), subscription.getName()).mark(); metrics.counter(Counters.DELIVERED, subscription.getTopicName(), subscription.getName()).inc(batch.size()); batch.getMessagesMetadata().forEach(m -> trackers.get(subscription).logSent(m, result.getHostname())); }
public void markDiscarded(MessageBatch batch, Subscription subscription, String reason) { metrics.counter(Counters.DISCARDED, subscription.getTopicName(), subscription.getName()).inc(batch.size()); metrics.meter(Meters.DISCARDED_METER).mark(batch.size()); metrics.meter(Meters.DISCARDED_TOPIC_METER, subscription.getTopicName()).mark(batch.size()); metrics.meter(Meters.DISCARDED_SUBSCRIPTION_METER, subscription.getTopicName(), subscription.getName()).mark(batch.size()); batch.getMessagesMetadata().forEach(m -> trackers.get(subscription).logDiscarded(m, reason)); }
private void updateMetrics(Subscription subscription) { metrics.meter(Meters.FILTERED_METER, subscription.getTopicName(), subscription.getName()).mark(); metrics.counter(Counters.FILTERED, subscription.getTopicName(), subscription.getName()).inc(); } }
private void markDelivered(MessageBatch batch, Subscription subscription, MessageSendingResult result) { metrics.registerConsumerHttpAnswer(subscription, result.getStatusCode()); metrics.meter(METER).mark(batch.size()); metrics.meter(TOPIC_METER, subscription.getTopicName()).mark(batch.size()); metrics.meter(SUBSCRIPTION_METER, subscription.getTopicName(), subscription.getName()).mark(batch.size()); metrics.meter(SUBSCRIPTION_BATCH_METER, subscription.getTopicName(), subscription.getName()).mark(); metrics.counter(Counters.DELIVERED, subscription.getTopicName(), subscription.getName()).inc(batch.size()); batch.getMessagesMetadata().forEach(m -> trackers.get(subscription).logSent(m, result.getHostname())); }
private void updateMetrics(Subscription subscription) { metrics.meter(Meters.FILTERED_METER, subscription.getTopicName(), subscription.getName()).mark(); metrics.counter(Counters.FILTERED, subscription.getTopicName(), subscription.getName()).inc(); } }
@Override public void handleFailed(Message message, Subscription subscription, MessageSendingResult result) { hermesMetrics.meter(Meters.FAILED_METER_SUBSCRIPTION, subscription.getTopicName(), subscription.getName()).mark(); registerFailureMetrics(subscription, result); hermesMetrics.meter( Meters.SUBSCRIPTION_THROUGHPUT_BYTES, subscription.getTopicName(), subscription.getName()) .mark(message.getSize()); trackers.get(subscription).logFailed(toMessageMetadata(message, subscription), result.getRootCause(), result.getHostname()); }
@Override public void handleFailed(Message message, Subscription subscription, MessageSendingResult result) { hermesMetrics.meter(Meters.FAILED_METER_SUBSCRIPTION, subscription.getTopicName(), subscription.getName()).mark(); registerFailureMetrics(subscription, result); hermesMetrics.meter( Meters.SUBSCRIPTION_THROUGHPUT_BYTES, subscription.getTopicName(), subscription.getName()) .mark(message.getSize()); trackers.get(subscription).logFailed(toMessageMetadata(message, subscription), result.getRootCause(), result.getHostname()); }
private void setUpMetrics(Subscription subscription) { when(hermesMetrics.latencyTimer(subscription)).thenReturn(consumerLatencyTimer); when(hermesMetrics.consumerErrorsOtherMeter(subscription)).thenReturn(errors); when(consumerLatencyTimer.time()).thenReturn(consumerLatencyTimerContext); when(hermesMetrics.meter(Meters.FAILED_METER_SUBSCRIPTION, subscription.getTopicName(), subscription.getName())).thenReturn(failedMeter); }
private void markFailed(MessageBatch batch, Subscription subscription, MessageSendingResult result) { metrics.meter(Meters.FAILED_METER_SUBSCRIPTION, subscription.getTopicName(), subscription.getName()).mark(); if (result.hasHttpAnswer()) { metrics.registerConsumerHttpAnswer(subscription, result.getStatusCode()); } else if (result.isTimeout()) { metrics.consumerErrorsTimeoutMeter(subscription).mark(); } else { metrics.consumerErrorsOtherMeter(subscription).mark(); } batch.getMessagesMetadata().forEach(m -> trackers.get(subscription).logFailed(m, result.getRootCause(), result.getHostname())); }
private void markFailed(MessageBatch batch, Subscription subscription, MessageSendingResult result) { metrics.meter(Meters.FAILED_METER_SUBSCRIPTION, subscription.getTopicName(), subscription.getName()).mark(); if (result.hasHttpAnswer()) { metrics.registerConsumerHttpAnswer(subscription, result.getStatusCode()); } else if (result.isTimeout()) { metrics.consumerErrorsTimeoutMeter(subscription).mark(); } else { metrics.consumerErrorsOtherMeter(subscription).mark(); } batch.getMessagesMetadata().forEach(m -> trackers.get(subscription).logFailed(m, result.getRootCause(), result.getHostname())); }
public CachedTopic(Topic topic, HermesMetrics hermesMetrics, KafkaTopics kafkaTopics, boolean blacklisted) { this.topic = topic; this.kafkaTopics = kafkaTopics; this.hermesMetrics = hermesMetrics; this.blacklisted = blacklisted; globalRequestMeter = hermesMetrics.meter(Meters.METER); topicRequestMeter = hermesMetrics.meter(Meters.TOPIC_METER, topic.getName()); globalDelayedProcessingMeter = hermesMetrics.meter(Meters.DELAYED_PROCESSING); topicDelayedProcessingMeter = hermesMetrics.meter(Meters.TOPIC_DELAYED_PROCESSING, topic.getName()); globalRequestReadLatencyTimer = hermesMetrics.timer(Timers.PARSING_REQUEST); topicRequestReadLatencyTimer = hermesMetrics.timer(Timers.TOPIC_PARSING_REQUEST, topic.getName()); globalMessageCreationTimer = hermesMetrics.timer(Timers.MESSAGE_CREATION_LATENCY); topicMessageCreationTimer = hermesMetrics.timer(Timers.MESSAGE_CREATION_TOPIC_LATENCY, topic.getName()); topicMessageContentSize = hermesMetrics.messageContentSizeHistogram(topic.getName()); globalMessageContentSize = hermesMetrics.messageContentSizeHistogram(); published = hermesMetrics.counter(Counters.PUBLISHED, topic.getName()); globalThroughputMeter = hermesMetrics.meter(Meters.THROUGHPUT_BYTES); topicThroughputMeter = hermesMetrics.meter(Meters.TOPIC_THROUGHPUT_BYTES, topic.getName()); if (Topic.Ack.ALL.equals(topic.getAck())) { topicProducerLatencyTimer = hermesMetrics.timer(Timers.ACK_ALL_LATENCY); globalProducerLatencyTimer = hermesMetrics.timer(Timers.ACK_ALL_TOPIC_LATENCY, topic.getName()); topicBrokerLatencyTimer = hermesMetrics.timer(Timers.ACK_ALL_BROKER_LATENCY); globalBrokerLatencyTimer = hermesMetrics.timer(Timers.ACK_ALL_BROKER_TOPIC_LATENCY, topic.getName()); } else { topicProducerLatencyTimer = hermesMetrics.timer(Timers.ACK_LEADER_LATENCY); globalProducerLatencyTimer = hermesMetrics.timer(Timers.ACK_LEADER_TOPIC_LATENCY, topic.getName()); topicBrokerLatencyTimer = hermesMetrics.timer(Timers.ACK_LEADER_BROKER_LATENCY); globalBrokerLatencyTimer = hermesMetrics.timer(Timers.ACK_LEADER_BROKER_TOPIC_LATENCY, topic.getName()); } }
@Override public ThroughputLimiter provide() { switch (ThroughputLimiterType.valueOf(configs.getStringProperty(Configs.FRONTEND_THROUGHPUT_TYPE).toUpperCase())) { case UNLIMITED: return (a, b) -> quotaConfirmed(); case FIXED: return new FixedThroughputLimiter(configs.getLongProperty(Configs.FRONTEND_THROUGHPUT_FIXED_MAX)); case DYNAMIC: return new DynamicThroughputLimiter( configs.getLongProperty(Configs.FRONTEND_THROUGHPUT_DYNAMIC_MAX), configs.getLongProperty(Configs.FRONTEND_THROUGHPUT_DYNAMIC_THRESHOLD), configs.getLongProperty(Configs.FRONTEND_THROUGHPUT_DYNAMIC_DESIRED), configs.getDoubleProperty(Configs.FRONTEND_THROUGHPUT_DYNAMIC_IDLE), configs.getIntProperty(Configs.FRONTEND_THROUGHPUT_DYNAMIC_CHECK_INTERVAL), hermesMetrics.meter(Meters.THROUGHPUT_BYTES), getExecutor() ); default: throw new IllegalArgumentException("Unknown throughput limiter type."); } }