public class ThroughputQueue<E> extends Object implements BlockingQueue<E>, ThroughputQueueMXBean
BlockingQueue implementation that allows the measure measurement of how
data flows through the queue. Is also a MBean so the flow statistics can be viewed through
JMX. Registration of the bean happens whenever a constructor receives a non-null id.
!!! Warning !!!
Only the necessary methods for the local streams runtime are implemented. All other methods throw a
NotImplementedException.| Modifier and Type | Field and Description |
|---|---|
static String |
NAME_TEMPLATE |
| Constructor and Description |
|---|
ThroughputQueue()
Creates an unbounded, unregistered
ThroughputQueue |
ThroughputQueue(int maxSize)
Creates a bounded, unregistered
ThroughputQueue |
ThroughputQueue(int maxSize,
String id) |
ThroughputQueue(int maxSize,
String streamIdentifier,
long startedAt) |
ThroughputQueue(int maxSize,
String id,
String streamIdentifier,
long startedAt)
Creates a bounded, registered
ThroughputQueue |
ThroughputQueue(String id)
Creates an unbounded, registered
ThroughputQueue |
ThroughputQueue(String streamIdentifier,
long startedAt) |
ThroughputQueue(String id,
String streamIdentifier,
long startedAt) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(E e) |
boolean |
addAll(Collection<? extends E> c) |
void |
clear() |
boolean |
contains(Object o) |
boolean |
containsAll(Collection<?> c) |
int |
drainTo(Collection<? super E> c) |
int |
drainTo(Collection<? super E> c,
int maxElements) |
E |
element() |
long |
getAdded()
Get the number of items that have been added to the queue
|
double |
getAvgWait()
If elements have been removed from the queue or no elements have been added, it returns the average wait time
in milliseconds.
|
long |
getCurrentSize()
Returns the number of items on the queue.
|
long |
getMaxWait()
Get the maximum time an item has spent on the queue before being removed from the queue.
|
long |
getRemoved()
Get the number of items that have been removed from this queue
|
double |
getThroughput()
Get the the throughput of the queue measured by the number of items removed from the queue
dived by the time the queue has been active.
|
boolean |
isEmpty() |
Iterator<E> |
iterator() |
boolean |
offer(E e) |
boolean |
offer(E e,
long timeout,
TimeUnit unit) |
E |
peek() |
E |
poll() |
E |
poll(long timeout,
TimeUnit unit) |
void |
put(E e) |
int |
remainingCapacity() |
E |
remove() |
boolean |
remove(Object o) |
boolean |
removeAll(Collection<?> c) |
boolean |
retainAll(Collection<?> c) |
int |
size() |
E |
take() |
Object[] |
toArray() |
<T> T[] |
toArray(T[] a) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitequals, hashCode, parallelStream, removeIf, spliterator, streampublic static final String NAME_TEMPLATE
public ThroughputQueue()
ThroughputQueuepublic ThroughputQueue(String streamIdentifier, long startedAt)
streamIdentifier - startedAt - public ThroughputQueue(int maxSize)
ThroughputQueuemaxSize - maximum capacity of queue, if maxSize < 1 then unboundedpublic ThroughputQueue(int maxSize,
String streamIdentifier,
long startedAt)
maxSize - streamIdentifier - startedAt - public ThroughputQueue(String id)
ThroughputQueueid - unique id for this queue to be registered with. if id == NULL then not registeredpublic ThroughputQueue(String id, String streamIdentifier, long startedAt)
id - streamIdentifier - startedAt - public ThroughputQueue(int maxSize,
String id)
maxSize - id - public ThroughputQueue(int maxSize,
String id,
String streamIdentifier,
long startedAt)
ThroughputQueuemaxSize - maximum capacity of queue, if maxSize < 1 then unboundedid - unique id for this queue to be registered with. if id == NULL then not registeredpublic boolean add(E e)
add in interface Collection<E>add in interface BlockingQueue<E>add in interface Queue<E>public boolean offer(E e)
public void put(E e) throws InterruptedException
put in interface BlockingQueue<E>InterruptedExceptionpublic boolean offer(E e, long timeout, TimeUnit unit) throws InterruptedException
offer in interface BlockingQueue<E>InterruptedExceptionpublic E take() throws InterruptedException
take in interface BlockingQueue<E>InterruptedExceptionpublic E poll(long timeout, TimeUnit unit) throws InterruptedException
poll in interface BlockingQueue<E>InterruptedExceptionpublic int remainingCapacity()
remainingCapacity in interface BlockingQueue<E>public boolean remove(Object o)
remove in interface Collection<E>remove in interface BlockingQueue<E>public boolean contains(Object o)
contains in interface Collection<E>contains in interface BlockingQueue<E>public int drainTo(Collection<? super E> c)
drainTo in interface BlockingQueue<E>public int drainTo(Collection<? super E> c, int maxElements)
drainTo in interface BlockingQueue<E>public int size()
size in interface Collection<E>public boolean isEmpty()
isEmpty in interface Collection<E>public Object[] toArray()
toArray in interface Collection<E>public <T> T[] toArray(T[] a)
toArray in interface Collection<E>public boolean containsAll(Collection<?> c)
containsAll in interface Collection<E>public boolean addAll(Collection<? extends E> c)
addAll in interface Collection<E>public boolean removeAll(Collection<?> c)
removeAll in interface Collection<E>public boolean retainAll(Collection<?> c)
retainAll in interface Collection<E>public void clear()
clear in interface Collection<E>public long getCurrentSize()
ThroughputQueueMXBeangetCurrentSize in interface ThroughputQueueMXBeanpublic double getAvgWait()
getAvgWait in interface ThroughputQueueMXBeanpublic long getMaxWait()
ThroughputQueueMXBeangetMaxWait in interface ThroughputQueueMXBeanpublic long getRemoved()
ThroughputQueueMXBeangetRemoved in interface ThroughputQueueMXBeanpublic long getAdded()
ThroughputQueueMXBeangetAdded in interface ThroughputQueueMXBeanpublic double getThroughput()
ThroughputQueueMXBeangetThroughput in interface ThroughputQueueMXBeanCopyright © 2012–2016 The Apache Software Foundation. All rights reserved.