aeron-client/src/main/java/io/aeron/Aeron.java
public Counter addCounter(
        final int typeId,
        final DirectBuffer keyBuffer,
        final int keyOffset,
        final int keyLength,
        final DirectBuffer labelBuffer,
        final int labelOffset,
        final int labelLength)
    {
        return conductor.addCounter(typeId, keyBuffer, keyOffset, keyLength, labelBuffer, labelOffset, labelLength);
    }
public Counter addCounter(
        final int typeId,
        final DirectBuffer keyBuffer,
        final int keyOffset,
        final int keyLength,
        final DirectBuffer labelBuffer,
        final int labelOffset,
        final int labelLength)
    {
        return conductor.addCounter(typeId, keyBuffer, keyOffset, keyLength, labelBuffer, labelOffset, labelLength);
    }
public Counter addCounter ( final int typeId , final DirectBuffer keyBuffer , final int keyOffset , final int keyLength , final DirectBuffer labelBuffer , final int labelOffset , final int labelLength ) { return conductor . addCounter ( typeId , keyBuffer , keyOffset , keyLength , labelBuffer , labelOffset , labelLength ) ; }
Allocate a counter on the media driver and return a {@link Counter} for it.
<p>
The counter should be freed by calling {@link Counter#close()}.

@param typeId      for the counter.
@param keyBuffer   containing the optional key for the counter.
@param keyOffset   within the keyBuffer at which the key begins.
@param keyLength   of the key in the keyBuffer.
@param labelBuffer containing the mandatory label for the counter. The label should not be length prefixed.
@param labelOffset within the labelBuffer at which the label begins.
@param labelLength of the label in the labelBuffer.
@return the newly allocated counter.
@see org.agrona.concurrent.status.CountersManager#allocate(int, DirectBuffer, int, int, DirectBuffer, int, int)
Allocate a counter on the media driver and return a { @link Counter } for it . <p > The counter should be freed by calling { @link Counter#close () } .