org.apache.activemq.broker.view.BrokerDestinationView Maven / Gradle / Ivy
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.activemq.broker.view;
import org.apache.activemq.broker.region.Destination;
public class BrokerDestinationView {
private final Destination destination;
BrokerDestinationView(Destination destination) {
this.destination = destination;
}
/**
* @return the name of the DestinationView
*/
public String getName() {
return destination.getName();
}
/**
* @return the number of messages enqueued by this destination
*/
public long getEnqueueCount() {
return destination.getDestinationStatistics().getEnqueues().getCount();
}
/**
* @return the number of messages dequeued (dispatched and removed) by this destination
*/
public long getDequeueCount() {
return destination.getDestinationStatistics().getDequeues().getCount();
}
/**
* @return the number of messages dispatched by this destination
*/
public long getDispatchCount() {
return destination.getDestinationStatistics().getDispatched().getCount();
}
/**
* @return the number of messages inflight (dispatched by not acknowledged) by this destination
*/
public long getInFlightCount() {
return destination.getDestinationStatistics().getInflight().getCount();
}
/**
* @return the number of messages expired by this destination
*/
public long getExpiredCount() {
return destination.getDestinationStatistics().getExpired().getCount();
}
/**
* @return the number of active consumers on this destination
*/
public int getConsumerCount() {
return (int)destination.getDestinationStatistics().getConsumers().getCount();
}
/**
* @return the number of active consumers on this destination
*/
public int getProducerCount() {
return (int)destination.getDestinationStatistics().getProducers().getCount();
}
/**
* @return the depth of the Destination
*/
public long getQueueSize() {
return destination.getDestinationStatistics().getMessages().getCount();
}
/**
* @return the number of messages cached in memory by this destination
*/
public long getMessagesCached() {
return destination.getDestinationStatistics().getMessagesCached().getCount();
}
/**
* @return the memory usage as a percentage for this Destination
*/
public int getMemoryPercentUsage() {
return destination.getMemoryUsage().getPercentUsage();
}
/**
* @return the memory used by this destination in bytes
*/
public long getMemoryUsageByteCount() {
return destination.getMemoryUsage().getUsage();
}
/**
* @return the memory limit for this destination in bytes
*/
public long getMemoryLimit() {
return destination.getMemoryUsage().getLimit();
}
/**
* Gets the temp usage as a percentage for this Destination.
*
* @return Gets the temp usage as a percentage for this Destination.
*/
public int getTempPercentUsage() {
return destination.getTempUsage().getPercentUsage();
}
/**
* Gets the temp usage limit in bytes.
*
* @return the temp usage limit in bytes.
*/
public long getTempUsageLimit() {
return destination.getTempUsage().getLimit();
}
/**
* @return the average time it takes to store a message on this destination (ms)
*/
public double getAverageEnqueueTime() {
return destination.getDestinationStatistics().getProcessTime().getAverageTime();
}
/**
* @return the maximum time it takes to store a message on this destination (ms)
*/
public long getMaxEnqueueTime() {
return destination.getDestinationStatistics().getProcessTime().getMaxTime();
}
/**
* @return the minimum time it takes to store a message on this destination (ms)
*/
public long getMinEnqueueTime() {
return destination.getDestinationStatistics().getProcessTime().getMinTime();
}
/**
* @return the average size of a message (bytes)
*/
public double getAverageMessageSize() {
return destination.getDestinationStatistics().getMessageSize().getAverageSize();
}
/**
* @return the max size of a message (bytes)
*/
public long getMaxMessageSize() {
return destination.getDestinationStatistics().getMessageSize().getMaxSize();
}
/**
* @return the min size of a message (bytes)
*/
public long getMinMessageSize() {
return destination.getDestinationStatistics().getMessageSize().getMinSize();
}
/**
* @return true if the destination is a Dead Letter Queue
*/
public boolean isDLQ() {
return destination.getActiveMQDestination().isDLQ();
}
/**
* @return the number of messages blocked waiting for dispatch (indication of slow consumption if greater than zero)
*/
public long getBlockedSends() {
return destination.getDestinationStatistics().getBlockedSends().getCount();
}
/**
* @return the average time(ms) messages are blocked waiting for dispatch (indication of slow consumption if greater than zero)
*/
public double getAverageBlockedTime() {
return destination.getDestinationStatistics().getBlockedTime().getAverageTime();
}
/**
* @return the total time(ms) messages are blocked waiting for dispatch (indication of slow consumption if greater than zero)
*/
public long getTotalBlockedTime() {
return destination.getDestinationStatistics().getBlockedTime().getTotalTime();
}
}